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.
![](http://codeforces.com/predownloaded/45/8b/458b55d513eb7e8e9e408f9edda4618def368721.png)
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).
Print "YES"(without quotes) if he has worn his own back-bag or "NO"(without quotes) otherwise.
saba
2
NO
saddastavvat
2
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; }