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).

def divideWord(a, n):
    
    cant = int(len(a)/n)
    aux = ''
    ans = []
    cont = 0
    for i in a:
        
        aux += i 
        cont += 1
        if cont == cant:
            cont = 0
            ans.append(aux)
            aux = ''
    return ans

def isPalindrome(a):
    
    longitud = len(a)
    for i in range(0, int(len(a)/2)):
        
        if a[i] != a[len(a) - i - 1]:
            
            return False
    return True

def func():
    word = input()
    n = int(input())
    for w in divideWord(word,n):
        if not (isPalindrome(w)):
            return 'NO'
    return 'YES'

print(func())