n,m=map(int,input().split())

a=list(map(int,input().split()))

a.sort()

bc=[]
for i in range(m):
    bc.append(list(map(int,input().split())))

bc.sort(key=lambda x:x[1],reverse=True)

lis=[]
for i in range(m):
    if len(lis)>=n:
        break
    for _ in range(bc[i][0]):
        lis.append(bc[i][1])

while len(lis)<n:
    lis.append(0)

s=0
for i in range(n):
    s+=max(a[i],lis[i])

print(s) n,m=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m a=list(map(int,input().split())) a list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split a.sort() a.sort a sort bc=[] bc [] for i in range(m):
    bc.append(list(map(int,input().split()))) i range(m) range m bc.append(list(map(int,input().split()))) bc.append bc append list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split bc.sort(key=lambda x:x[1],reverse=True) bc.sort bc sort key=lambda x:x[1] key lambda x:x[1] x[1] x 1 x reverse=True reverse True lis=[] lis [] for i in range(m):
    if len(lis)>=n:
        break
    for _ in range(bc[i][0]):
        lis.append(bc[i][1]) i range(m) range m if len(lis)>=n:
        break
     len(lis)>=n len(lis) len lis n break for _ in range(bc[i][0]):
        lis.append(bc[i][1]) _ range(bc[i][0]) range bc[i][0] [i] bc i 0 lis.append(bc[i][1]) lis.append lis append bc[i][1] [i] bc i 1 while len(lis)<n:
    lis.append(0) len(lis)<n len(lis) len lis n lis.append(0) lis.append lis append 0 s=0 s 0 for i in range(n):
    s+=max(a[i],lis[i]) i range(n) range n s+=max(a[i],lis[i]) s max(a[i],lis[i]) max a[i] a i lis[i] lis i print(s) print s s+=max(a[i],lis[i]) max(a[i],lis[i]) s n,m=map(int,input().split()) map(int,input().split()) n lis=[] [] lis m=map(int,input().split()) map(int,input().split()) m bc=[] [] bc a=list(map(int,input().split())) list(map(int,input().split())) a s=0 0 s
n,m=map(int,input().split())

a=list(map(int,input().split()))

a.sort()

bc=[]
for i in range(m):
    bc.append(list(map(int,input().split())))

bc.sort(key=lambda x:x[1],reverse=True)

lis=[]
for i in range(m):
    if len(lis)>=n:
        break
    for _ in range(bc[i][0]):
        lis.append(bc[i][1])

while len(lis)<n:
    lis.append(0)

s=0
for i in range(n):
    s+=max(a[i],lis[i])

print(s)