#include <bits/stdc++.h>
using namespace std;
struct Node
{
int f=27, a=27, b=27;
};
Node *li[27];
void output(int now)
{
printf("%c", 'a'+now);
if(li[now]->a!=27)
output(li[now]->a);
if(li[now]->b!=27)
output(li[now]->b);
return;
}
int main()
{
// initialize
for(int i=0; i<26; i++)
{
Node *qwq = new Node;
li[i] = qwq;
}
// scan
int n; scanf("%d", &n);
for(int i=0; i<n; i++)
{
char s, a, b; scanf("%c%c%c", &s, &a, &b);
int index = (int)(s-'a');
if(a!='*')
{
li[index]->a = (int)(a-'a');
li[a-'a']->f = index;
}
if(b!='*')
{
li[index]->b = (int)(b-'a');
li[b-'a']->f = index;
}
}
// find the grandfather
int gf;
for(int i=0; i<26; i++)
{
if(li[i]->f==27 and li[i]->a+li[i]->b!=54)
{
gf = i;
break;
}
}
// output
output(gf);
return 0;
}