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 Java8 (OpenJDK 1.8.0) (judge verdict: Wrong Answer)

import java.util.*;

public class Main{
  public static void main(String[]args){
    Scanner sc = new Scanner(System.in);
    String S = sc.next();
    char[] C = S.toCharArray();
    long N = Long.parseLong(sc.next());
    int s = S.length();
    int count = 0;
    for(int i = 1; i < s; i++){
      if(C[i-1] == C[i]){
        C[i] = '-';
        count++;
      }
    }
    boolean f = false;
    if(C[0] == C[s-1]){
      count++;
      f = true;
    }
    long ans = 0;
    if(count == s-1 && s > 2){
      if(N%2==0){
        ans = count*(N/2) + (count-1)*(N/2);
      }else{
        ans = count*(N/2) + (count-1)*((N/2)+1);
      }
    }else{
      ans = count * N;
      if(f){
        ans--;
      }
    }
    
    
    if(s == 1){
      ans = N/2;
    }
    System.out.println(ans);
  }
}