#include <bits/stdc++.h>
using namespace std;
const long long inf = 4e18;
const long long maxn = 2e5 + 10;
const long long mod = 1e9 + 7;
string f(string s, long long l, long long r) {
  if ((r - l) % 2) return s;
  long long ln = (r - l) / 2;
  string s1 = f(s.substr(0, ln), l, l + ln),
         s2 = f(s.substr(ln, ln), l + ln, r);
  if (s1 > s2) swap(s1, s2);
  return (s1 + s2);
}
int main() {
  string s1, s2;
  cin >> s1 >> s2;
  s1 = f(s1, 0, (s1).size());
  s2 = f(s2, 0, (s2).size());
  cout << (s1 == s2 ? "YES" : "NO");
}
