from collections import defaultdict N,M = list(map(int,input().split())) edge = defaultdict(set) edge_rev = defaultdict(set) for _ in range(M): u,v = list(map(int,input().split())) u -= 1;v -= 1 edge[u].add(v) edge_rev[v].add(u) status = defaultdict(lambda:True) kagi_count = 0 kagi = defaultdict(int) Q = int(input()) for _ in range(Q): q,a,b = list(map(int,input().split())) a -= 1;b -= 1 if(q == 1): if(b in edge[a]): edge[a].remove(b) edge_rev[b].remove(a) if(not status[b]): kagi[a] -= 1 else: edge[a].add(b) edge_rev[b].add(a) if(not status[b]): kagi[a] += 1 else: if(status[a]): status[a] = False for i in edge_rev[a]: kagi[i] += 1 kagi_count += 1 else: status[a] = True for i in edge_rev[a]: kagi[i] -= 1 kagi_count -= 1 print(N - kagi_count + kagi[a] - status[a])