Description

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.

Codeforces Round #305 (Div. 2)  A

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.

Input

The first line of input contains string s containing lowercase English letters (1 ≤ |s| ≤ 1000).

The second line contains integer k (1 ≤ k ≤ 1000).

Output

Print "YES"(without quotes) if he has worn his own back-bag or "NO"(without quotes) otherwise.

Examples
input
saba
2
output
NO
input
saddastavvat
2
output
YES
首先长度不能整除的当然不符合要求。
然后我们按照要求分割字符串,判断是不是回文串就好了
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
    string s;
    int n;
    cin>>s;
    cin>>n;
    if(s.length()%n)
    {
        cout<<"NO"<<endl;
    }
    else
    {
        int i,j;
        int mid=s.length()/n;
        for(i=0;i<n;i++)
        {
            string ss=s.substr(i*mid,mid);
            for(int j=0;j<=ss.length()/2;j++)
            {
                if(ss[j]!=ss[ss.length()-1-j])
                {
                    cout<<"NO"<<endl;
                    return 0;
                }
            }
         //   cout<<ss<<endl;
        }
        cout<<"YES"<<endl;

    }




    return 0;
}

  

 

 

相关文章: