from collections import deque N=int(input()) A=[input() for i in range(N)] M=int(input()) B=[input() for i in range(M)] AQ=deque() BQ=deque() ANS=[] while (A and B) or AQ or BQ: if AQ and BQ: if AQ[0] and BQ[0]: s=AQ.popleft() BQ.popleft() ANS.append(s) continue else: print(-1) exit() if AQ: s=AQ[0] ind=-1 for i in range(len(B)): if B[i][0]==s: ind=i break if ind==-1: print(-1) exit() else: BQ=deque(B[ind]) B.pop(ind) continue if BQ: s=BQ[0] ind=-1 for i in range(len(A)): if A[i][0]==s: ind=i break if ind==-1: print(-1) exit() else: AQ=deque(A[ind]) A.pop(ind) continue SA=set() SB=set() for a in A: SA.add(a[0]) for b in B: SB.add(b[0]) SS=SA & SB if len(SS)==1: s=list(SS)[0] for i in range(len(A)): if A[i][0]==s: ind=i break AQ=deque(A[ind]) A.pop(ind) for i in range(len(B)): if B[i][0]==s: ind=i break BQ=deque(B[ind]) B.pop(ind) else: print(-1) exit() print("".join(ANS))