#include <iostream>
#include <stdio.h>
#include <string.h>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
#define MAXN 26
using namespace std;
int main(void)
{
string s1, s2;
int a[MAXN], b[MAXN];
while (cin >> s1 >> s2)
{
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
int len = s1.size();
for (int i = 0; i < len; i++)
{
a[s1[i] - 'A']++;
b[s2[i] - 'A']++;
}
sort(a, a + MAXN);
sort(b, b + MAXN);
bool ok = true;
for (int i = 0; i < MAXN; i++)
if (a[i] != b[i])ok = false;
printf("%s\n", ok ? "YES" : "NO");
}
return 0;
}