Buggy python submission (verdict: Time Limit Exceeded):
import cProfile
n,m = map(int,input().split())
a = list(map(int, input().split()))
a.sort()
s = []
for i in range(m):
    b,c = map(int,input().split())
    s += [c]*b
    
s.sort()
s.reverse()
d = len(s)
#print(a[n-1])
for i in range(n):
    if s[0] > a[i]:
        a[i] = s[0]
        s.remove(s[0])
    else:
        break
    if i == d-1:
        break


print(sum(a))
#cProfile.run()



Fixed submission:
n,m = map(int,input().split())
a = list(map(int, input().split()))
a.sort()
e =0
bc = []
for i in range(m):
    d = list(map(int,input().split()))
    bc.append([d[1],d[0]])
    e += d[0] 
#print(a)  
 
 
bc.sort()
bc.reverse()
#print(bc)
 
#print(e)
#print(a[n-1])
j = 0
for i in range(n):
    if j == bc[0][1] :
        bc.remove(bc[0])
        j = 0
    if bc[0][0] > a[i]:
        a[i] = bc[0][0]
        j += 1
    else:
        break
    if i == e-1:
        break
 
 
#print(a)
print(sum(a))

Buggy python submission (verdict: Runtime Error):
import cProfile
n,m = map(int,input().split())
a = list(map(int, input().split()))
a.sort()
s = []
for i in range(m):
    b,c = map(int,input().split())
    s += [c]*b
    
s.sort()
s.reverse()
d = max(n,len(s))

for i in range(n):
    if s[0] > a[i]:
        a[i] = s[0]
        s.remove(s[0])
    else:
        break
    if i == d-1:
        break


print(sum(a))
#cProfile.run()

Fixed submission:
n,m = map(int,input().split())
a = list(map(int, input().split()))
a.sort()
e =0
bc = []
for i in range(m):
    d = list(map(int,input().split()))
    bc.append([d[1],d[0]])
    e += d[0] 
#print(a)  
 
 
bc.sort()
bc.reverse()
#print(bc)
 
#print(e)
#print(a[n-1])
j = 0
for i in range(n):
    if j == bc[0][1] :
        bc.remove(bc[0])
        j = 0
    if bc[0][0] > a[i]:
        a[i] = bc[0][0]
        j += 1
    else:
        break
    if i == e-1:
        break
 
 
#print(a)
print(sum(a))

Buggy python submission (verdict: Runtime Error):
n,m = map(int,input().split())
a = list(map(int, input().split()))
a.sort()
s = []
for i in range(m):
    b,c = map(int,input().split())
    for j in range(b):
        s.append(c)
s.sort()
s.reverse()
d = max(n,len(s))

for i in range(n):
    if s[0] > a[i]:
        a[i] = s[0]
        s.remove(s[0])
    else:
        break
    if i == d-1:
        break


print(sum(a))


Fixed submission:
n,m = map(int,input().split())
a = list(map(int, input().split()))
a.sort()
e =0
bc = []
for i in range(m):
    d = list(map(int,input().split()))
    bc.append([d[1],d[0]])
    e += d[0] 
#print(a)  
 
 
bc.sort()
bc.reverse()
#print(bc)
 
#print(e)
#print(a[n-1])
j = 0
for i in range(n):
    if j == bc[0][1] :
        bc.remove(bc[0])
        j = 0
    if bc[0][0] > a[i]:
        a[i] = bc[0][0]
        j += 1
    else:
        break
    if i == e-1:
        break
 
 
#print(a)
print(sum(a))

Buggy python submission (verdict: Runtime Error):
n,m = map(int,input().split())
a = list(map(int, input().split()))
a.sort()
s = []
for i in range(m):
    b,c = map(int,input().split())
    for j in range(b):
        s.append(c)
s.sort()
s.reverse()
d = max(n,len(s))

for i in range(n):
    if s[0] > a[i]:
        a[i] = s[0]
        s.remove(s[0])
    if i == d-1:
        break


print(sum(a))

Fixed submission:
n,m = map(int,input().split())
a = list(map(int, input().split()))
a.sort()
e =0
bc = []
for i in range(m):
    d = list(map(int,input().split()))
    bc.append([d[1],d[0]])
    e += d[0] 
#print(a)  
 
 
bc.sort()
bc.reverse()
#print(bc)
 
#print(e)
#print(a[n-1])
j = 0
for i in range(n):
    if j == bc[0][1] :
        bc.remove(bc[0])
        j = 0
    if bc[0][0] > a[i]:
        a[i] = bc[0][0]
        j += 1
    else:
        break
    if i == e-1:
        break
 
 
#print(a)
print(sum(a))