#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define unsigned LL long long
using namespace std;
string s;
int n;
int map[200][200];
int d[200];
int read(){
char c = getchar();
int n = 0;
while(c < '0' || c > '9') c = getchar();
while(c >= '0' && c <= '9'){
n = (n << 1) + (n << 3) + (c & 15);
c = getchar();
}
return n;
}
void Euler(int k){
for(int i = 65; i <= 122; i ++)
if(map[k][i]){
map[k][i] = map[i][k] = 0;
Euler(i);
}
s = char(k) + s;
}
void no(){
cout<<"No Solution";
exit(0);
}
int main(){
n = read();
memset(d,0,sizeof(d));
memset(map,0,sizeof(map));
for(int i = 1; i <= n; i ++){
char a = getchar(),b = getchar(),c = getchar();
map[a][b] = 1;
map[b][a] = 1;
d[a] ++;
d[b] ++;
}
int num = 0;
for(int i = 65; i <= 122; i ++)
if(d[i] % 2 != 0) num ++;
if(num != 0 && num != 2) no();
int i;
for(i = 65; i <= 122; i ++)
if((num == 0 && d[i] != 0) || (num == 2 && d[i] == 1)) break;
Euler(i);
cout<<s;
return 0;
}