팰린드롬은 앞에서 읽으나 뒤에서 읽으나 똑같은 단어이다. 예를 들어 civic, radar, rotor, madam은 모두 팰린드롬이다.
공책에 소문자 알파벳으로 이루어진 단어 k개가 적혀 있다. 이 단어들 중 서로 다른 위치에 있는 두 단어를 골라 앞뒤로 이어 붙였을 때 팰린드롬이 되는 경우를 찾으려고 한다. 즉, 서로 다른 두 인덱스 i=j에 대해 i번째 단어 바로 뒤에 j번째 단어를 이어 붙인 문자열이 팰린드롬인지 확인한다. (같은 단어를 두 번 사용할 수는 없다.)
예를 들어 단어가 aaba, ba, ababa, bbaa, baaba일 때, ababa 뒤에 ba를 이어 붙이면 팰린드롬 abababa를 만들 수 있다.
k개의 단어가 주어졌을 때 이러한 팰린드롬을 찾는 프로그램을 작성하시오.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 공책에 적힌 단어의 수 k (1≤k≤100)가 주어진다. 이어지는 k개의 줄에는 a부터 z까지의 소문자 알파벳으로 이루어진 단어가 한 줄에 하나씩 주어진다. 한 테스트 케이스에 등장하는 모든 단어 길이의 합은 10,000 이하이다.
각 테스트 케이스마다 만들 수 있는 팰린드롬을 한 줄에 하나씩 출력한다. 만들 수 있는 팰린드롬이 여러 개라면 사전순으로 가장 앞서는 것을 출력한다. 팰린드롬을 만들 수 없으면 0을 출력한다.