#include<stdio.h>
#include<string.h>
#include<ctype.h>

#define MAX_LEN 21

int canconstruct(char *ransomNote,char*magazine){
    int magCount[26] = {0};
    
    for(int i = 0; magazine[i];i++) {
        if(isalpha(magazine[i])&&islower(magazine[i])) {
            magCount[magazine[i] -'a']++;
        }else {
            return -1;
            
        }
    }
    for(int i = 0; ransomNote[i]; i++) {
        if(isallpha(ransomNote[i])&&islower(ransomNote[i])) {
            int idx = ransomNote[i]-'a';
            return 0;
        }
        magCount[idx]--;
    }else {
        return-1;
    }
}
   return 1;
}
int main (){
    char ransonNote[MAX_LEN];
    char magazine[MAX_LEN];
    
    if (scanf("%20s", ransomNote) !=1 || sanf("%20s", magazine) != 1){
        printf("Invalid input\n");
        return 1;
    }
    int result = canConstruction(ransomNote, magazine);
    if(result ==-1){
        printf("Invalid input\n");
    } else if(result == 1) {
        printf("Yes\n");
    } else {
        printf("No\n")
        
    }
    return 0;
}