#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int power(int x, int pow)
{
int rez=x;
if(pow==0) return 1;
while(pow>1)
{
rez*=x;
pow--;
}
// printf("power %d la %d = %d",x,pow,rez);
return rez;
}
int prime(int n, int* &b)
{
int nr=1;
long long int i,j;
//long long int j;
char *a = (char *)calloc(n/2+2,sizeof(char));
//char a[] = new char(100);
//calloc(n,sizeof(char));
//new(char[n]);
/*
a[0] = 0; //prim
a[1] = 0; //prim
*/
//n=10 si 9 ori 7
//1=1 2=2 3=3 4=5 5=7 6==9
for(i=3;i<=n;i+=2)
{ //i*2-1
//printf("%d\n",i);
if(a[(i+1)/2] == 0)
{
nr++;
for(j=i*i; j<=n; j+=(i<<1))
a[(j+1)/2] = 1;
}
}
b = (int *)calloc(nr, sizeof(int));
b[0] = 2;
j=1;
for(i=3;i<=n;i+=2)
if(a[(i+1)/2]==0) b[j++] = i;
//b = (int *)calloc(1,sizeof(int));
//*b = 5;
//first ; 1.000.000.000 => 90 sec rez = 50847534 nr prime
//nr = 0; //length = n
//for(i=2;i<=n;i++)
//{
// if(a[i] == 0)
// {
// nr++;
// for(j=(i<<1); j<=n; j+=i) a[j] = 1;
// }
//}
//second; 1.000.000.000 => 45 sec; rez =
// for(i=3;i<=n;i+=2)
//{ //i*2-1
// //printf("%d\n",i);
// if(a[(i+1)/2] == 0)
// {
// nr++;
// for(j=i*i; j<=n; j+=(i<<1))
// a[(j+1)/2] = 1;
// }
//}
//printf("\n%d nr prime\n",nr);
//for(i=0;i<n;i++)
//{
// printf("%d ",a[i]);
//}
return nr;
}
//void pp(int &b)
//{
// printf("%d ", b);
//}
int fi(int x, int b[])
{
//descompune in factori primit
int a[10][2], n=0, i=0, j, rez=1;
for(i=0;i<10;i++) a[i][1]=0;
i=0;
while(x>1)
{
if(x%b[i] == 0)
{
for(j=0;j<n;j++) if(a[j][0] == b[i]) break;
if(j>=n) { a[j][0] = b[i]; n++;}
a[j][1]++;
x /= b[i];
}
else i++;
}
//printf(" n= %d, %d\n",n, a[0][0]);
//rez = 0;
for(i=0; i<n; i++)
// {
// printf("%d %d\n",a[i][0], a[i][1]);
rez *= (a[i][0]-1)*power(a[i][0],a[i][1]-1);
//}
return rez;
}
int main()
{
//time_t time1, time2;
//int i,j;
long int n, n2;
//int a[250000]; //nr prime
//int b[10]; //descompunere
int *b;
freopen("fractii.in", "r", stdin);
//freopen("fractii.out", "w", stdout);
scanf("%d", &n);
//printf("%d \n",sizeof(n));
//printf("%d",n);
//n=120;
//n=7;
//printf("%d",n);
//time1 = time(NULL);
n2 = prime(n, b);
//time2 = time(NULL);
//printf("\ndiff sec %d\n",time2-time1);
int i, rez=1;
//if(n==1) rez = 1;
for(i=2;i<=n;i++)
//{ printf("i= %d, fi= %d\n",i, fi(i,b));
rez+=2*fi(i,b);
//}
printf("%d",rez);
// for(i=0;i<n2;i++)
// printf("%d fi= %d\n",b[i], fi(b[i],b));
//printf("b= %d",*b);
//pp(*b);
//descompunere
/* while(n>1)
{
//descompune;
}
*/
//printf("size of sum %d\n",sizeof(sum));
//for(i=1;i<1000000000;i++) sum+=i;
//for(j=2;j<i/2;j++) sum+=j;
//printf("sum= %lld",sum);
return 0;
}