import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param requirements string字符串
     * @param allocations string字符串
     * @return string字符串
     */
    public String can_construct (String requirements, String allocations) {
        if (requirements.length() > allocations.length()) { //供不应求
            return "NO";
        }
        Map<Character, Integer> map = new HashMap<>();
        for (char c : allocations.toCharArray()) {     //分配的资源数量
            map.put(c, map.getOrDefault(c, 0) + 1);
        }
        for (char c : requirements.toCharArray()) { //遍历需求量
            if (!map.containsKey(c) || map.get(c) == 0) {  //如果没有这个资源或者资源已耗尽
                return "NO";
            }
            map.put(c, map.get(c) - 1); //对应资源-1
        }
        return "YES";
    }
}