#include <iostream>
using namespace std;
struct water
{
int c,w;
};
int main()
{
int red[10001],blue[10001],m1,m2,n,A,B,r_c,b_c;
water r[10001],b[10001];
cin>>n>>m1>>m2;
for(int i=0;i<m1;++i)
{
cin>>r[i].c>>r[i].w;
}
for(int i=0;i<m2;++i)
{
cin>>b[i].c>>b[i].w;
}
cin>>A>>B;
for(int i=0;i<=n;++i)
{
red[i]=0;
}
for(int i=0;i<m1;++i)
{
for(int j=n;j>=r[i].c;--j)
{
red[j]=max(red[j],red[j-r[i].c]+r[i].w);
}
}
for(int i=0;i<=n;++i)
{
blue[i]=0;
}
for(int i=0;i<m2;++i)
{
for(int j=n;j>=r[i].c;--j)
{
blue[j]=max(blue[j],blue[j-r[i].c]+r[i].w);
}
}
for(int i=0;i<n;++i)
{
if(red[i]>=A)
{
r_c=i;
break;
}
}
for(int i=0;i<n;++i)
{
if(blue[i]>=B)
{
b_c=i;
break;
}
}
if(r_c+b_c>n)
{
cout<<"GG"<<endl;
}
else
{
cout<<r_c+b_c<<endl;
}
}