#include <bits/stdc++.h>
using namespace std;
char a[200010], b[200010];
int DFS(char *a, char *b, int l) {
  if (strncmp(a, b, l) == 0) {
    return 1;
  }
  if (l % 2) {
    return 0;
  }
  int p = l / 2;
  if ((DFS(a, b + p, p) && DFS(a + p, b, p)) ||
      (DFS(a, b, p) && DFS(a + p, b + p, p))) {
    return 1;
  }
  return 0;
}
int main() {
  while (scanf("%s", a) != EOF) {
    scanf("%s", b);
    int len = strlen(a);
    if (DFS(a, b, len) == 1) {
      printf("YES\n");
    } else {
      printf("NO\n");
    }
  }
  return 0;
}
