//cteam062 #include #include #include using namespace std; const int MAX=1000000; long long tab[MAX+1]; vector < int > dividers[MAX+1]; int main() { int t, n, tmp, xd; for ( int i = 1; i <= MAX; ++i ) { for ( int j = i; j <= MAX; j+=i ) { dividers[j].push_back( i ); } } for ( int i = 1; i <= MAX; ++i ) { xd = 0; for ( int j = 0; j < dividers[i].size(); ++j ) { tmp = i / dividers[i][j]; xd += dividers[tmp].size() / 2; if ( tmp % dividers[i][j] == 0 ) xd--; if ( dividers[i][j]*dividers[i][j]*dividers[i][j]==i)xd++; } xd /= 3; tab[i]= xd + tab[i-1]; } scanf( "%d", &t ); while ( t-- ) { scanf( "%d", &n ); printf( "%lld\n", tab[n] ); } }