# 描述

You are given a number of case-sensitive strings of alphabetic characters, find the largest string $X$, such that either $X$, or its inverse can be found as a substring of any of the given strings.

## Input

The first line of the input contains a single integer $t$ $(1 ≤ t ≤ 10)$, the number of test cases, followed by the input data for each test case. The first line of each test case contains a single integer $n$ $(1 ≤ n ≤ 100)$, the number of given strings, followed by $n$ lines, each representing one string of minimum length $1$ and maximum length $100$. There is no extra white space before and after a string.

## Output

There should be one line per test case containing the length of the largest string found.

# 思路

• 将每个字符都反过来写一遍，中间用互不相同的且没有在字符串中出现的字符隔开；再把所有的字符串连起来，也用互不相同的且没有出现过的字符隔开，求后缀数组和高度数组。
• 二分答案，判断是否在每个串或其逆串中出现相同的串。（这类问题很经典，之前的题目中也经常出现，进行分组即可）具体看代码体会~