n, m, q = map(int, input().split()) rem_edges = set() for _ in range(m): u, v = map(int, input().split()) u -= 1; v -= 1 rem_edges.add((u, v)) edges = [] for _ in range(q): u, v = map(int, input().split()) u -= 1; v -= 1 rem_edges.discard((u, v)) edges.append((u, v)) groups = [[i] for i in range(n)] leader = [i for i in range(n)] ans = [-1] * n for u, v in rem_edges: lu = leader[u] lv = leader[v] if lu == lv: continue if len(groups[lu]) < len(groups[lv]): lu, lv = lv, lu for w in groups[lv]: groups[lu].append(w) leader[w] = lu for i in range(q)[::-1]: u, v = edges[i] lu = leader[u] lv = leader[v] if lu == lv: continue if len(groups[lu]) < len(groups[lv]): lu, lv = lv, lu if leader[0] == lv: for w in groups[lu]: ans[w] = i + 1 if leader[0] == lu: for w in groups[lv]: ans[w] = i + 1 for w in groups[lv]: groups[lu].append(w) leader[w] = lu print(*ans[1:], sep = "\n")