from collections import deque
import sys
input = sys.stdin.readline
N, M, Q = map(int, input().split())
path = {}
isolated = False
def print(x):
sys.stdout.write(f'{x}\n')
for _ in range(M):
a, b = map(int, input().split())
try:
path[a].append(b)
except KeyError:
path[a] = [b]
try:
path[b].append(a)
except KeyError:
path[b] = [a]
if len(path) != N:
isolated = True
def find(start, end):
if start == end:
print(0)
return
try:
if end in path[start]:
print(1)
return
except KeyError:
pass
if isolated:
try:
print(2 if len(path[start]) != 0 else '어차피 여기 안옴')
return
except KeyError:
print(1)
else:
q = deque([(start, 0)])
visited = set()
visited.add(start)
while q:
x, t = q.popleft()
way = path[x]
for k in way:
if k not in visited:
visited.add(k)
if k == end:
print(t + 1)
return
q.append((k, t + 1))
for _ in range(Q):
a, b = map(int, input().split())
find(a, b)




