n,m,q = map(int,input().split()) ab = [list(map(int,input().split())) for _ in range(m)] cd = [list(map(int,input().split())) for _ in range(q)] M = 2**20 dic = {c*M+d:i for i,(c,d) in enumerate(cd)} ans = [0]*(n+1) lst = [[i] for i in range(n+1)] def merge(a,b,v): a, b = gp[a], gp[b] if a == b: return 0 if a == gp[1]: for i in lst[b]: ans[i] = v if b == gp[1]: for i in lst[a]: ans[i] = v if len(lst[a]) > len(lst[b]): a,b = b,a for x in lst[a]: gp[x] = b lst[b] += lst[a] return 1 gp = list(range(n+1)) for a,b in ab: if a*M+b not in dic: merge(a,b,-1) for i in range(q)[::-1]: merge(*cd[i],i+1) print(*ans[2:],sep="\n")