Pagini recente » Cod sursa (job #1968196) | Cod sursa (job #2000219) | Cod sursa (job #1242036) | Cod sursa (job #2336144) | Cod sursa (job #2069834)
#include <bits/stdc++.h>
#define MaxN 1000000
using namespace std;
int type[MaxN+1];
int main(){
FILE* fin = fopen("mins.in","r");
FILE* fout = fopen("mins.out","w");
int i,j,N,M;
long long res = 0;
fscanf(fin,"%d %d",&N,&M);
--N; --M;
for(i = 2; i <= min(N,M); ++i)
if(type[i] >= 0)
{
if(!type[i] || type[i] % 2) res += 1LL * (N / i) * (M / i);
else res -= 1LL * (N / i) * (M / i);
if(!type[i])
for(j = i; j <= min(N,M); j += i) ++type[j];
if(i <= 1000)
for(j = i*i; j <= min(N,M); j += i*i) type[j] = -(1<<30);
}
fprintf(fout, "%lld\n", 1LL * N * M - res);
return 0;
}