#include<bits/stdc++.h>
#define int long long
using namespace std;
int fa[20005];
int fd(int r)
{
if(fa[r]==r)return r;
fa[r]=fd(fa[r]);
return fd(fa[r]);
}
void jn(int x,int y)
{
int fx=fd(x),fy=fd(y);
fa[fy]=fx;
}
signed main()
{
int m,n,p,q,ansh=0,anss=0;
cin>>n>>m>>p>>q;
for(int i=1;i<=n+m;i++)fa[i]=i;
for(int i=1;i<=p;i++)
{
int x,y;
cin>>x>>y;
jn(x,y);
}
for(int i=1;i<q;i++)
{
int x,y;
cin>>x>>y;
x=abs(x)+n;
y=abs(y)+n;
jn(x,y);
}
for(int i=1;i<n;i++)
{
int x,y;
cin>>x>>y;
int fx=fd(x),fy=fd(y);
if(fx==fy)
ansh++;
}
for(int i=n+1;i<n+m;i++)
{
int x,y;
cin>>x>>y;
int fx=fd(x),fy=fd(y);
if(fx==fy)
anss++;
}
cout<<min(ansh,anss);
return 0;
}