#include <bits/stdc++.h>
using namespace std;
int i, j, k;
const int M = 2000 + 6;
long long a[M][M];
long long pref1[M][M], pref2[M][M];
long long valu[M][M];
string lexmin(string s) {
  if (s.size() % 2) return s;
  string s1 = s.substr(0, s.size() / 2);
  string s2 = s.substr(s.size() / 2, s.size() / 2);
  string p = lexmin(s1), q = lexmin(s2);
  if (p < q)
    return p + q;
  else
    return q + p;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  string a, b;
  cin >> a >> b;
  string a1 = lexmin(a), b1 = lexmin(b);
  if (a1 == b1)
    cout << "YES";
  else
    cout << "NO";
}
