/*题意是求和n不互质的数的总和。可用总和1-(n-1)减去互质的数的总和。课用欧拉函数求1-n的互质的数的个数num。
则若a和n互质,n-a必定也和n互质(a<n)。也就是说num必定为偶数。其中互质的数成对存在。其和为n。则总和为num*n/2 */
#include <stdio.h>
int phi(long long n)
{
int rea=n;
for(int i=2;i*i<=n;i++)
if(n%i==0)
{
rea=rea-rea/i;
do
n/=i;
while(n%i==0);
}
if(n>1)
rea=rea-rea/n;
return rea;
}
int main()
{
long long n;
while(scanf("%lld",&n)==1&&n)
{
long long sum=n*(n+1)/2-n;
sum-=phi(n)*n/2;
sum%=1000000007;
printf("%lld\n",sum);
}
return 0;
}