Хтось подав нам рядок, але всі символи, що нагадують дужки, були змінені на звичайні, і ми не знаємо, яких, а то і скільки їх було. Все, що ми знаємо, це те, що якби L1,L2,L3,...,LNрізні ліві дужки R1,R2,R3,...,RNбули різними і мали відповідні види правих дужок, усі вони були різними (2N окремі символи дужки), рядок був би дійсним, якщо вона є однією з (+ це нормальне з'єднання рядків):
L1+X+R1,,L2+X+R2...LN+X+RN,, деXдопустимий рядок,X+Y, деXіYє дійсними рядками,Будь-який окремий символ, який не є дужкою.
Порожній рядок
Ми знаємо, що вони почали з дійсної рядка перед тим, як змінити дужки, і вони не змінили їх на жодні символи, які вже існували в рядку. Принаймні одна пара існувала і для кожного кронштейна. Чи можете ви реконструювати, які символи були спочатку парними лівими та правими дужками (знайдіть Liта Riвиконуючи ці умови)?
Виведіть пари символів, які були дужками. Наприклад, якщо (){}[]насправді були символи дужок, ви можете вивести (){}[]або {}[]()або [](){}тощо. Можливо, для ряду це може бути кілька способів, вам потрібно повернути лише один такий, щоб не було призначення дужок з більшою кількістю пар (див. Приклади). Зауважте, що вихідний рядок повинен завжди мати рівну довжину.
Приклади:
abcc- cне може бути дужкою, оскільки немає іншого символу з двома явищами, але abможе бути дужкою пари, тому ви б точно вивели ab.
fffff - жодна рядок, що має щонайменше один символ, не може мати дужок, тому ви повернете порожній рядок або нічого не виведете.
aedbedebdcecdec - цей рядок не може мати жодних дужок, тому що є 1 a, 2 bs, 3 cs, 4 ds і 5 es, тому жодні два символи не трапляються однакову кількість разів, що є обов'язковою дужкою для дужок.
abcd- можливі присвоєння ab, cd, abcd, cdab, adbc, bcad, ac, ad, bcі bd, (а також порожні поступки, що всі вони мають) , але ви повинні повернути один з найдовших завдань, так що ви повинні повернутися abcd, cdab, adbcабо bcad.
aabbcc, abc- вони обидва мають ab, acі bcяк дійсні пари. Ви повинні повернути одну з цих пар, неважливо, яка.
abbac- a і b мають однаковий підрахунок символів, але насправді вони не можуть працювати, оскільки один з них трапляється як зліва, так і справа з усіх подій другого. Повернути нічого.
aabcdb- cdі abє точними двома дужками пар, тому виведіть або cdabабо abcd.
abcdacbd- тільки одна пара може бути досягнута відразу, але ab, ac, bd, cd, і adвсе з можливих пар ви можете повернутися. Незалежно від того, яку пару ви вибрали, у неї є екземпляр, коли в ній є один інший символ, який забороняє будь-які інші пари, за винятком випадків ad, коли інші пари bcі cbсамі неможливі, і тому неможливо. з ad.
Це код гольфу, тому найкоротший код у байтах виграє. Якщо це можливо для вашої мови, введіть STDIN. Якщо це неможливо, вкажіть у своїй відповіді спосіб введення.
abcd, вихідadbcтакож буде прийнятним, правда?