P1094

[Baltic2003]Gang团伙

[Baltic2003]Gang团伙

某城市中有 nn 个人。任意两个相识的人之间要么是朋友关系,要么是敌人关系,并且满足以下规则:

  1. 朋友的朋友是朋友;
  2. 敌人的敌人是朋友。

所有互为朋友的人组成一个团伙。

现给出关于这 nn 个人的 mm 条关系信息,每条信息表示某两个人是朋友或敌人。请计算这个城市最多可能有多少个团伙。

输入格式

输入前两个整数为 nn 和 mm,以空白字符分隔。

接下来输入 mm 条关系。每条关系包含一个关系标记 pp 和两个整数 xx、yy:

  • 当 pp 为 F 时,表示 xx 和 yy 是朋友;
  • 当 pp 为 E 时,表示 xx 和 yy 是敌人。

为兼容数字表示,也可以使用 00 表示朋友、11 表示敌人。

输出格式

输出一个整数,表示这 nn 个人最多可能组成的团伙数量。

样例输入

6
4
E 1 4
F 3 5
F 4 6
E 1 2

样例输出

3

样例解释

这 33 个团伙分别为 {1}\{1\}、{2,4,6}\{2,4,6\} 和 {3,5}\{3,5\}。

数据范围

  • n≤1000n\le 1000;
  • m≤5000m\le 5000。

来源与许可

本题为 Baltic 2003 试题「Gang团伙」,题面与测试数据整理自 BZOJ。

样例 1

输入

6
4
E 1 4
F 3 5
F 4 6
E 1 2

输出

3