n,m = map(int,input().split())
eat = list(map(int,input().split()))
k = int(input())
l = []
for i in range(k):
l.append(list(map(int,input().split())))
value = []
weight = []
inbeer = []
for link in l:
inbeer.append(link[0]-1)
inbeer.append(link[1]-1)
weight.append(eat[link[0]-1]+eat[link[1]-1])
value.append(2)
for idx,num in enumerate(eat):
if idx not in inbeer:
value.append(1)
weight.append(num)
dp = [0]*(m+1)
#先遍历物品,在遍历背包
for i in range(len(weight)):
for j in range(m,weight[i]-1,-1):
dp[j] = max(dp[j],dp[j-weight[i]]+value[i])
print(dp[-1])