m=int(input())
num=[]
for i in range(m):
num.append(int(input()))
num.sort()
n=int(input())
mm=[]
for i in range(n):
mm.append(int(input()))
mm.sort()
def find(t):
if (t==-1):return 1
i=m-1
ans=0
while i!=-1:
if num[i]>=mm[t]:
num[i]-=mm[t]
ans=max(ans,find(t-1))
num[i]+=mm[t]
if (ans==1):return 1
i-=1
return 0
l=-1
r=n
ans=0
while (l+1<r):
mid=(r+l)>>1
if find(mid)==1:
ans=max(mid+1,ans)
l=mid
else :r=mid
print(ans)