Сегодня на спецкурсе «Строки» Геральд узнал новое определение эквивалентности строк. Две строки a и b равной длины называются эквивалентными в одном из двух случаев:
- Они равны.
- Если разделить строку a на две одинаковые по длине половины a1 и a2, а строку b — на две одинаковые по длине половины b1 и b2, то окажется, что верно одно из двух:
- a1 эквивалентно b1, а a2 эквивалентно b2
- a1 эквивалентно b2, а a2 эквивалентно b1
В качестве домашнего задания преподаватель выдал ученикам две строки и попросил определить, эквиваленты ли они.
Геральд уже сделал это домашнее задание. Сделайте и вы!
Выходные данные
Выведите «YES» (без кавычек), если эти две строки эквивалентны, и «NO» (без кавычек) в противном случае.
Примечание
В первом примере первую строку можно разделить на строки "aa" и "ba", вторую – на строки "ab" и "aa". "aa" эквивалентно "aa"; "ab" эквивалентно "ba", так как "ab" = "a" + "b", "ba" = "b" + "a".
Во втором примере первую строку можно разделить на строки "aa" и "bb", которые эквивалентны только сами себе. Поэтому строка "aabb" эквивалентна только сама себе и строке "bbaa".
Примеры
| № | Входные данные | Выходные данные |
|
1
|
aaba abaa
|
YES
|
|
2
|
aabb abab
|
NO
|