#include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define rep(i, n) for(int i = 0; i < (n); i++) template using vi = vector; template using vii = vector>; template using viii = vector>; ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : x; } void solve() { int n; cin >> n; vi a(n); rep(i, n) cin >> a[i]; rep(i, n) { if (a[i] == 1) continue; for (int j = i + 1; j < n; j++) { if (a[j] == 1) continue; ll g = gcd(a[i], a[j]); a[i] /= g; a[j] /= g; } } bool ok = true; rep(i, n) if (a[i] > 1) { ll sq = sqrt(a[i]); sq = max(0, sq - 10); ok = false; rep(j, 20) { if ((sq + j) * (sq + j) == a[i]) { ok = true; break; } } if (!ok) break; } cout << (ok ? "Yes" : "No") << endl; } int main() { int t; cin >> t; while (t--) solve(); return 0; }