AT_tenka1_2016_qualA_c 山田山本問題

题目描述

[problemUrl]: https://atcoder.jp/contests/tenka1-2016-quala/tasks/tenka1_2016_qualA_c Watanabe-kun 在 Tenkaichi 公司工作,使用聊天工具进行内部交流。聊天工具有补全功能,当他尝试输入以 @ 开头的账户名时,会按字典顺序显示一个具有匹配前缀的账户名候选列表。 但是,当渡边君试图从候选完成项中选择 @yamamoto 时,他经常会误选 @yamada。这是因为 @yamada 在字典顺序中比 @yamamoto 小,在输入 `@yama`时显示在候选字的最前面。 渡边君有一个奇怪的特技:他可以随心所欲地重新排列字母顺序。例如,如果渡边君使用他的特殊技能将字母顺序改为 abcefghijklmdnopqrstuvwxyz,`m`就会小于`d`,而 @yamamoto 在词法顺序上就会小于 @yamada。 给你 $ N $ 个请求,让账户名 $ A_i $ 按词法顺序小于账户名 $ B_i$。找出按渡边君的专长排序的字母顺序,使所有给定的要求都得到满足。如果满足要求的字母顺序不止一个,请找出重新排列前按词典顺序排列的最小字母顺序。

输入格式

输入由标准输入提供,格式如下 > $ n $ > $ a_1 $ $ b_1 $ > $ a_2 $ $ b_2 $ > $\vdots $ > $ a_n $ $ b_n $

输出格式

在一行中输出满足条件的最小字母顺序(按词序排列)。 如果不存在这样的字母顺序,则输出 $-1$。

说明/提示

- $ 1\leq N\leq1000 $ - $ A_i\neq B_i $ - $ 1\leq|A_i|,|B_i|\leq\ 1000 $ - $ A_i,B_i $ 由小写英文字母组成