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 sys
import math
from bisect import bisect_right as br

def int_arr(): return list(map(int, sys.stdin.readline().strip().split()))

def str_arr(): return list(map(str, sys.stdin.readline().strip().split()))

def input(): return sys.stdin.readline().strip()


st=input()

k=int(input())
l=len(st)

if l%k!=0:
	print('NO')
else:
	one_s=l//k

	cnt={}
	for  i in st:
		if cnt.get(i,None)==None:
			cnt[i]=1
		else:
			cnt[i]+=1
	rem=0
	for i in cnt.values():
		rem+=i%2
	if one_s%2==0:
		if rem==0:
			print('YES')
		else:
			print('NO')
	else:
		if rem>k:
			print('NO')
		else:
			print('YES')
	


