Համարժեք թելեր

Եկեք տողերի համարժեքության (~) նոր սահմանում տանք։ Մենք կասենք, որ երկու թել (string) a և b համարժեք են, եթե նրանց երկարությունները հավասար են և կատարվում է հետևյալ երկու պայմաններից մեկը.
  1. a-ն նույնն է, ինչ b (a == b)
  1. Եթե մենք a-ն բաժանենք երկու հավասար մասի՝ a1 և a2, իսկ b-ն էլ բաժանենք երկու հավասար մասի՝ b1 և b2, ապա պիտի կատարվի հետևյալից մեկը.
    1. a1 համարժեք է b1ին, իսկ a2 համարժեք է b2ին (a1 ~ b1 և a2 ~ b2)
    2. 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

Բացատրություն

  1. bbcbbb + cb, իսկ bcbbbc + bbbb-ն համարժեք է bb-ին, իսկ cb-ն էլ համարժեք է bc-ին, քանի որ եթե cb-ն բաժանենք c և b, իսկ bc-ն բաժանենք b և c, պարզվում է, որ դրանք նույնպես համարժեք են։
  1. bbaabb + aa, իսկ bababa + ba ⇒ այստեղ որևէ զույգ համարժեք نہیں, քանի որ հետագա բաժանումներից կստացվի համեմատել aaba-ի հետ, և چونց որ aa-ի մեջ ընդհանրապես չկա b, եզրակացնում ենք, որ դրանք համարժեք լինել չեն կարող։
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue