#include <cstdio> using namespace std; int N; int citatel; int jmenovatel; int NSD(int a, int b) { if(a < b) { int tmp = a; a = b; b = tmp; } int c = a%b; //printf(" -== %d %d %d\n", a, b, c); while(c != 0) { //printf(" --- %d %d %d\n", a, b, c); a = b; b = c; c = a%b; } return b; } int main() { getchar(); getchar(); scanf("%d", &N); int cit_new, jmen_new; int nsd, nsd2; int pocet = 0; /** for(int i=1; i<=10000; i++) { for(int j=i; j<=10000; j++) { if(i*j > N*(i+j)) { //printf("Break: 1/%d + 1/%d\n", i, j); ; //break; } // mensi cit_new = i+j; jmen_new = i*j; nsd = NSD(jmen_new, cit_new); cit_new /= nsd; jmen_new /= nsd; if(cit_new == 1 && jmen_new == N) { pocet++; printf("Nalezeno! 1/%d + 1/%d\n", i, j); } } } **/ //int a=2*N, b=2*N; pocet = 1; int b_cit, b_jmen; for(int a=2*N-1; a>N; a--) // pocminka ?? { b_cit = a*N; b_jmen = a-N; nsd = NSD(b_cit, b_jmen); //printf("... cit=%d, jmen=%d, nsd=%d\n", b_cit, b_jmen, nsd); if(nsd == b_jmen) { pocet++; //printf("Nalezeno! 1/%d + 1/%d\n", a, b_cit/b_jmen); } } printf("%d\n", pocet); return 0; }