#include <vector>
#include <iostream>
#include <queue>
#include <algorithm>
#include <sstream>
#include <vector>
using namespace std;
int main() {
int n;
while (cin >> n)
{
if(n==0) break;
cin.ignore();
string s, t;
vector<string> v;
vector<vector<string>> vv;
while (n--)
{
getline(cin, s);
v.push_back(s);
}
//以上处理输入
//先排序
sort(v.begin(), v.end());
vector <string> temp;
//将输入数据存入二维数组vv
for (int i = 0; i < v.size(); i++)
{
stringstream ss(v[i]);
// cout<<v[i];
temp.clear();
while (getline(ss, t, '\\'))
{
// cout<<t<<" ";
if(!t.empty())
temp.push_back(t);
}
vv.push_back(temp);
}
vector<string> bz(vv[0]);
for (int i = 0; i < vv.size(); i++)
{
for (int j = 0; j < vv[i].size(); j++)
{
if(j==0)//找到第一个不同的
while(vv[i]!=bz&&j<vv[i].size()&&j<bz.size()&&vv[i][j]==bz[j]) j++;
if(j==vv[i].size()) break;
if(vv[i][0]!=bz[0]) bz=vv[i];//如果第一个就不同,标准更新
for (int k = 0; k < j; k++)
{
cout << " ";
}
cout << vv[i][j] << endl;
}
}
cout<<endl;
}
}
// 64 位输出请用 printf("%lld")