#include <iostream> #include <cstdlib> using namespace std; int gcd(int a,int b) { int temp; while (b) { temp = a; a = b; b = temp % b; } return a; } int main() { int N; while(scanf("%d",&N) != EOF) { int x,y,z; int a,b,count= 0,incount = 0; bool flag[1000001] = {false}; for (a = 1;a * a <= N ; a += 2) { for (b = 2;a * a + b * b <= N ; b += 2) if (gcd(a,b) > 1) continue; else { count++; x = abs(a*a-b*b); y = 2*a*b; z = a*a+b*b; // printf("(%d %d %d)/n",x,y,z); for (int k = 1; k * z <= N; k++) { if (!flag[k*x]) flag[k*x] = true,incount++; if (!flag[k*y]) flag[k*y] = true,incount++; if (!flag[k*z]) flag[k*z] = true,incount++; } } } printf("%d %d/n",count,N-incount); } return 0; }