N = gets.to_i S = (0 ... N).map { gets.chomp } a = ?a.ord S.map! { |s| counts = [0] * 26 s.each_byte do |b| counts[b - a] += 1 end counts } indeg = [0] * N (0 ... N).each do |u| (u + 1 ... N).each do |v| if (0 ... 26).all? { |c| S[u][c] <= S[v][c] } indeg[v] += 1 end end end if (i = indeg.index(0)) puts (0 ... 26).sum("") { |c| (a + c).chr * S[i][c] } else puts -1 end