P10476 Necklace
题目描述
有一天,袁同学绵了一条价值连城宝石项链,但是,一个严重的问题是,他竟然忘记了项链的主人是谁!在得知此事后,很多人向同学发来了很多邮件,都说项链是自己的,要求他归还(显然其中最多只有一个人说了真话)。袁同学要求每个人都写了一段关于自己项链的描述:
项链上的宝石用数字 $0$ 至 $9$ 来表示。一个对于项链的表示就是从项链的某个宝石开始:顺指针绕一圈,沿途记下经过的宝石,比如如下项链:

它的可能的四种表示是 $0123$、$1230$、$2301$、$3012$。
袁同学现在心急如焚,于是他找到了你,希望你能够编一个程序,判断两个给定的描述是否代表同一个项链(注意,项链是不会翻转的)。
输入格式
输入文件只有两行,每行一个由 $0$ 至 $9$ 组成的字符串,描述一个项链的表示(保证项链的长度是相等的)。
输出格式
如果两条项链不可能同构,那么输出 `No`,否则的话,第一行输出一个 `Yes` 第二行输出该项链的字典序最小的表示。
说明/提示
设 $L =$ 项链长度,则 $1\leq L \leq 1000000$。