#include<bits/stdc++.h>
using namespace std;

const long long MaxN = 5e4 + 5;
const long long INF = 1e18;

long long a[MaxN];
long long st[4*1005];

long long n,m,ans=0;

void update(long long id,long long l,long long r,long long pos,long long val)
{
    if(l==r)
    {
        st[id]=min(st[id],val);
        return;
    }

    long long mid=(l+r)/2;

    if(pos<=mid)
    {
        update(id*2,l,mid,pos,val);
    }
    else
    {
        update(id*2+1,mid+1,r,pos,val);
    }

    st[id]=min(st[id*2],st[id*2+1]);
}

long long get(long long id,long long l,long long r,long long u,long long v)
{
    if(v<l || r<u)
    {
        return INF;
    }

    if(u<=l && r<=v)
    {
        return st[id];
    }

    long long mid=(l+r)/2;

    return min(get(id*2,l,mid,u,v),
               get(id*2+1,mid+1,r,u,v));
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    if(fopen("airc.inp","r"))
    {
        freopen("airc.inp","r",stdin);
        freopen("airc.out","w",stdout);
    }

    cin >> n;

    for(long long i=1;i<=n;i++)
    {
        cin >> a[i];
    }

    cin >> m;

    for(long long i=1;i<=4*1000;i++)
    {
        st[i]=INF;
    }

    for(long long i=1;i<=m;i++)
    {
        long long b,c;
        cin >> b >> c;
        update(1,1,1000,b,c);
    }

    for(long long i=1;i<=n;i++)
    {
        ans+=get(1,1,1000,a[i],1000);
    }

    cout << ans;

    return 0;
}
