#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
char s1[105];
char s2[105];
int cnt1[26];
int cnt2[26];
bool compare(int a,int b){
return a>b;
}
int f(char c){
return (int)c-'A';
}
int main(){
cin>>s1>>s2;
memset(cnt1,0,sizeof(cnt1));
memset(cnt2,0,sizeof(cnt2));
for(int i=0;i<strlen(s1);i++){
int n1=f(s1[i]);
int n2=f(s2[i]);
cnt1[n1]++;
cnt2[n2]++;
}
sort(cnt1,cnt1+26,compare);
sort(cnt2,cnt2+26,compare);
bool flag=true;
for(int i=0;i<26;i++){
if(cnt1[i]!=cnt2[i]){
flag=false;
}
if(cnt1[i]==0&&cnt2[i]==0)
break;
}
if(flag)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
return 0;
}