#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
const int N=105;
string s[N],ans[N];
int main(){
int n,mx=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>s[i];
if(mx<s[i].length()){
mx=s[i].length();
}
}
for(int i=0;i<mx;i++){
for(int j=n;j>=1;j--){
if(i+1<=s[j].length()){
ans[i+1][n-j+1]=s[j][i];
}
else{
ans[i+1][n-j+1]='*';
}
}
}
for(int i=1;i<=mx;i++){
for(int j=n;j>=1;j--){
if(ans[i][j]!='*')break;
ans[i][j]=' ';
}
}
for(int i=1;i<=mx;i++){
for(int j=1;j<=n;j++)cout<<ans[i][j];
cout<<endl;
}
return 0;
}
搞不懂为什么RE。