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).
string = input()
partskitnekarnehai = int(input())
if len(string)%partskitnekarnehai!=0:
    print('NO')
    exit()

nayalength = len(string) // partskitnekarnehai

# o is length of part
for j in range(partskitnekarnehai):
    seedha_part = string[ j*nayalength : (j + 1)*nayalength]
    # print(seedha_part)
    ulta_part=reversed(seedha_part)
    # print("".join(ulta_part))
    if seedha_part != "".join(ulta_part):
        print("NO") 
        exit()
print("YES")

'''
https://codeforces.com/problemset/problem/548/A
1. Aaj exit() seekha, kaafi useful, i always thought agar aise kuch 
karna hai to i'll have to define a function, fir use return to get
out of the code.
4. Abe yaar mai bhi kya gadha hu, like agar NO hai answer, 
to exit karna chahiye, i exited on YES wala case
3. Are bhai yaaar wo sabse upar wala block mai bhool hi gaya tha,
gahdam ek aur wrong submission
2. Also line 7 me agar -1 kia to it only check first part of string
'''