fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define all(v) v.begin(), v.end()
  5. #define rall(v) v.rbegin(), v.rend()
  6. #define fr(v) for (int i = 0; i < v.size(); i++)
  7. #define Fast \
  8.   ios_base::sync_with_stdio(false); \
  9.   cin.tie(NULL);
  10. void input()
  11. {
  12. if (fopen("stdin.txt", "r"))
  13. {
  14. freopen("stdin.txt", "r", stdin);
  15. freopen("stdout.txt", "w", stdout);
  16. }
  17. }
  18. ll OO = 0x3f3f3f3f;
  19. struct DSU
  20. {
  21. vector<int> par;
  22. int ncmp;
  23. void inti(int n)
  24. {
  25. ncmp = n;
  26. par.resize(n + 1, -1);
  27. }
  28. int find(int u)
  29. {
  30. return par[u] < 0 ? u : par[u] = find(par[u]);
  31. }
  32. bool merge(int u, int v)
  33. {
  34. u = find(u), v = find(v);
  35. if (u == v)
  36. return 0;
  37. if (par[u] < par[v])
  38. swap(u, v);
  39. par[u] += par[v];
  40. par[v] = u;
  41. ncmp--;
  42. return 1;
  43. }
  44. };
  45. ll power(ll b, ll n, ll m)
  46. {
  47. ll res = 1;
  48. while (n > 0)
  49. {
  50. if (n % 2 != 0)
  51. {
  52. res = (res * b) % m;
  53. }
  54. b = ((b % m) * (b % m)) % m;
  55. n /= 2;
  56. }
  57. return res;
  58. }
  59. ll mod = 998244353;
  60. ll modProd(ll a, ll b)
  61. {
  62. /// complexity: 1
  63. a = (a % mod + mod) % mod;
  64. b = (b % mod + mod) % mod;
  65. return (a * b) % mod;
  66. }
  67. int modSum(ll a, ll b)
  68. {
  69. /// complexity: 1
  70. a = (a % mod + mod) % mod;
  71. b = (b % mod + mod) % mod;
  72. return (a + b) % mod;
  73. }
  74. ll msb(ll x)
  75. {
  76. return log2(x);
  77. }
  78. vector<ll> fact(2e5 + 5);
  79. int dx[4] = {-1, 1, 0, 0};
  80. int dy[4] = {0, 0, 1, -1};
  81. int k_dx[8] = {1, 2, 2, 1, -1, -2, -2, -1};
  82. int k_dy[8] = {2, 1, -1, -2, -2, -1, 1, 2};
  83. // up,down,right,left
  84. void solve()
  85. {
  86. ll n;
  87. cin >> n;
  88. for (int i = 2; i < 60; i++)
  89. {
  90. ll l = 2, r = 1e9;
  91. while (l <= r)
  92. {
  93. ll mid = (l + r) / 2;
  94. ll ans = 1 + mid, cur = mid;
  95. while (ans < n)
  96. {
  97. cur *= mid, ans += cur;
  98. }
  99. if (ans == n)
  100. {
  101. cout << "YES\n";
  102. return;
  103. }
  104. else if (ans > n)
  105. r = mid - 1;
  106. else
  107. l = mid + 1;
  108. }
  109. }
  110. cout << "NO\n";
  111. }
  112. int main()
  113. {
  114. Fast;
  115. input();
  116. int _t = 1;
  117. cin >> _t;
  118. while (_t--)
  119. {
  120. solve();
  121. }
  122. return 0;
  123. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
NO