[NFLSPC #6] 啊,忘记了。

题目背景

> 好像忘了什么事…… 算了,想必不是什么重要的事吧。

题目描述

你在你的电脑上发现了 $n$ 份文本。冥冥之中,你没来由地感觉这似乎全都是一份记录的复制。 - 首先,原始记录是一个长度未知(甚至可以为空)的字符串,称作 **记录串**。对于一份复制,其将记录串切成了三段 **可以为空** 的字符串 **片段**。**每份复制中切割方案不保证相同**。你暂且将这三份 **片段** 依次称作 **前面**,**中间** 和 **后面**。 - 某些复制中的某些片段可能被忘记了。具体而言,前面有可能被替换为 `QIANMIANWANGLE`,中间有可能被替换为 `ZHONGJIANWANGLE`,后面有可能被替换为 `HOUMIANWANGLE`;在发生替换的场合,表示这一段片段被 **完全遗忘** 了;否则,表示该片段被 **完整保存**。 - 你有一种预感,记录串中的所有字符都是 **小写英文字符**。 - $n$ 份复制不一定自洽。 你的目标是,寻找初始的记录串。这个记录串需要满足所有字符均是小写英文字符。你希望其匹配尽量多的复制串。 - 记录串与复制串匹配的要求是,存在记录串的一种划分,使得其中记录串的三段与复制串的三段分别相同,或者复制串中这段划分忘了(此时本段划分中,记录串为任何可以为空的小写英文字符串均合法)。 你希望求出该记录串能匹配的最多复制串数目。**至于记录串本身,你感觉它并不是很重要,所以你不需要求出它**。 > / 我,毋畏遗忘 /

输入输出格式

输入格式


**为了避免输入过大,输入进行了一定程度的压缩。请务必认真阅读输入格式**。 第一行一个正整数 $n$,表示记录数目。 接下来 $n$ 行,每行三个非空字符串,其中第一段要么是非空小写字符串,要么是 `Q`(表示 `QIANMIANWANGLE`),要么是 `E` 表示这是一段空串(因为空串不可见所以选取 `E` 作为占位符),不存在其它可能;第二段则是非空小写字符串、`Z`(表示 `ZHONGJIANWANGLE`)、`E` 三者之一;最后一段是非空小写字符串、`H`(表示 `HOUMIANWANGLE`)、`E` 三者之一。

输出格式


一行一个整数,表示所有记录串中,能匹配的最多的复制的数目。

输入输出样例

输入样例 #1

3
nflsalgo Z H
Q nflspc H
Q Z qidong

输出样例 #1

3

说明

### 样例 1 解释 你希望这个串是 `nflsalgonflspcqidong`。你确信,不会再有其它串比它更匹配现存的记录了。 ### 数据范围与约定 对于所有数据,保证输入的所有字符串长度之和不超过 $5\times 10 ^ 5$。 - 子任务 1($30$ 分):保证所有复制的 “后面” 段都是 `H`。 - 子任务 2($70$ 分):无特殊限制。 Source:NFLSPC #6 K by Troverld