#include <iostream>
#include <string>
using namespace std;
const int N = 30;
struct Node {
int left;
int right;
};
int lc[N], rc[N];
void dfs(int u) {
if (u == 0) return;
cout << (char)(u + 'a' - 1);
dfs(lc[u]);
dfs(rc[u]);
}
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
string s;
cin >> s;
int u = s[0] - 'a' + 1;
if (s[1] != '*') lc[u] = s[1] - 'a' + 1;
if (s[2] != '*') rc[u] = s[2] - 'a' + 1;
}
dfs(1);
return 0;
}