A string is called a k-string if it can be represented ask concatenated copies of some string. For example, the string "aabaabaabaab" is at the same time a 1-string, a 2-string and a 4-string, but it is not a 3-string, a 5-string, or a 6-string and so on. Obviously any string is a 1-string.
You are given a string s, consisting of lowercase English letters and a positive integerk. Your task is to reorder the letters in the strings in such a way that the resulting string is ak-string.
The first input line contains integer k (1 ≤ k ≤ 1000). The second line containss, all characters in s are lowercase English letters. The string length s satisfies the inequality 1 ≤ |s| ≤ 1000, where|s| is the length of string s.
Rearrange the letters in string s in such a way that the result is ak-string. Print the result on a single output line. If there are multiple solutions, print any of them.
If the solution doesn't exist, print "-1" (without quotes).
2 aazz
azaz
3 abcabcabz
-1#include<cstdio> #include<iostream> using namespace std; int main(){ int k,i,j,kk,tt; char a[1002]; int b[26]; int flag; flag=0; scanf("%d",&k); scanf("%s",a); for(i=0;i<26;i++){ b[i]=0; } for(i=0;a[i]!='\0';i++){ b[a[i]-'a']++; } for(i=0;i<26;i++){ if(b[i]%k!=0){ flag=1; printf("-1\n"); break; } } if(flag==0){ for(tt=0;tt<k;tt++){ for(i=0;i<26;i++){ j=b[i]/k; for(kk=0;kk<j;kk++){ printf("%c",'a'+i); } } } printf("\n"); } return 0; }