Cod sursa(job #949379)
#include<fstream>
#include<algorithm>
#define inf -1000100
using namespace std;
ifstream f("mins.in");
ofstream g("mins.out");
long long e[1000100],v[1000100];
long long a,i,j,n,m,c,d,S;
int main ()
{
f>>c>>d;
c--;
d--;
n=min(c,d);
m=max(c,d);
for(i=1;i<=n;++i)
e[i]=m;
for(i=2;i<=n;++i)
if(!v[i])
{
a=m/i;
for(j=i;j<=n;j+=i)
{
v[j]++;
e[j]-=a;
}
a=i*i;
for(j=a;j<=n;j+=a)
{
v[j]=inf;
}
}
else
if(v[i]>1)
{
a=m/i;
if(v[i]%2)
for(j=i;j<=n;j+=i)
e[j]-=a;
else
for(j=i;j<=n;j+=i)
e[j]+=a;
}
for(i=1;i<=n;++i)
S+=e[i];
g<<S;
return 0;
}