#include using namespace std; #define ll long long #define MAX 100005 #define Max 1005 inline int read() { int x=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();} while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();} return x*f; } int n,m; int a[MAX],b[MAX],k[Max],p[Max],dp[15][1005]; ll ans; int main(){ while(scanf("%d%d",&n,&m)!=EOF){ ans=0; memset(dp,-1,sizeof(dp)); for(int i=1;i<=n;i++){a[i]=read();b[i]=read();} for(int i=1;i<=m;i++){k[i]=read();p[i]=read();} for(int i=0;i<=10;i++) dp[i][0]=0; for(int i=0;i<=10;i++){ for(int j=1;j<=1000;j++){ for(int w=1;w<=m;w++){ int h=p[w]-i; if(h<=0) continue; if(h>=j){ if(k[w]