forTinrange(int(input())):N=int(input())L=list(map(int,input().split()))result=-1foriinrange(N-1):forjinrange(i+1,N):num=str(L[i]*L[j])iflen(num)>1and'0'notinnumandresult<int(num)andlist(num)==sorted(num):result=int(num)print(f'#{T+1}{result}')# 단조증가하는 지를 검증하는 방법으로 sorted를 썼는데 이를 활용하기 위해서는 str형태로 변경해야 검증이 가능하다.# 한자리 숫자는 단조증가하는 수가 아니다.# 중간에 0이 있다면 볼 필요도 없이 단조증가수가 아니기 때문에 처리 속도 증가가 가능하다.
forTinrange(int(input())):N=int(input())# part1PN=set()foriinrange(2,N+1):forjinrange(2,i+1):ifi%j==0:breakPN.add(j)PN=list(PN)pn=PN.sort(reverse=True)# part2count=0foriinrange(len(PN)):forjinrange(i,len(PN)):forkinrange(j,len(PN)):ifN==PN[i]+PN[j]+PN[k]:count+=1print('#{}{}'.format(T+1,count))# part1에서 소수 리스트를 만들고(1과 자기 자신만을 약수로 가지는 수 리스트)# part2에서 세 소수의 합으로 나타낼 경우의 수를 종합.