forTinrange(int(input())):S=" "+input()L=len(S)result=1foriinrange(2,L):forjinrange(L-i):ifS[j+1:j+i+1]==S[j+i:j:-1]:result=iprint(f'#{T+1}{result}')# 슬라이싱을 잘 고민 하면 쉽게 해결
forTinrange(int(input())):q=[]n=""forNinrange(int(input())):q.append(input())S=0L=NwhileS!=L:ifq[S]<q[L]:n+=q[S]S+=1elifq[S]>q[L]:n+=q[L]L-=1else:W=int((L-S)//2)foriinrange(W):flag=Truec=q[S+i+1]d=q[L-(i+1)]ifc==d:continueelifc<d:n+=q[S]S+=1flag=Falsebreakelifc>d:n+=q[L]L-=1flag=Falsebreakifflag:n+=q[S]S+=1n+=q[L]print(f'#{T+1}{n}')# 조건은 다 쉬웠으나, 검사하는 횟수?에 착각을해# 생각보다 시간이 많이 걸린 문제
forTinrange(int(input())):N=int(input())S=set()foriinrange(N):s=input()S.add(s)A=sorted(S,key=lambdax:(len(x),x))print(f'#{T+1}')forjinA:print(j)# set 자료형도 sorted를 진행하면# 자동으로 list type으로 변한다.