atcoder#AGC022A. [AGC022A] Diverse Word

[AGC022A] Diverse Word

配点 : 300300

問題文

ゴトウは辞書をもらいました。ところが、その辞書は知らない言語で書かれていました。 分析した結果、その辞書にはありうるすべての 多彩 な単語が辞書順に載っていることがわかりました。

単語は、それが英小文字からなる空でない文字列であって、単語内の文字がすべて異なる場合、そしてその場合に限って 多彩 であると呼ばれます。例えば、atcoderzscoderagc は多彩な単語ですが、gotouconnect は多彩な単語ではありません。

多彩な単語 SS が与えられるので、この辞書で SS の次に載っている単語、すなわち、SS より辞書順で大きいような、辞書順で最小の多彩な単語を求めてください。あるいは、そのような単語は存在しないと判定してください。

なお、X=x1x2...xnX = x_{1}x_{2}...x_{n}Y=y1y2...ymY = y_{1}y_{2}...y_{m} を二つの異なる文字列とするとき、YYXX の接頭辞であるか、jjxjyjx_{j} \neq y_{j} であるような最小の整数として xj>yjx_{j} > y_{j} である場合、そしてその場合に限って XXYY より辞書順で大きいといいます。

制約

  • 1S261 \leq |S| \leq 26
  • SS は多彩な単語である。

入力

入力は標準入力から以下の形式で与えられる。

SS

出力

辞書で SS の次に載っている単語を出力せよ。ただし、そのような単語が存在しない場合は -1 と出力せよ。

atcoder
atcoderb

atcoder より辞書順で大きいような、辞書順で最小の多彩な単語は atcoderb です。atcoderbb より辞書順で小さいことに注意してください。

abc
abcd
zyxwvutsrqponmlkjihgfedcba
-1

これが辞書順で最も大きい多彩な単語なので、答えは -1 です。

abcdefghijklmnopqrstuvwzyx
abcdefghijklmnopqrstuvx