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 os,sys,io,math
from tokenize import Triple
from math import *
I=lambda:[*map(int,sys.stdin.readline().split())]
IS=lambda:input()
IN=lambda:int(input())
IF=lambda:float(input())


s=IS()
n=IN()
f=1
i=1
start=0
count=len(s)//n
while n>0:
    t=''
    for i in range(start,count+start):
        t+=s[i]
    # t=s[i-1:n*(i)+1]
    r=t[::-1]
    # print(r,t)
    if r!=t:
        print("NO")
        f=0
        break
    start+=count
    n-=1
    i+=n
if f:print("YES")