#include <iostream>
#include <string>
#include <vector>
#include <sstream>
int main()
{
std::string s;
std::vector<std::vector<char>> orig,after_rot;
while(getline(std::cin,s))
{
std::vector<char> cvec;
std::istringstream ist(s);
char c;
for(size_t i = 0;i != s.size();i++)
{
c = ist.get();
cvec.push_back(c);
}
orig.push_back(cvec);
}
int orig_row = orig.size();
size_t col_max =0 ;
for (size_t i = 0;i != orig_row;i++)
{
if (col_max < orig[i].size())
col_max = orig[i].size();
}
for(size_t rows = 0;rows != col_max;rows++)
{
std::vector<char> cvec;
for(int i = orig_row-1;i >= 0 ;i--)
{
if(orig[i].size() > rows)
cvec.push_back(orig[i][rows]);
else
cvec.push_back(' ');
}
after_rot.push_back(cvec);
}
for(size_t loop = 0;loop != after_rot.size();loop++)
{
for(size_t col = 0;col != after_rot[loop].size();col++)
std::cout << after_rot[loop][col];
std::cout << std::endl;
}
return 0;
}