import sys
input = lambda:sys.stdin.readline().strip()
def find(x, s):
if x != s[x]:
s[x] = find(s[x], s)
return s[x]
def merge(x, y, s):
x = find(x, s)
y = find(y, s)
if x != y:
s[x] = s[y]
def solve():
n, m, p, q = map(int, input().split())
boy = [i for i in range(n + 1)]
girl = [i for i in range(m + 1)]
for _ in range(p):
x, y = map(int, input().split())
merge(x, y, boy)
for _ in range(q):
x, y = map(int, input().split())
merge(-x, -y, girl)
for i in girl:
find(i, girl)
for j in boy:
find(j, boy)
num_boy = 1
for i in range(2, n + 1):
if boy[i] == boy[1]:
num_boy += 1
num_girl = 1
for i in range(2, m + 1):
if girl[i] == girl[1]:
num_girl += 1
print(min(num_girl, num_boy))
solve()