#include <stdio.h>
#include <stdlib.h>
void readData(int *N, FILE *in)
{
fscanf(in, "%d", &(*N));
return ;
}
int equal(int up1, int down1, int up2, int down2)
{
int r1, r2, q1, q2;
q1 = up2 / up1;
q2 = down2 / down1;
r1 = up2 % up1;
r2 = down2 % down1;
if(r1 == 0 && r2 == 0 && q1 == q2)
return 1;
else
return 0;
}
void getAns(int *ans, int N)
{
int *up = (int*) malloc(sizeof(int)),
*down = (int*) malloc(sizeof(int));
*ans = 1;
up[0] = 1;
down[0] = 1;
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++)
{
int ok = 1;
for(int k = 0; k < *ans; k++)
if(equal(up[k], down[k], i, j) == 1)
{
ok = 0;
break;
}
if(ok == 1)
{
(*ans)++;
up = (int*) realloc(up, sizeof(int) * (*ans));
down = (int*) realloc(down, sizeof(int) * (*ans));
up[(*ans) - 1] = i;
down[(*ans) - 1] = j;
}
}
free(up);
free(down);
return ;
}
void printAns(int ans, FILE *out)
{
fprintf(out, "%d", ans);
return ;
}
int main()
{
FILE *in = fopen("fractii.in", "rt"),
*out = fopen("fractii.out", "wt");
int N, ans;
readData(&N, in);
getAns(&ans, N);
printAns(ans, out);
fclose(in);
fclose(out);
return 0;
}