#codeformula2014qualBc. [code_formula_2014_qualB_c]仲良し文字列

[code_formula_2014_qualB_c]仲良し文字列

问题描述

(21:13 追記) 由于测试中包含了一个|A|=|B|=1的情况,因此进行重新评测。请注意,这个情况不会影响输出"NO"的程序。

给定字符串A,通过准确交换字符串A中的字符3次,可以将其转换为字符串B。如果两个字符串A和B满足这个条件,则称它们为亲密字符串。

交换是指交换字符串中的两个字符。例如,对于字符串abc,可以交换ac,将其转换为cba

对于像aa这样的字符串,可以交换第一个a和第二个a,但不能指定相同位置的字符。

给定字符串A和B,请确定它们是否是亲密字符串。


输入

输入以以下格式从标准输入中提供:

AA BB

  • 第1行为字符串A(2≤|A|≤1000)。
  • 第2行为字符串B(|B|=|A|)。
  • A和B都保证只包含小写字母。

输出

如果给定的两个字符串是亲密字符串,则输出YES,否则输出NO。在输出末尾添加一个换行符。


示例1


abcdef
fedcba

输出例1


YES

首先,将字符串A中的af交换,得到fbcdea

然后,将be交换,得到fecdba

最后,将cd交换,得到fedcba,与字符串B相同。

因此,这两个字符串是亲密字符串,输出YES


示例2


abababab
babababa

输出例2


NO

存在一种情况,即使使用相同数量的字符进行3次交换也无法得到相同的字符串。


示例3


nt
nt

输出例3


NO

只有一种交换的方式,并且重复3次交换后得到tn。因此,尽管是相同的两个字符串,它们不是亲密字符串。


示例4


pqqq
pqqq

输出例4


YES

首先,交换第一个字符和第二个字符,得到qpqq。然后,交换第三个字符和第四个字符,得到qpqq。在这个过程中,选择了相同的字符,但位置不同,所以没有问题。最后,交换第一个字符和第二个字符,得到pqqq


示例5


abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvxyzw
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz

输出例5


YES

请注意,可能会给出较长的字符串。


示例6


abcdef
ghijkl

输出例6


NO

来源名称

Code Formula 2014预选B