Циклічний рядок?
Великий чарівник дав Алісі та Бобу циклічний рядок довжини 2 * n, в якому немає повторюваних підрядків довжини n. У цьому циклічному рядку символ s[i+1]
слідує за s[i]
, а s[1]
слідує за s[2n]
.
На жаль, злий джин перемішав усі символи рядка. Допоможіть Алісі та Бобу відновити початковий рядок так, щоб виконувалася вищезазначена умова.
Вхідні дані
Містить один рядок s довжини 2 * n (2 ≤ 2 * n ≤ 10^6
), що складається тільки з малих латинських літер.
Вихідні дані
Виведіть "NO" у першому рядку, якщо неможливо відновити рядок так, щоб виконувалася умова. В іншому випадку у першому рядку виведіть "YES".
У другому рядку виведіть відновлений рядок. Якщо існує декілька можливих варіантів, виведіть будь-який з них.
Приклади
Примітка
У першому прикладі підрядками відновленого рядка є: “abbab”, “bbabc”, “babcb”, “abcbc”, “bcbcc”, “cbccb”, “bccba”, “ccbab”, “cbabb”, “babba”.
Зверніть увагу, що перший приклад не містить повторень, однак його можна переписати як ще один цикл без повторів. Таким чином, рішення не єдине - даний приклад також є правильним рішенням.
У другому прикладі неможливо відновити рядок так, щоб не було повторень.
У третьому прикладі нічого змінювати не потрібно.