# https://yukicoder.me/problems/no/3390 def main(): N, M = map(int, input().split()) next_nodes = {} for _ in range(M): u, v = map(int, input().split()) u -= 1 v -= 1 if u not in next_nodes: next_nodes[u] = set() next_nodes[u].add(v) Q = int(input()) queries = [] for _ in range(Q): values = tuple(map(int, input().split())) queries.append(values) private = set() for q, a, b in queries: if q == 2: a -= 1 if a in private: private.remove(a) else: private.add(a) elif q == 1: a -= 1 b -= 1 if a in next_nodes and b in next_nodes[a]: next_nodes[a].remove(b) else: if a not in next_nodes: next_nodes[a] = set() next_nodes[a].add(b) n = N - len(private) if a in next_nodes: lens = len(next_nodes[a]) pubs = 0 for b in next_nodes[a]: if b not in private: pubs += 1 lens -= pubs else: lens = 0 if a not in private: ans = lens + n - 1 else: ans = lens + n print(ans) if __name__ == "__main__": main()