#2598. 双头牛

双头牛

题目描述

FarmerHH\red{Farmer HH}培育了一种十分奇特的奶牛,它有两个头,A\red{A}头和B\red{B} 头(为了区分方便)。一个头在前面,另外一个在后面,对称分布。 问题是:这头牛的两个头具有不同的性格,例如1\red{1}号牛的A\red{A}都可能很 喜欢2\red{2}号牛的A\red{A}头可是1\red{1}号牛的B\red{B}头却可能不是这样认为的。每天早晨他的N(1<=N<=25000)\red{N(1<=N<=25000)}头生都会1\red{1}N\red{N}排成一队等以 通过调整单个牛的方向(这头生转180\red{180}度)。

这样一定程度下可以减少没有食欲的情况。另外吃草时使用的饲料槽,其长度可以按照需要加到足够长。你的工作是:对于给定的N\red{N}头牛和M(1<=M<=50,000)\red{M(1<=M<=50,000)} 个互不喜欢的头的情况,求最少需要多少对这样的槽呢?

一对等长度的饲料槽分为前后两个,可以使连续的若干头牛有草 吃,而且在吃草的过程中不会出现某头牛的一个头在第i\red{i}对饲料槽中 吃草而另外一个头在第i+1\red{i+1}对饲料槽中吃草的情况。

由于每头牛都有两个头,如果这两个头互相关系不错的话呢吃起草来就会比较愉快,否则没有食欲。

但是如果这两头牛不再同一个槽吃草而另外一个头在第i+1\red{i+1}对饲料槽中吃草的情况。

由于每头牛都有两个头,如果这两个头互相关系不错的话呢吃起草来就会比较愉快,否则没有食欲。但是如果这两头牛不再同一个槽里吃草那就无所谓了。在牛的队列1\red{1}N\red{N}的顺序不调整的情况下,口以通过调整单个生的方向(这头牛转180\red{180}度)。

这样一定程度下可以减少没有食欲的情况。另外吃草时使用的饲料槽,其长度可以按照需要加到足够长。你的工作是:对于给定的N\red{N}头牛和M(1<=M<=50,000)\red{M(1<=M<=50,000)} 个互不喜欢的头的情况,求最少需要多少对这样的槽呢?

输入格式

第一行有两个整数,N\red{N}M\red{M}

下面M\red{M}行,每一行有一对互不喜欢的头的情况。

4A3B\red{4 A 3 B,}表示4\red{4}号牛的A\red{A}头不喜欢3\red{3}号牛的B\red{B}头。

输出格式

输出一个整数,最少的槽数。

样例

输入样例

4 5
3 B 1 B
4 A 3 A
2 B 1 B
4 B 2 A
3 A 2 B

输出样例

2

Hint

提示

样例中,1\red{1}2\red{2}3\red{3}在一槽里。4\red{4}单独一个槽。 数据规模对于100%\red{100\%}的数据,N<=25000\red{N <= 25000}