#include using namespace std; using ll = long long; using vi = vector; using pii = pair; using pll = pair; using vvi = vector; #define f(i,a,b) for(int i = (a); i < (b); i++) #define pb emplace_back #define PB push_back #define all(x) (x).begin(), (x).end() #define sz(x) (int)(x).size #define dump(x) cout << #x << "=" << x << endl; signed main() { int T; cin >> T; for (int iii = 0; iii < T; ++iii) { vector delitele; long long int N; cin >> N; for (long long int i = 1; i*i <= N; ++i) { if (N % i == 0) { delitele.push_back(i); } } int start = delitele.size() - 1; if (delitele.begin()[start]*delitele.begin()[start] == N) start--; while (start >= 0) { delitele.push_back(N / delitele.begin()[start]); start--; } // for (ll delitel:delitele) { // cout << delitel << endl; // } long long int sum = 1; for (long long int delitel:delitele) { if (sum < delitel) { cout << "No" << endl; goto konec; } sum += delitel; } cout << "Yes" << endl; konec:; } } //5 4 6 10 12 15 //5 24 20 18 30 22