N,C=map(int,input().split()) P=[int(input()) for i in range(N)] disc=[] disc_per=[] P.sort(reverse=True) for i in range(C): t,x=map(int,input().split()) if t==1: disc.append(x) else: disc_per.append(x) disc_per.sort(reverse=True) disc.sort(reverse=True) posi,posi_per=0,0 dp=[[10**9]*(C+1) for i in range(N+1)] dp[0][0]=0 for i in range(N): for j in range(C): if i-j<0: continue if i<=C-1: if j