#include<iostream>
using namespace std;
const int N = int(1e6)+10;
long long int Phi[N];
bool prime[N];
void buildSieve()
{
for(int i=0;i<N;i++)
Phi[i]=i,prime[i]=true;
for(int i=2;i<N;i++)
{
if(prime[i]==false)
continue;
for(int j=2*i;j<N;j+=i)
{
prime[j]=false;
Phi[j]/=i;
Phi[j]*=(i-1);
}
}
for(int i=2;i<N;i++)
if(prime[i]==true)
Phi[i]-=1;
}
int main()
{
buildSieve();
int n;
cin>>n;
long long int sum=0;
for(int i=1;i<=n;i++)
{
sum+=Phi[i];
}
cout<<sum<<endl;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTiA9IGludCgxZTYpKzEwOwpsb25nIGxvbmcgaW50IFBoaVtOXTsKYm9vbCBwcmltZVtOXTsKCnZvaWQgYnVpbGRTaWV2ZSgpCnsKICAgIGZvcihpbnQgaT0wO2k8TjtpKyspCiAgICAgICAgUGhpW2ldPWkscHJpbWVbaV09dHJ1ZTsKICAgIAogICAgZm9yKGludCBpPTI7aTxOO2krKykKICAgIHsKICAgICAgICBpZihwcmltZVtpXT09ZmFsc2UpCiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIAogICAgICAgIGZvcihpbnQgaj0yKmk7ajxOO2orPWkpCiAgICAgICAgewogICAgICAgICAgICBwcmltZVtqXT1mYWxzZTsKICAgICAgICAgICAgUGhpW2pdLz1pOwogICAgICAgICAgICBQaGlbal0qPShpLTEpOwogICAgICAgIH0KICAgIH0KICAgIGZvcihpbnQgaT0yO2k8TjtpKyspCiAgICAgICAgaWYocHJpbWVbaV09PXRydWUpCiAgICAgICAgICAgIFBoaVtpXS09MTsKfQoKaW50IG1haW4oKQp7CiAgICBidWlsZFNpZXZlKCk7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKICAgIGxvbmcgbG9uZyBpbnQgc3VtPTA7CiAgICAKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKQogICAgewogICAgICAgIHN1bSs9UGhpW2ldOwogICAgfQogICAgY291dDw8c3VtPDxlbmRsOwogICAgCn0=