CF180D Name
题目描述
在遥远的星座 Tau Ceti,所有事情都变得让人难以理解。特别是 Tau Ceti 人给孩子取名字的方式非常独特。
有一对年轻的父母 abac 和 bbad 正在思考要给他们的第一个孩子起什么名字。他们决定,名字应该是字符串 $s$ 的字母的一个排列。为了不落后于邻居,他们决定给孩子取一个名字,使其名字在字典序上严格大于邻居儿子的名字 $t$。
另一方面,他们怀疑马上会引入“名字税”。根据这个规定,字典序越大的名字所需要缴纳的税也就越高。所以 abac 和 bbad 希望给新生儿取一个字典序严格大于 $t$、同时字典序最小的名字。
字符串的字典序就是大家熟悉的“字典顺序”。所有现代编程语言都用这种顺序比较字符串。正式地说,长度为 $n$ 的字符串 $p$ 在字典序上小于长度为 $m$ 的字符串 $q$,当且仅当满足下列两种情况之一:
- $n < m$,且 $p$ 是 $q$ 的前缀(例如,"aba" 小于字符串 "abaa");
- $p_1=q_1$,$p_2=q_2$,...,$p_{k-1}=q_{k-1}$,但存在某个 $k$($1\leq k\leq\min(n,m)$),使得 $p_k
输入格式
第一行输入一个非空字符串 $s$($1 \leq |s| \leq 5000$),其中 $|s|$ 表示字符串的长度。
第二行输入一个非空字符串 $t$($1 \leq |t| \leq 5000$)。
两个字符串仅包含小写拉丁字母。
输出格式
输出按照要求得到的字符串。如果不存在这样的字符串,输出 $-1$。
说明/提示
在第一个样例中,给定的字符串 $s$ 就是满足条件的答案,因此不需要改变字母顺序。
由 ChatGPT 5 翻译