#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e7 + 911;
struct node{
string s;
int frontt,nextt,linee = s.size();
char head = s[0],tail = s[linee - 1];
}a[N];
char cmp(node a,node b){
return a.head > b.head;
}
struct Node{
bool f = false,n = false;
int fl = 0,nl = 0;
}remind[N];
int n;
signed main(){
cin >> n;
for(int i = 1;i <= n;i++){
cin >> a[i].s;
}
sort(a + 1,a + n + 1,cmp);
for(int i = 1;i <= n;i++){
for(int j = 1;j <= n;j++){
if(i != j && a[i].tail == a[j].head && !remind[i].n){
a[i].nextt = j;
remind[i].n = 1;
remind[i].nl = a[j].linee;
}
if(i != j && a[i].head == a[j].tail && !remind[i].f){
a[i].frontt = j;
remind[i].f = 1;
remind[i].fl = a[j].linee;
}
}
}
int i = 1;
while(!remind[i].n){
cout << a[i].s << '.';
i++;
}
return 0;
}