C1011 [SHOI2014]神奇化合物

内存限制:256 MB 时间限制:1000 ms

题目描述

科学家最近发现了一种高分子有机化合物 SHTSC。这种物质的分子由单个或多个原子组成,原子之间通过化学键相互连接。SHTSC 十分不稳定,其原子之间的化学键经常会伴随着炫酷的声音特效和光影效果发生断裂或者重新连接。

然而,令科学家们大为惊异的是,SHTSC 在变化过程中始终保持着一种特殊的性质:即不存在这样的原子序列 $a_1,a_2,\ldots,a_n \ (n>3)$ 满足 $a_1$ 与 $a_2$、$a_2$ 与 $a_3$、......、$a_{n-1}$ 与 $a_n$ 以及 $a_n$ 与 $a_1$ 都通过化学键相连,但它们之间却没有其他化学键相连的情况。

现在科学家将 SHTSC 的原子由 $1$ 到 $n$ 标号,并告诉你 SHTSC 的初始形态以及原子之间的化学键变化情况,他们想知道在实验过程中的某些时刻 SHTSC 分裂成了多少个分子?

输入格式

第一行两个整数 $n, m$。表示 SHTSC 的总原子个数以及初始的化学键数。

从第二行开始的 $m$ 行,每行两个整数 $a, b \ (1 \leq a,b \leq n)$。表示编号为 $a, b$ 的两个原子在初始状态中有化学键相连。数据保证每对 $a, b$ 只出现一次。

第 $m+2$ 行有一个整数 $q$。表示实验的总操作数。

之后 $q$ 行中的每一行为以下三种操作当中的一种:

  1. A i j表示 $i$ 号原子与 $j$ 号原子之间形成了一条新的化学键;
  2. D i j表示 $i$ 号原子与 $j$ 号原子之间原有的化学键断裂了;
  3. Q询问当前 SHTSC分裂成了多少个不同的分子。

数据保证所有的实验操作都是合法的。

输出

对于每个 $Q$ 操作。输出一行一个整数,为相应时刻的分子个数。

样例

样例输入 1

7 10 1 2 2 3 3 4 4 1 1 3 2 4 5 6 6 7 7 5 2 5 10 Q D 2 5 Q D 5 6 D 5 7 Q A 2 5 Q A 5 6 Q

样例输出 1

1 2 3 2 1

提示

对于 $100\%$ 的数据,$n \leq 5000,\ m \leq 200000,\ q \leq 10000$。