#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
long long v[1000001],p[78499],G[9],g[9],t=1,n,gmax,stot=0,floc,y;
void Gwrite(int x){
int mm=1;
for(int i=1;i<=x;i++){
if(p[i]==0||p[i]>x)break;
if(x%p[i]==0){G[mm]=p[i];mm++;}
}
gmax=mm-1;
}
void gplus(){
for(int i=1;i<=gmax;i++){
if(g[i]==1){g[i]=0;}
else{g[i]=1;break;}
}
}
void clean(){
for(int i=0;i<=8;i++) G[i]=g[i]=0;
}
int main()
{
in>>n;
v[0]=v[1]=-1;
for(int i=2;i<=n;i++) if(v[i]==0) for(int j=2;i*j<=n;j++) v[i*j]=1;
for(int i=2;i<=n;i++) if(v[i]==0){p[t]=i;t++;}
for(int i=2;i<=n;i++){
floc=1;
y=i;
Gwrite(i);
for(int k=1;k<=gmax;k++){
floc*=G[k]-1;
y/=G[k];
}
stot+=y*floc;
clean();
}
out<<stot*2+1;
}