//本人码风怪异,不喜勿喷
#include<bits/stdc++.h>
using namespace std;
map <char,int> m1;
map <char,int> m2;
string s1,s2,s3;
int main(){
cin >> s1 >> s2 >> s3;
for(int i = 0;i < s1.size();i++){
m1[s1[i]]++;
}
for(int i = 0;i < s2.size();i++){
m1[s2[i]]++;
}
for(int i = 0;i < s3.size();i++){
m2[s3[i]]++;
}
map<char,int>::iterator it;
for(it = m2.begin();it != m2.end();it++){
if(m1[it -> first] != m2[it -> first]){
cout << "NO" <<endl;
return 0;
}
}
cout << "YES" << endl;
return 0;
}
有可能使用不熟练但样例过了并且看不到分,求助awa。