#include <bits/stdc++.h>
using namespace std;
string s, t;
bool eq(int l1, int r1, int l2, int r2) {
  if ((r1 - l1 + 1) % 2 == 1) {
    for (int i = 0; i < r1 - l1 + 1; i++) {
      if (s[l1 + i] != t[l2 + i]) {
        return 0;
      }
    }
    return 1;
  }
  int e = (l1 + r1) / 2;
  int y = (l2 + r2) / 2;
  return ((eq(l1, e, l2, y) && eq(e + 1, r1, y + 1, r2)) ||
          (eq(l1, e, y + 1, r2) && eq(e + 1, r1, l2, y)));
}
int main() {
  cin >> s >> t;
  int u = s.size() - 1;
  if (eq(0, u, 0, u)) {
    cout << "YES";
  } else {
    cout << "NO";
  }
}
