While Mike was walking in the subway, all the stuff in his back-bag dropped on the ground. There were several fax messages among them. He concatenated these strings in some order and now he has string *s*.

He is not sure if this is his own back-bag or someone else's. He remembered that there were exactly *k* messages in his own bag, each was a palindrome string and all those strings had the same length.

He asked you to help him and tell him if he has worn his own back-bag. Check if the given string *s* is a concatenation of *k* palindromes of the same length.
The first line of input contains string *s* containing lowercase English letters (1 ≤ |*s*| ≤ 1000).

The second line contains integer *k* (1 ≤ *k* ≤ 1000).
import math,string,itertools,fractions,heapq,collections,re,array,bisect
from itertools import chain, dropwhile, permutations, combinations
from collections import defaultdict

def VI(): return list(map(int,input().split()))

def main(s,k):
    n = len(s)
    if n % k != 0:
        print("NO")
        return
    d = n // k
    for i in range(0,n,d):
        #print(i,d)
        if s[i*d:i*d+d] != s[i*d:i*d+d][::-1]:
            print("NO")
            return
    print("YES")


def main_input(info=0):
    s = input()
    k = int(input())
    main(s,k)

if __name__ == "__main__":
    main_input()
