#include <bits/stdc++.h>
using namespace std;
bool findAns(string a, string b) {
  if (a.length() != b.length()) {
    return false;
  } else if (a == b) {
    return true;
  } else {
    if (a.length() % 2 == 0 && b.length() % 2 == 0) {
      string a1 = a.substr(0, a.length() / 2);
      string a2 = a.substr(a.length() / 2, a.length() / 2);
      string b1 = b.substr(0, b.length() / 2);
      string b2 = b.substr(b.length() / 2, b.length() / 2);
      if (a1 == b1 && a2 == b2) {
        return true;
      } else if (a1 == b2 && b1 == a2) {
        return true;
      } else {
        if (findAns(a1, b2) && findAns(a2, b1)) {
          return true;
        } else {
          return (findAns(a1, b1) && findAns(a2, b2));
        }
      }
    } else {
      return false;
    }
  }
}
int main() {
  string a;
  string b;
  cin >> a >> b;
  bool done = findAns(a, b);
  if (done) {
    cout << "YES" << endl;
  } else {
    cout << "NO" << endl;
  }
  return 0;
}
