#include <bits/stdc++.h>
using namespace std;
string a, b;
bool dfs(string s, string t, int n) {
  if (s == t) return true;
  if (n & 1) return false;
  return (dfs(s.substr(0, n / 2), t.substr(n / 2), n / 2) &&
          dfs(s.substr(n / 2), t.substr(0, n / 2), n / 2)) ||
         (dfs(s.substr(0, n / 2), t.substr(0, n / 2), n / 2) &&
          dfs(s.substr(n / 2), t.substr(n / 2), n / 2));
}
int main() {
  cin >> a >> b;
  if (dfs(a, b, a.size()))
    puts("YES");
  else
    puts("NO");
  return 0;
}
