Եկեք տողերի համարժեքության (~) նոր սահմանում տանք։ Մենք կասենք, որ երկու թել (string) a և b համարժեք են, եթե նրանց երկարությունները հավասար են և կատարվում է հետևյալ երկու պայմաններից մեկը.
a-ն նույնն է, ինչ b (a == b)
Եթե մենք a-ն բաժանենք երկու հավասար մասի՝ a1 և a2, իսկ b-ն էլ բաժանենք երկու հավասար մասի՝ b1 և b2, ապա պիտի կատարվի հետևյալից մեկը.
a1 համարժեք է b1ին, իսկ a2 համարժեք է b2ին (a1 ~ b1 և a2 ~ b2)
a1 համարժեք է b2ին, իսկ a2 համարժեք է b1ին (a1 ~ b2 և a2 ~ b1)
Տրված են երկու թելեր a և b. Անհրաժեշտ է պարզել, թե արդյոք դրանք համարժեք են։
Մուտք
Մուտքի առաջին տողում տրված է թելը a (1 ≤ |a| ≤ )։
Մուտքի երկրորդ տողում տրված է թելը b (1 ≤ |b| ≤ )։
Եվ |a|-ի ու |b|-ի երկարությունները երկուսի աստիճան են։
Ելք
Ծրագիրը ելքում պետք է տպի Yes, եթե a-ն համարժեք է b-ին, հակառակ դեպքում տպի No։
Օրինակներ
Մուտք
Ելք
bbcb
bcbb
Yes
bbaa
baba
No
Բացատրություն
bbcb → bb + cb, իսկ bcbb → bc + bb ⇒ bb-ն համարժեք է bb-ին, իսկ cb-ն էլ համարժեք է bc-ին, քանի որ եթե cb-ն բաժանենք c և b, իսկ bc-ն բաժանենք b և c, պարզվում է, որ դրանք նույնպես համարժեք են։
bbaa → bb + aa, իսկ baba → ba + ba ⇒ այստեղ որևէ զույգ համարժեք نہیں, քանի որ հետագա բաժանումներից կստացվի համեմատել aa-ն ba-ի հետ, և چونց որ aa-ի մեջ ընդհանրապես չկա b, եզրակացնում ենք, որ դրանք համարժեք լինել չեն կարող։