package main import . "fmt" import . "os" import bf "bufio" func main() { rd := bf.NewReader(Stdin) var n,m int Fscan(rd,&n,&m) follow := map[int]map[int]bool{} for ; m > 0; m-- { var u,v int Fscan(rd,&u,&v) if fm, ok := follow[v]; ok { fm[u] = true } else { follow[v] = map[int]bool{} follow[v][u] = true } } private := map[int]bool{} var q int Fscan(rd,&q) for ; q > 0; q-- { var qi,ai,bi int Fscan(rd,&qi,&ai,&bi) switch qi { case 1: if fm, ok := follow[bi]; ok { if fm[ai] { delete(fm, ai) } else { fm[ai] = true } } else { follow[bi] = map[int]bool{} follow[bi][ai] = true } case 2: if private[ai] { delete(private, ai) } else { private[ai] = true } } ans := n - len(private) if !private[ai] { ans-- } for x, _ := range private { if fm, ok := follow[x]; ok && fm[ai] { ans++ } } Println(ans) } }