Problem:
Score : 300 points

Problem Statement

Given is a string S. Let T be the concatenation of K copies of S.
We can repeatedly perform the following operation: choose a character in T and replace it with a different character.
Find the minimum number of operations required to satisfy the following condition: any two adjacent characters in T are different.

Constraints

1 \leq |S| \leq 100

S consists of lowercase English letters.

1 \leq K \leq 10^9

K is an integer.

Input

Input is given from Standard Input in the following format:

S
K

Output

Print the minimum number of operations required.

Sample Input 1

issii
2

Sample Output 1

4

T is issiiissii. For example, we can rewrite it into ispiqisyhi, and now any two adjacent characters are different.

Sample Input 2

qq
81

Sample Output 2

81

Sample Input 3

cooooooooonteeeeeeeeeest
999993333

Sample Output 3

8999939997

Solution in C++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
	string s;
	int k, len, t_a;
	long int t;

	t = 0;
	t_a = 0;
	len = 0;

	cin >> s;
	cin >> k;

	s += s;

	len = s.length();

	for (int i = 0; i < len; i++)
	{
		if (s[i] == s[i + 1])
		{
			t++;
			i++;
		}
	}

	if (t % 2)
	{
		if (t > 2)
		{
			cout << ((t - 1) / 2)*k + (k/2);
		}
		else {
			cout << (k - 1);
		}
	} else {
		cout << (t/2) * k;
	}

	return 0;
}