from collections import defaultdict N, M = map(int, input().split()) edge = [list(map(int, input().split())) for _ in range(M)] Q = int(input()) query = [list(map(int, input().split())) for _ in range(Q)] G = defaultdict(set) for u, v in edge: u, v = u-1, v-1 if v in G[u]: G[u].remove(v) else: G[u].add(v) S = set() for i in range(Q): q = query[i][0] if q == 1: a, b = query[i][1:] a, b = a-1, b-1 if b in G[a]: G[a].remove(b) else: G[a].add(b) else: a = query[i][1]-1 if a in S: S.remove(a) else: S.add(a) ans = N-1 a = query[i][1]-1 for s in S: if s == a: continue if s not in G[a]: ans -= 1 print(ans)