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



input       = []
input_index = 0

def next(type, number = None):
	def next():
		global input, input_index
		
		
		if input_index == len(input):
			if sys.stdin:
				input       = sys.stdin.readline().split()
				input_index = 0
			else:
				raise Exception()
				
				
		input_index += 1
		
		return input[input_index - 1]
		
		
	if number is None:
		result = type(next())
	else:
		result = [type(next()) for _ in range(number)]
		
	return result
	
	
	
s = next(str)
k = next(int)

if len(s) % k == 0:
	result = True
	
	l      = len(s) // k
	ss     = [s[i * l:(i + 1) * l] for i in range(k)]
	
	for s in ss:
		l, u = 0, len(s) - 1
		
		while l < u:
			if s[l] != s[u]:
				result = False
				break
				
			l += 1
			u -= 1
			
		if not result:
			break
			
	print("YES" if result else "NO")
else:
	print("NO")
	