#include<cstdio> #include<vector> using namespace std; using vc=vector<char>; using vvc=vector<vc>; using vi=vector<int>; int main(void) { int n, m, c, d, s; vvc a, b; vi ans; vi ans_r; while(scanf("%d", &n)==1) { c=0; ans.assign(26, -1); ans_r.assign(26, -1); a.resize(n); for(int i=0;i<n;i++) { int j; a[i].assign(26+1, 0); scanf("%s", &a[i][0]); for(j=1;a[i][j];j++) { ans[a[i][j-1]-'A']=a[i][j]-'A'; ans_r[a[i][j]-'A']=a[i][j-1]-'A'; } c+=j; } scanf("%d", &m); b.resize(m); for(int i=0;i<m;i++) { b[i].assign(26+1, 0); scanf("%s", &b[i][0]); for(int j=1;b[i][j];j++) { ans[b[i][j-1]-'A']=b[i][j]-'A'; ans_r[b[i][j]-'A']=b[i][j-1]-'A'; } } d=0; s=-1; for(int i=0;i<26;i++) { if(ans_r[i]>=0) { s=i; d++; } } if(d+1<c) printf("-1\n"); else if(n==1) printf("%s\n", &a[0][0]); else if(m==1) printf("%s\n", &b[0][0]); else { for(;ans_r[s]>=0;s=ans_r[s]); for(;ans[s]>=0;s=ans[s]) printf("%c", s+'A'); printf("%c\n", s+'A'); } } return 0; }