#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int n,i,j;
while(cin>>n)
{
vector<string> vs;
int max_len=0,col=1,hang=0;
string temp;
for(i=0;i<n;i++)
{
cin>>temp;
vs.push_back(temp);
if(vs[i].length()>max_len)
max_len=vs[i].length();
}
while(true)
{
if((col*(max_len+2)+max_len)<=60)
{
col++;
}
else break;
}
sort(vs.begin(),vs.end());
if(n%col==0)
hang =n/col;
else
hang=n/col+1;
cout<<"------------------------------------------------------------"<<endl;
for(j=0;j<hang;j++)
{
for(i=0;i<col;i++)
{
if((i*hang+j)<n)
{
cout<<vs[i*hang+j];
for(int k=0;k<(max_len+2-vs[i*hang+j].length());k++)
cout<<" ";
}
}
cout<<endl;
}
}
return 0;
}