char s[2d6+1];
int n;
rd(s@n);
int f[32];
int bc=0;
int bx=0;
REP[f](x,Factor(n,f)){
	int d=n/x;
	int c=0;
	rep(i,d){
		int h[26]{};
		int b=0;
		rep(j,x){
			chmax(b,++h[s[i+j*d]-'A']);
		}
		c+=b;
	}
	if(c>bc){
		bc=c;
		bx=x;
	}
}
if(1){
	int x=bx;
	int d=n/x;
	rep(i,d){
		int h[26]{};
		int b=0;
		int g=0;
		rep(j,x){
			int e=s[i+j*d];
			if(b<++h[e-'A']){
				b=h[e-'A'];
				g=e;
			}
		}
		s[i]=g;
	}
	rep(x){
		wtN(s(d));
	}
}