#include <iostream>
#include <cstdio>
#include "string"
#include "algorithm"
#include "cmath"
#include "stack"
#include "queue"
#include "time.h"
#include "stdlib.h"
using namespace std;
typedef struct TreeNode{
char data;
TreeNode *LeftChild;
TreeNode *RightChild;
TreeNode(char c):data(c),LeftChild(nullptr),RightChild(nullptr){}
};
queue<TreeNode*>Treequeue;
void preOrder(TreeNode* root){
if(root== nullptr){
return;
}
cout<<root->data;
preOrder(root->LeftChild);
preOrder(root->RightChild);
return;
}
int main() {
int n;
cin>>n;
TreeNode *root;
for(int i=0;i<n;i++){
string temp;
cin>>temp;
if(i==0){
root=new TreeNode(temp[0]);
Treequeue.push(root);
}
TreeNode *q=Treequeue.front();
for(int i=1;i<=2;i++){
if(temp[i]!='*'){
if(i==1){
q->LeftChild=new TreeNode(temp[i]);
Treequeue.push(q->LeftChild);
} else{
q->RightChild=new TreeNode(temp[i]);
Treequeue.push(q->RightChild);
}
}
}
Treequeue.pop();
}
preOrder(root);
return 0;
}