Alice는 영어 단어를 조합하여 라임(Rhyme)을 만드는 단어 게임을 즐겨한다. Bob도 라임을 만들고 싶지만, 아직 어려서 단어를 잘 모르기 때문에 Alice가 "유사 라임 게임"을 제안했다.
먼저, 영문 대문자로만 구성된 길이가 L인 서로 다른 단어 n개를 종이에 적는다: 편의상 W_1,W_2,…W_n을 n개의 단어라 하자.
어떤 한 쌍의 단어 W_i와 W_j를 비교했을 때 최대 공통 접미사의 길이가 F이상이면 두 단어는 "유사 라임"을 이룬다고 정의한다. 이러한 단어 쌍을 "유사 라임 쌍"이라 부르자.
"유사 라임 게임"은 주어진 단어들을 이용하여 최대한 많은 "유사 라임 쌍"을 만드는 게임이다. 단, 한 단어는 최대 하나의 유사 라임 쌍에만 속할 수 있다.
예를 들어 n=4, L=4일때, 4개의 단어가 다음과 같다고 하자: W_1= "WALK", W_2= "TALK", W_3= "MILK", W_4= "BULK".
WALK", "BULK"), ("TALK","MILK")가 있다.WALK", "TALK")를 묶어 하나의 유사 라임 쌍을 만들 수 있지만, 2개 이상을 만들 방법은 없다.입력으로 F 그리고 길이가 L인 n개의 단어가 주어졌을 때, Bob이 만들 수 있는 최대 개수의 "유사 라임 쌍"이 몇 개인지 구해보자.
첫 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 입력은 두 줄에 걸쳐 주어진다. 첫 줄에 n, L, F가 공백으로 구분되어 주어진다. 둘째 줄에 영문 대문자로만 구성된 길이 L인 문자열 n개 W_1,W_2,…W_n이 공백으로 구분되어 주어진다.
각 테스트 케이스의 정답을 각 줄에 출력한다.
최대 공통 접미사: 두 문자열의 공통 접미사 (common suffix)중 가장 길이가 긴 공통 접미사를 의미한다.