[COCI2016-2017#4] Rima

题目描述

规定字符串 $A,B$ 的最长公共后缀的长度为 $\text{LCS}(A,B)$。 当 $\text{LCS}(A,B) \ge \max(|A|,|B|)-1$ 时,我们认为 $A,B$ 两个字符串押韵。 给定 $N$ 个字符串,要求从中组合出一个长度最长的字符串序列(序列长度为该序列所包含字符串的数量),使得序列中相邻两个字符串押韵。

输入输出格式

输入格式


第一行,一个整数 $N$。 接下来的 $N$ 行,每行一个字符串。保证所有字符串互不相同,且总长度不超过 $3 \times 10^6$。

输出格式


输出字符串序列长度的最大值。

输入输出样例

输入样例 #1

4
honi
toni
oni
ovi

输出样例 #1

3

输入样例 #2

5
ask
psk
krafna
sk
k

输出样例 #2

4

输入样例 #3

5
pas
kompas
stas
s
nemarime

输出样例 #3

1

说明

**【样例 2 解释】** 字符串序列 $\texttt{ask-psk-sk-k}$ 长度最大,为 $4$。 **【样例 3 解释】** 没有任何两个字符串押韵,因此任何一个字符串都可以单独组成一个序列,答案为 $1$。 **【数据规模与约定】** 对于 $30\%$ 的数据,$N \le 18$。 对于 $100\%$ 的数据,$1 \le N \le 5 \times 10^5$。 **【提示与说明】** **题目译自 [COCI 2016-2017](https://hsin.hr/coci/archive/2016_2017/) [CONTEST #4](https://hsin.hr/coci/archive/2016_2017/contest4_tasks.pdf) _T5 Rima_。** **本题分值按 COCI 原题设置,满分 $140$。**