#include<bits/stdc++.h>
using namespace std;
int fa[20101][2];
int find(int x){
if(fa[x][0]!=x)fa[x][0]=find(fa[x][0]);
return fa[x][0];
}
int n,p,m,q;
int main()
{
cin>>n>>m>>p>>q;
fa[0][0]=0;fa[0][1]=1;
for(int i=1;i<=n;i++)fa[i][0]=i,fa[i][1]=1;
for(int i=1;i<=p;i++)
{
int x,y;
cin>>x>>y;
int a=find(x),b=find(y);
if(a!=b)fa[a][0]=b,
fa[b][1]+=fa[a][1];
}
int u=fa[fa[1][0]][1];
fa[0][0]=0;fa[0][1]=1;
for(int i=1;i<=m;i++)fa[i][0]=i,fa[i][1]=1;
for(int i=1;i<=q;i++)
{
int x,y;
cin>>x>>y;
x=abs(x),y=abs(y);
int a=find(x),b=find(y);
if(a!=b)fa[a][0]=b,
fa[b][1]+=fa[a][1];
}
cout<<min(u,fa[fa[1][0]][1]);
return 0;
}