1 #include<stdio.h>
2 #include<iostream>
3 using namespace std;
4 int mu[10000001];
5 int n;
6 int zs[10000001];
7 int prime[1000001],tot;
8 long long ans=0;
9 int f[10000001];
10 int main() {
11 scanf("%d",&n);
12 for(int i=2;i<=n;++i) {
13 if(!zs[i]) {
14 zs[i]=i;
15 prime[++tot]=i;
16 }
17 for (int j=1;j<=tot&&i*prime[j]<=n;++j) {
18 zs[i*prime[j]]=prime[j];
19 if(i%prime[j]==0) break;
20 }
21 }
22 f[1]=1;
23 for (int i=2;i<=n;++i) if(zs[i/zs[i]]!=zs[i]) f[i]=f[i/zs[i]]*-1;
24 int last1;
25 for (int i=1;i<=n;i=last1+1) {
26 last1=n/(n/i);
27 for (int r=i;r<last1;++r) f[last1]+=f[r];
28 if(f[last1]!=0) {
29 long long sum=0;
30 int last2=n/i;
31 int last3;
32 for (int j=1;j<=last2;j=last3+1) {
33 last3=last2/(last2/j);
34 sum+=(long long)(last2/j)*(last2/j)*(j+last3)*(last3-j+1)/2;
35 }
36 ans+=sum*f[last1];
37 }
38 }
39 printf("%lld\n",ans);
40 return 0;
41 }