Something
public text v1 · immutable#include<iostream.h>
#include<math.h>
#define MAX 2000005
#define LOG(a) (log10(a)/log10(2))
long P[MAX],N,a[MAX];
void prime(long n)
{
long i,j;
for(i=1;i<=n;i++)
a[i] = P[i] = i;
for(i=2;i<=n;i++)
{
if(a[i]==0)
continue;
for(j=2;i*j<=n;j++)
{
P[i*j] /= (i);
P[i*j] *= (i-1);
a[i*j] = 0;
}
P[i] = i-1;
}
}
int main()
{
long i,sum=0,val;
cin >> N;
prime(N);
for(i=2;i<=N;i++)
sum += P[i];
val = (long) LOG(sum);
if(val!=0)
val++;
cout<<val<<"\n";
return 0;
}