#include #include #include const int MAX = 1000000; const int MAX2 = 100; int main() { int testCases; int lampCounts[MAX]; memset(lampCounts, 0, MAX * sizeof(int)); for(int v = 1; v < MAX; v++) { for(int a = 1; a < MAX2; a++) { if(v % a != 0) continue; int rem = v / a; int stop = (int)sqrt(MAX / a) + 1; for(int b = a + 1; b < stop; b++) { if(rem % b != 0) continue; int c = rem / b; if(c > b && c != a && c != b && a != b) { lampCounts[v]++; } } } } int sum = 0; for(int i = 0; i < MAX; i++) { //printf("%d\n", lampCounts[i]); sum += lampCounts[i]; lampCounts[i] = sum; } //printf("muzes\n"); scanf("%d", &testCases); int vol; for(int t = 0; t < testCases; t++) { scanf("%d", &vol); printf("%d\n", lampCounts[vol]); } return 0; }