from collections import defaultdict N, M = map(int, input().split()) # 公開ユーザ数 public_users = N UV = [] nums = set() for i in range(M): u, v = map(int, input().split()) UV.append((u, v)) nums.add(u) nums.add(v) Q = int(input()) query = [] for i in range(Q): q, a, b = map(int, input().split()) nums.add(a) if b != -1: nums.add(b) query.append((q, a, b)) nums = sorted(nums) dd = defaultdict(int) for i, n in enumerate(nums): dd[n] = i N = len(dd) # ユーザがフォローしているユーザ一覧 follows = [set() for _ in range(N)] # 非公開のユーザ not_public = set() for u, v in UV: u = dd[u] v = dd[v] follows[u].add(v) ansl = [] for q, a, b in query: a = dd[a] if q == 1: b = dd[b] # a の b に対するフォロー状態を切り替える if b in follows[a]: follows[a].remove(b) else: follows[a].add(b) else: # a の公開状態を切り替える # 非公開ユーザだったら、公開にする if a in not_public: not_public.remove(a) # 公開ユーザが1増える public_users += 1 else: not_public.add(a) public_users -= 1 # 非公開ユーザの中から、a がフォローしているユーザ数を数える ans = len(not_public & follows[a]) # 公開ユーザ数を追加 ans += public_users # 自分が公開ユーザなら1減らす if a not in not_public: ans -= 1 ansl.append(ans) print(*ansl, sep='\n')