#include <bits/stdc++.h>
using namespace std;
string a, b;
bool eq(int idx1, int idx2, int idx3, int idx4) {
  if (idx2 - idx1 != idx4 - idx3) return false;
  bool all = true;
  for (int i = idx1; i <= idx2; i++) {
    all = all && a[i] == b[idx3 + i - idx1];
  }
  if (all) return true;
  if (idx1 == idx2) return false;
  return (((idx2 - idx1 + 1) % 2) == 0) && (((idx4 - idx3 + 1) % 2) == 0) &&
         ((eq(idx1, (idx1 + idx2) / 2, (idx3 + idx4) / 2 + 1, idx4) &&
           eq((idx1 + idx2) / 2 + 1, idx2, idx3, (idx3 + idx4) / 2)) ||
          (eq(idx1, (idx1 + idx2) / 2, idx3, (idx3 + idx4) / 2) &&
           eq((idx1 + idx2) / 2 + 1, idx2, (idx3 + idx4) / 2 + 1, idx4)));
}
int main() {
  cin >> a >> b;
  if (eq(0, a.size() - 1, 0, b.size() - 1)) {
    cout << "YES" << endl;
  } else
    cout << "NO" << endl;
  return 0;
}
