#include<bits/stdc++.h>
using namespace std;
const int N=110;
bool vis[N][N];
char ans[N][N];
string s;
int main(){
getline(cin,s);
int n=sqrt(s.size());
if(n*n<s.size()){
n++;
}
for(int i=s.size();i<n*n;i++){
s+=' ';
}
for(int i=0;i<=n;i++){
vis[n][i]=1;
vis[i][n]=1;
}
int i=0,j=0,cnt=0;
while(vis[i][j]==0){
while(vis[i][j]==0){
vis[i][j]=1;
ans[i][j++]=s[cnt++];
}
j--;
i++;
while(vis[i][j]==0){
vis[i][j]=1;
ans[i++][j]=s[cnt++];
}
j--;
i--;
while(vis[i][j]==0&&j>=0){
vis[i][j]=1;
ans[i][j--]=s[cnt++];
}
i--;
j++;
while(vis[i][j]==0&&i>=0){
vis[i][j]=1;
ans[i--][j]=s[cnt++];
}
i++;
j++;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<ans[i][j];
}
cout<<endl;77
}
return 0;
}