#include<iostream>
using namespace std;
string s[1000];
int N;
int main()
{
	while(cin>>N,N)
	{
		for(int i=0;i<N;i++)cin>>s[i];
		int M=-1;
		for(int i=0;i<N;i++)
		{
			int id=0;
			while(s[i][id]=='.')id++;
			id--;
			if(id>=0)s[i][id]='+';
			if(id>M)M=id;
		}
		for(int k=0;k<=M;k++)
		{
			int pre=-1;
			for(int i=0;i<N;i++)
			{
				if(k<s[i].size()&&s[i][k]=='+')
				{
					if(pre>=0)
					{
						for(int j=pre+1;j<i;j++)s[j][k]='|';
					}
					pre=i;
				}
				else if(k>=s[i].size()||(s[i][k]>='a'&&s[i][k]<='z'))
				{
					pre=-1;
				}
			}
		}
		for(int i=0;i<N;i++)
		{
			for(int j=0;j<s[i].size();j++)
			{
				if(s[i][j]=='.')s[i][j]=' ';
			}
		}
		for(int i=0;i<N;i++)cout<<s[i]<<endl;
	}
}

