import java.util.*;
public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            String a = sc.next();
            String b = sc.next();
            Map<String,Integer> mapA = new HashMap<>();
            Map<String,Integer> mapB = new HashMap<>();
            for(int i = 0 ; i < a.length() ; i++) {
                String n = String.valueOf(a.charAt(i));
                if(mapA.containsKey(n)) {
                    mapA.put(n,mapA.get(n) + 1);
                } else {
                    mapA.put(n,1);
                }
            }
            for(int i = 0 ; i < b.length() ; i++ ) {
                String n = String.valueOf(b.charAt(i));
                if(mapB.containsKey(n)) {
                    mapB.put(n,mapB.get(n) + 1);
                } else {
                    mapB.put(n,1);
                }
            }
            // 遍历mapB
            boolean flag = false;
            Iterator<Map.Entry<String,Integer>> entries = mapB.entrySet().iterator();
            while(entries.hasNext()) {
                Map.Entry<String,Integer> entry = entries.next();
                if(mapA.containsKey(entry.getKey()) && mapA.get(entry.getKey()) >= entry.getValue()) {
                    flag = true;
                } else {
                    flag = false;
                    break;
                }
            }
            if(flag) {
                System.out.println("Yes");
            } else {
                System.out.println("No");
            }
        }
    }
}