Cod sursa(job #368265)
#include <cstdio>
const int MAX = 1000000 + 1;
int f[ MAX ], n;
long long sol;
void Read()
{
FILE *in = fopen( "fractii.in", "r" );
fscanf( in, "%d", &n );
fclose( in );
}
void Solve()
{
int i, j;
sol = 0;
for ( i = 1; i <= n; i++ )
f[ i ] = i - 1;
for ( i = 2; i <= n; i++ )
for ( j = i + i; j <= n; j += i )
f[ j ] -= f[ i ];
for ( i = 2; i <= n; i++ )
sol += f[ i ];
sol = sol*2 + 1;
}
void Write()
{
FILE *out = fopen( "fractii.out", "w" );
fprintf( out, "%lI64d", sol );
fclose( out );
}
int main( void )
{
Read();
Solve();
Write();
return 0;
}