import sys,random,bisect from collections import deque,defaultdict from heapq import heapify,heappop,heappush from itertools import permutations from math import log,gcd input = lambda :sys.stdin.readline() mi = lambda :map(int,input().split()) li = lambda :list(mi()) def isqrt(n): ok = 0 ng = n+1 while ng-ok>1: mid = (ok+ng)//2 if mid*mid <= n: ok = mid else: ng = mid return ok def solve(N,A): for i in range(N): for j in range(i+1,N): g = gcd(A[i],A[j]) A[i] //= g A[j] //= g for a in A: t = int(a**.5) for s in range(t-2,t+2): if s**2 == a: break else: return False return True for _ in range(int(input())): N = int(input()) A = li() print("Yes" if solve(N,A) else "No")