#include <iostream>
#include <istream>
#include <sstream>
#include <vector>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <cstring>
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
#include <numeric>
#include <chrono>
#include <ctime>
#include <cmath>
#include <cctype>
#include <string>
#include <cstdio>
#include <iomanip>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <functional>
#include <iterator>
using namespace std;
string first, second;
int arr[26],arr2[26];
int main()
{
while (cin >> first >> second) {
memset(arr, 0, sizeof(arr));
memset(arr2, 0, sizeof(arr2));
int len = first.size();
for (int i = 0; i < len; i++) {
arr[first[i] - 'A']++;
arr2[second[i] - 'A']++;
}
sort(arr, arr + 26);
sort(arr2, arr2 + 26);
int ans = 1;
for (int i = 0; i < 26; i++) {
if (arr[i] != arr2[i]) {
ans = 0;
break;
}
}
cout << (ans ? "YES" : "NO") << endl;
}
return 0;
}
07-31
323
10-07
737