package com.kaishengit;
//小熊 import java.util.*; public class Main { public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); int bearNum = sc.nextInt(); int candyNum = sc.nextInt();
        Bear [] bears = new Bear[bearNum]; int [] candys = new int[candyNum]; for(int i = 0;i < candyNum;i++) { int num = sc.nextInt();
            candys[i] = num;
        } //返回结果  int [] res = new int[bearNum];
        List<Bear> bearArrayList = new ArrayList<>(); for(int i = 0;i < bearNum;i++) { int num = sc.nextInt(); int num1 = sc.nextInt();
            Bear bear = new Bear(num,num1,i);

            bears[i] = bear;
            bearArrayList = Arrays.asList(bears);
        } //战斗力排序  Collections.sort(bearArrayList); for(Bear bear : bearArrayList) { for(int i = candys.length - 1;i >= 0;i--) { if(candys[i] > 0 && bear.getHungry() >= candys[i]) {
                    bear.setHungry(bear.getHungry() - candys[i]);
                    candys[i] = 0;
                }
            }
            res[bear.index] = bear.getHungry();
        } for (int i = 0; i < bearNum; i++) {
            System.out.println(res[i]);
        }

    } public static class Bear implements Comparable<Bear>{
        Integer power;
        Integer hungry;
        Integer index; public Integer getPower() { return power;
        } public void setPower(Integer power) { this.power = power;
        } public Integer getHungry() { return hungry;
        } public void setHungry(Integer hungry) { this.hungry = hungry;
        } public Bear(int power, int hungry,int index) { this.power = power; this.hungry = hungry; this.index = index;
        } @Override  public int compareTo(Bear bear) { int i=bear.power-this.power; if(i>0) return 1; else{ return i==0?0:-1;
            }
        }

    } public static int getMax(int[] arr){ int max=arr[0]; int i=1; for(;i<arr.length;i++){ if(arr[i]>max){
                max=arr[i];
            }
        } return i;
    }
}