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");
}
}
}
}