#include #include #include #include #include using namespace std; #define REP(A,B) for(int (A)=0;(A)<(B);(A)++) long long vysledky[1111111]; vector becka[1111111]; int main() { for(int N = 1; N <= 1000000; N++) { for(int b = 1; b*b <= N; b++) { int c = N/b; if(b*c == N && c > b) becka[N].push_back(b); } } for(int N = 1; N <= 1000000; N++) { vysledky[N] = vysledky[N-1]; for(int a = 1; a*a*a < N; a++) { if(N%a != 0) continue; int bc = N/a; auto it = upper_bound(becka[bc].begin(), becka[bc].end(), a); vysledky[N] += becka[bc].end()-it; } } int T; scanf("%d", &T); while(T--) { int n; scanf("%d", &n); printf("%lld\n", vysledky[n]); } return 0; }