import java.util.*;

public class Pinduoduo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            int m = scanner.nextInt();
            int[] candy=new int[101];
            for (int i = 0; i < m; i++) {
                Integer temp = scanner.nextInt();
                candy[temp]++;
            }
            List<Bear> bearList = new ArrayList<>();

            int result[]=new int[n];
            for (int i = 0; i < n; i++) {
                Bear bear = new Bear();
                bear.level = scanner.nextInt();
                bear.hunger = scanner.nextInt();
                bear.index=i;
                bearList.add(bear);
            }
            Collections.sort(bearList, new Comparator<Bear>() {
                @Override
                public int compare(Bear o1, Bear o2) {
                    return o2.level - o1.level;
                }
            });
            for (Bear bear : bearList
                    ) {
                for (int i = candy.length; i >=0; i--) {
                    if (candy[i]>0&&bear.hunger>=i){
                        candy[i]--;
                        bear.hunger-=i;
                    }
                }
                result[bear.index]=bear.hunger;
            }
            for (int i = 0; i < n; i++) {
                System.out.println(result[i]);
            }
        }
    }

}

class Bear {
    int level;
    int hunger;
    int index;
}