#include<bits/stdc++.h>
using namespace std;

string s[1000];
int n;

bool dfs(int x,int y){
  if(n<=y||s[y].size()<=x||isalpha(s[y][x]))return 0;
  if(s[y][x]=='+')return 1;
  bool res=dfs(x,y+1);
  if(res)s[y][x]='|';
  return res;
}

int main(){
  while(cin>>n,n){
    for(int i=0;i<n;i++)cin>>s[i];
    for(int i=0;i<n;i++)
      for(int j=0;j<s[i].size();j++)
	if(s[i][j]=='.'){
	  if(s[i][j+1]!='.')s[i][j]='+';
	  else s[i][j]=' ';
	}
    for(int i=0;i<n;i++)
      for(int j=0;j<s[i].size();j++)
	if(s[i][j]=='+')dfs(j,i+1);
    for(int i=0;i<n;i++)cout<<s[i]<<endl;
  }
  return 0;
}