#include <iostream>
#include <string>
#include <vector>
#include <cctype>
#include <algorithm>
using namespace std;
bool isAirportCode(const string &S, const string &T) {
if (T.size() != 3) {
return false;
}
string lowercaseS = S;
transform(lowercaseS.begin(), lowercaseS.end(), lowercaseS.begin(), ::tolower);
vector<int> countS(26, 0);
for (char c : lowercaseS) {
if (isalpha(c)) {
countS[c - 'a']++;
} else {
return false;
}
}
for (int i = 0; i < 2; ++i) {
char c = T[i];
if (isupper(c)) {
char lowercaseC = tolower(c);
if (countS[lowercaseC - 'a'] > 0) {
countS[lowercaseC - 'a']--;
} else {
return false;
}
} else {
return false;
}
}
char c = T[2];
if (c == 'X' || (isupper(c) && countS[tolower(c) - 'a'] > 0)) {
if (isupper(c)) {
countS[tolower(c) - 'a']--;
}
return true;
}
return false;
}
int main() {
string S, T;
cin>>S>>T;
if (isAirportCode(S, T)) {
cout << "Yes";
} else {
cout << "No";
}
return 0;
}