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).
s = input()
k = int(input())


def is_palind(s):
    for i in range(len(s) // 2):
        if s[i] != s[-i - 1]:
            return False
    return True


def find_all_palind_with_len(s, l):
    count = 0
    concat = s

    i = 0
    while i < len(s) - l + 1:
        if is_palind(s[i:i + l]):
            count += 1
            concat = concat.replace(s[i:i + l], "")
            # print(s[i:i + l])
            if concat == "":
                break
            i += l
        else:
            i += 1

    # for i in range(0, len(s) - l + 1):
    #     if is_palind(s[i:i + l]):
    #         count += 1
    #         concat = concat.replace(s[i:i + l], "")
    #         print(s[i:i + l])
    #         if concat == "":
    #             break




    return count, concat


flag = False
for i in range(len(s), 0, -1):
    num, concat = find_all_palind_with_len(s, i)
    # print(num, concat)
    if num == k and concat == "":
        flag = True
        break

if len(s) % k != 0:
    print("NO")
else:
    if flag:
        print("YES")
    else:
        print("NO")

    	    	  	  		 	     		  			