#include "bits/stdc++.h" using xd = int; #define int long long using namespace std; using ll = long long; using Vi = vector; using Pii = pair; #define pb push_back #define mp make_pair #define x first #define y second #define rep(i,b,e) for (int i=(b); i < (e); i++) #define each(a,x) for(auto& a : (x)) #define all(x) (x).begin(), (x).end() #define sz(x) int((x).size()) xd main() { cin.sync_with_stdio(0); cin.tie(0); cout << fixed << setprecision(18); int const N = 1e6 + 5; Vi ile(N+10); vector dziel(N+10); for(int i = 1; i <= N; ++i){ for(int j= i; j <= N; j+=i){ dziel[j].pb(i); } } for(int i = 6; i <= N; ++i){ for(int j : dziel[i]){ if(j*j*j == i)ile[i]+=2; if(i % (j*j) == 0){ ile[i]--; ile[i]--; } int bc = i/j; int w = llround(sqrt(bc)); if(w*w == bc)ile[i]--; ile[i] +=dziel[bc].size(); } } vector sums(N+5); sums = ile; for(int i = 1; i <= N; ++i){ sums[i] += sums[i-1]; } int t; cin >> t; while(t--){ int n; cin >> n; cout << sums[n]/6 << '\n'; } return 0; }