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