//UVa1593 - Alignment of Code
#include<iostream>
#include<string>
#include<sstream>
#include<vector>
#include<algorithm>
using namespace std;
vector<vector<string> >ans;
int len[200];
void print(string &s, int len, char extra){
cout<<s;
for(int i = s.length(); i < len; i++)
cout<<extra;
}
int main(){
string s1;
//freopen("UVa1593.in","r",stdin);
//freopen("UVa1593.out","w",stdout);
//int n = 0,maxlen = 0;
// gets string
while(getline(cin,s1)){
stringstream ss(s1);
string s2;
int count = 0;
vector<string>linshi;
while(ss>>s2){
linshi.push_back(s2);
len[count] = max(len[count],(int)s2.size());
count++;
}
ans.push_back(linshi);
}
unsigned i, j;
for(i = 0; i<ans.size(); i++){
for(j = 0; j<ans[i].size()-1;j++){
print(ans[i][j],len[j]+1,' ');
}
printf("%s",&ans[i][j][0]);
printf("
");
}
return 0;
}
//已AC