#include<bits/stdc++.h>
using namespace std;
int main(){
  int n;

  while( cin >> n, n){
    string msg[1000];
    int pos[1000];
    for(int i = 0; i < n; i++){
      cin >> msg[i];
      pos[i] = msg[i].rfind('.');
    }

    for(int i = 0; i < n; i++){
      if(pos[i] != string::npos){
        msg[i][pos[i]] = '+';
      }
    }

    for(int i = 0; i < n; i++){
      if(pos[i] != string::npos){
        int j = i + 1;
        while(j < n && pos[i] < pos[j]) j++;
        if(j != n && pos[i] == pos[j]){
          for(int k = i + 1; k < j; k++) msg[k][pos[i]] = '|';
        }
      }
    }
    for(int i = 0; i < n; i++){
      for(int j = 0; j < msg[i].size(); j++){
        if(msg[i][j] == '.') msg[i][j] = ' ';
      }
      cout << msg[i] << endl;
    }

  }

  return 0;

}