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).
#include <iostream>
using namespace std;

bool ispalin(string s)
{
    string rev="";
    for(int i=s.length()-1;i>=0;i--)
            rev+=s[i];
    return s==rev;
}

int main() {
    // your code goes here
    string s;
    cin>>s;
    int k;
    cin>>k;
    if(s.length()%k!=0)
    {
        cout<<"NO\n";
        return 0;
    }
    int j=s.length()/k;
    int flag=0;
    for(int i=0;i<s.length();i+=j)
    {
        if(!ispalin(s.substr(i,j)))
        {
            flag=1;
            break;
        }
    }
    if(flag==1)
        cout<<"NO\n";
    else
        cout<<"YES\n";
    return 0;
}