1 #include<cstdio>
2 #include<iostream>
3 #include<cstring>
4 #include<cmath>
5 #include<ctime>
6 #include<cstdlib>
7
8 #include<string>
9 #include<stack>
10 #include<queue>
11 #include<vector>
12 #include<algorithm>
13 #include<map>
14 #include<set>
15
16 #define inf 2147483647
17 #define ri register int
18 #define ll long long
19
20 using namespace std;
21
22 inline void read(int &x){
23 x=0;
24 char t=getchar();
25 bool f=0;
26
27 while(t<'0' || t>'9'){
28 if(t=='-')f=1;
29 t=getchar();
30 }
31
32 while(t>='0' && t<='9'){
33 x=(x<<3)+(x<<1)+t-'0';
34 t=getchar();
35 }
36
37 if(f)x=-x;
38 }
39
40 inline void Euler();
41
42 int a[40005]; //最小质因数
43 int pri[10005],p=0; //质数表
44 int f[40005]; //phi
45
46 int n,ans=0;
47
48 int main(){
49 read(n);
50
51 n--;
52
53 Euler();
54
55 for(ri i=2;i<=n;i++)ans+=f[i];
56
57 ans=(ans<<1)+3;
58
59 printf("%d\n",ans);
60
61 return 0;
62 }
63
64 inline void Euler(){
65 for(ri i=2;i<=n;i++){
66 if(!a[i]){
67 p++;
68 pri[p]=i;
69 a[i]=i;
70 }
71
72 for(ri j=1;j<=p && i*pri[j]<=n;j++){
73 a[i*pri[j]]=pri[j];
74 if(i%pri[j]==0)break;
75 }
76 }
77
78 f[1]=1;
79
80 for(ri i=2;i<=n;i++){
81 if(i%(a[i]*a[i])==0)f[i]=f[i/a[i]]*a[i];
82 else f[i]=f[i/a[i]]*(a[i]-1);
83 }
84 }