#include using namespace std; struct my{ string s; bool b[120], o; } a[120]; int n; int main(){ cin >> n; for(int i = 0; i < n; i++) { cin >> a[i].s; } for(int i = 0 ; i < n ; i ++) { for (int j = 0 ; j < n; j++) { if(i != j && a[i].s.length() < a[j].s.length()) { for(int k = 0; k + a[i].s.length() <= a[j].s.length(); k++) { bool u = 1; for(int l = 0; l < a[i].s.length();l++) { if(a[i].s[l] != a[j].s[l+k] || a[j].b[l+k]){ u = 0; } } if (u){ for(int l = 0; l < a[i].s.length(); l++) { a[j].b[l+k] = 1; } } } } } } int ans = 0,poz = -1; for(int i = 0 ; i < n; i++) { bool u = 1; for(int j = 0 ; j < a[i].s.length(); j++) { //cout << a[i].b[j]; if(a[i].b[j] == 0) u = 0; } //cout << "\n"; if(u && (a[i].s.length() > ans)) { ans = a[i].s.length(); poz = i; } } if(poz == -1) cout << "-1"; else cout << a[poz].s; }