#include<iostream>
using namespace std;
int a[10040],b[10040];
int f(int x){
if(a[x]==x){
return x;
}
else{
return a[x]=f(a[x]);
}
}
int f1(int x){
if(b[x]==x){
return x;
}
else{
return b[x]=f(b[x]);
}
}
int main(){
int n,m,p,q,x=0,y=0;
cin>>n>>m>>p>>q;
for(int i=1;i<=n;i++){
a[i]=i;
}
for(int i=1;i<=m;i++){
b[i]=i;
}
for(int i=1;i<=p;i++){
cin>>x>>y;
a[f(x)]=a[f(y)];
}
for(int i=1;i<=q;i++){
cin>>x>>y;
x=-x;
y=-y;
b[f1(x)]=b[f1(y)];
}
x=0;
y=0;
for(int i=1;i<=n;i++){
if(a[1]==a[i]){
x++;
}
}
for(int i=1;i<=m;i++){
if(b[1]==b[i]){
y++;
}
}
if(x<y){
cout<<x;
}
else{
cout<<y;
}
return 0;
}
只AC了#1和#4