#!/usr/bin/env python3
import collections
import itertools as it
import math
#import numpy as np
import re
 
s = input()
k = int(input())
#  = map(int, input().split())
#  = list(map(int, input().split()))
#  = [int(input()) for i in range(N)]
#
c = collections.Counter(s)

def nchars(s, n):
    """文字列 s に、同じ文字が n 個以上連続している部分文字列を見つける
    """
    assert n > 0
    reg = re.compile("(.)\\1{%d,}" % (n - 1))  # カンマを取ると n 個ちょうどになる
    while True:
        m = reg.search(s)
        if not m:
            break
        yield m.group(0)
        s = s[m.end():]

ans = 0

chains = list(nchars(s, 2))

if len(c) == 1:
    print(len(s) * k // 2)
else:
    #print(chains)
    #print(len(chains[0]), len(chains[-1]), k)
    for r in chains:
        ans += len(r) // 2

    if chains and chains[0] == chains[-1]:
        print(ans * k + (k - 1 if chains[0] == chains[-1] else 0))
    else:
        print(ans * k) import collections collections import itertools as it itertools import math math import re re s = input() s input() input k = int(input()) k int(input()) int input() input c = collections.Counter(s) c collections.Counter(s) collections.Counter collections Counter s def nchars(s, n):
    """文字列 s に、同じ文字が n 個以上連続している部分文字列を見つける
    """
    assert n > 0
    reg = re.compile("(.)\\1{%d,}" % (n - 1))  # カンマを取ると n 個ちょうどになる
    while True:
        m = reg.search(s)
        if not m:
            break
        yield m.group(0)
        s = s[m.end():] nchars """文字列 s に、同じ文字が n 個以上連続している部分文字列を見つける
    """ assert n > 0 n > 0 n 0 reg = re.compile("(.)\\1{%d,}" % (n - 1)) reg re.compile("(.)\\1{%d,}" % (n - 1)) re.compile re compile "(.)\\1{%d,}" % (n - 1) "(.)\\1{%d,}" n - 1 n 1 while True:
        m = reg.search(s)
        if not m:
            break
        yield m.group(0)
        s = s[m.end():] True m = reg.search(s) m reg.search(s) reg.search reg search s if not m:
            break
         not m m break yield m.group(0) m.group(0) m.group m group 0 s = s[m.end():] s s[m.end():] s m.end(): m.end() m.end m end s s n n ans = 0 ans 0 chains = list(nchars(s, 2)) chains list(nchars(s, 2)) list nchars(s, 2) nchars s 2 if len(c) == 1:
    print(len(s) * k // 2)
else:
    #print(chains)
    #print(len(chains[0]), len(chains[-1]), k)
    for r in chains:
        ans += len(r) // 2

    if chains and chains[0] == chains[-1]:
        print(ans * k + (k - 1 if chains[0] == chains[-1] else 0))
    else:
        print(ans * k) len(c) == 1 len(c) len c 1 print(len(s) * k // 2) print len(s) * k // 2 len(s) * k len(s) len s k 2 for r in chains:
        ans += len(r) // 2

     r chains ans += len(r) // 2 ans len(r) // 2 len(r) len r 2 if chains and chains[0] == chains[-1]:
        print(ans * k + (k - 1 if chains[0] == chains[-1] else 0))
    else:
        print(ans * k) chains and chains[0] == chains[-1] chains chains[0] == chains[-1] chains[0] chains 0 chains[-1] chains -1 print(ans * k + (k - 1 if chains[0] == chains[-1] else 0)) print ans * k + (k - 1 if chains[0] == chains[-1] else 0) ans * k ans k k - 1 if chains[0] == chains[-1] else 0 chains[0] == chains[-1] chains[0] chains 0 chains[-1] chains -1 k - 1 k 1 0 print(ans * k) print ans * k ans k ans += len(r) // 2 len(r) // 2 ans def nchars(s, n):
    """文字列 s に、同じ文字が n 個以上連続している部分文字列を見つける
    """
    assert n > 0
    reg = re.compile("(.)\\1{%d,}" % (n - 1))  # カンマを取ると n 個ちょうどになる
    while True:
        m = reg.search(s)
        if not m:
            break
        yield m.group(0)
        s = s[m.end():] def nchars(s, n):
    """文字列 s に、同じ文字が n 個以上連続している部分文字列を見つける
    """
    assert n > 0
    reg = re.compile("(.)\\1{%d,}" % (n - 1))  # カンマを取ると n 個ちょうどになる
    while True:
        m = reg.search(s)
        if not m:
            break
        yield m.group(0)
        s = s[m.end():] nchars c = collections.Counter(s) collections.Counter(s) c k = int(input()) int(input()) k s = input() input() s chains = list(nchars(s, 2)) list(nchars(s, 2)) chains ans = 0 0 ans
#!/usr/bin/env python3
import collections
import itertools as it
import math
#import numpy as np
import re
 
s = input()
k = int(input())
#  = map(int, input().split())
#  = list(map(int, input().split()))
#  = [int(input()) for i in range(N)]
#
c = collections.Counter(s)

def nchars(s, n):
    """文字列 s に、同じ文字が n 個以上連続している部分文字列を見つける
    """
    assert n > 0
    reg = re.compile("(.)\\1{%d,}" % (n - 1))  # カンマを取ると n 個ちょうどになる
    while True:
        m = reg.search(s)
        if not m:
            break
        yield m.group(0)
        s = s[m.end():]

ans = 0

chains = list(nchars(s, 2))

if len(c) == 1:
    print(len(s) * k // 2)
else:
    #print(chains)
    #print(len(chains[0]), len(chains[-1]), k)
    for r in chains:
        ans += len(r) // 2

    if chains and chains[0] == chains[-1]:
        print(ans * k + (k - 1 if chains[0] == chains[-1] else 0))
    else:
        print(ans * k)
