using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { var dic = new Dictionary(); var len = 0; for (var k = 0; k < 2; k++) { var n = int.Parse(Console.ReadLine()); if (n == 1) { Console.WriteLine(Console.ReadLine()); return; } for (var i = 0; i < n; i++) { var s = Console.ReadLine(); if (k == 0) len += s.Length; for (var j = 0; j < s.Length - 1; j++) { if (!dic.ContainsKey(s[j])) { dic.Add(s[j], s[j + 1]); } } } } if (dic.Count < len - 1) { Console.WriteLine(-1); return; } var flg = false; var tmp = new List() { "" }; var next = dic.First().Key; for (var i = 0; ; i++) { if (!dic.ContainsKey(next)) { if (!flg) { tmp[tmp.Count - 1] += next; flg = true; } tmp.Add(""); if (dic.Count == 0) break; next = dic.First().Key; continue; } tmp[tmp.Count - 1] += next; char c = dic[next]; dic.Remove(next); next = c; } var ans = ""; tmp.Reverse(); tmp.ForEach((s) => { ans += s; }); Console.WriteLine(ans); return; } }