def scan; gets.split.map(&:to_i); end

def sayno
    puts "-1";exit
end

#u = ['I','II','III','IV','V','VI','VII']

ac = {}
z = {}
gets.to_i.times{
    s = gets.chomp
    s.chars{|c| z[c]=0}
    (s.size-1).times{|i|
        ac[s[i]] = s[i+1]
        z[s[i+1]] = 1
    }
}
gets.to_i.times{
    s = gets.chomp
    # s.chars{|c| z[c]=0}
    (s.size-1).times{|i|
        sayno if ac[s[i]] && ac[s[i]] != s[i+1]
        ac[s[i]] = s[i+1]
        z[s[i+1]] = 1
    }
}

start = nil
z.each{|k,v|
    if v==0
        sayno if start
        start = k
    end
}
sayno if !start

str = start
while ac[start]
    start = ac[start]
    str+=start
end

sayno if z.size != str.size

puts str