आइए हम स्ट्रिंग समतुल्यता (~) की एक नई परिभाषा स्थापित करें। दो स्ट्रिंग्स 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| दोनों ही 2 की किसी घात के बराबर होते हैं।
आउटपुट
यदि a समतुल्य है b के, तो प्रोग्राम को Yes प्रिंट करना चाहिए, अन्यथा No प्रिंट करना चाहिए।
Examples
Input
Output
bbcb
bcbb
Yes
bbaa
baba
No
Explanation
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 नहीं होने के कारण ये स्ट्रिंग्स समतुल्य नहीं होंगी।