#include using namespace std; int a[100005],b[100005]; int F[11][1005],n,m,u,i,oo,ok,k,p,q,v; long long ans; int main(){ while (scanf("%d%d",&n,&m)!=EOF){ for (i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]); memset(F,60,sizeof(F)); for (u=0;u<=10;u++) F[u][0]=0; oo=F[0][1];//printf("%d\n",oo); for (i=1;i<=m;i++){ scanf("%d%d",&k,&p); for (u=0;u<=10;u++) if (p>u){ q=p-u; for (v=0;v<=1000;v++) F[u][min(1000,v+q)]=min(F[u][min(1000,v+q)],F[u][v]+k); for (v=999;v>=0;v--) F[u][v]=min(F[u][v],F[u][v+1]); } } ans=0;ok=1; for (i=1;i<=n&&ok;i++) if (F[b[i]][a[i]]==oo) ok=0;else ans+=F[b[i]][a[i]]; if (!ok) puts("-1");else cout<