import sys

bear_num, candy = sys.stdin.readline().strip().split()
bear_num, candy = int(bear_num), int(candy)

energy = [int(x) for x in sys.stdin.readline().strip().split()]
energy.sort()
bear = {}
for i in range(bear_num):
    line = sys.stdin.readline().strip().split()
    bear[i] = {
        'power': int(line[0]),
        'hungry': int(line[1]),
    }
bear = dict(sorted(bear.items(), key=lambda item: item[1]['power'], reverse=True))

for v in bear.values():
    hungry = v['hungry']
    while energy != [] and hungry >= energy[0]:
        i = -1
        # 遍历寻找能量不超过hungry的最大饼干
        while energy[i] > hungry and i > -len(energy):
            i -= 1
        hungry -= energy[i]
        energy.pop(i)
    v['hungry'] = hungry

# 最终输出需要按照小熊顺序输出
bear = dict(sorted(bear.items(), key=lambda item: item[0]))

for v in bear.values():
    print(v['hungry'])