#include <bits/stdc++.h>
using namespace std;
set<string> S;
void dfs(string &str, string s, int i, int cnt) {
  if (cnt == 0) {
    S.insert(s);
    return;
  }
  for (; i < str.size(); i++) dfs(str, s + str[i], i + 1, cnt - 1);
}
int ans;
void dfs2(string &str, string s, int i, int cnt) {
  if (cnt == 0) {
    ans |= S.count(s);
    return;
  }
  for (; i < str.size(); i++) dfs2(str, s + str[i], i + 1, cnt - 1);
}
int main() {
  string a, b;
  cin >> a >> b;
  dfs(a, "", 0, a.size() / 2);
  dfs2(b, "", 0, a.size() / 2);
  if (a.size() % 2) {
    dfs(a, "", 0, a.size() / 2 + 1);
    dfs2(b, "", 0, a.size() / 2 + 1);
  }
  cout << (ans ? "Yes" : "No") << endl;
  return 0;
}
