Pagini recente » Cod sursa (job #29204) | Cod sursa (job #336693) | Cod sursa (job #2471196) | Monitorul de evaluare | Cod sursa (job #3304804)
#include <fstream>
using namespace std;
ifstream cin ("mins.in");
ofstream cout ("mins.out");
int v[1000002];
long long min(long long a,long long b) {
return a<b?a:b;
}
int main() {
long long n,m,s=0,max,p;
cin>>n>>m;
max=min(n,m)-1;
for (int i=2; i<=max; i++) {
if (v[i]==0) {
for (int j=i; j<=max; j+=i) {
v[j]++;
}
p=i*i;
for (int j=p; j<=max; j+=p) {
v[j]=-2000000000;
}
}
if (v[i]>0) {
if (v[i]&1) s-=((n-1)/i)*((m-1)/i);
else s+=((n-1)/i)*((m-1)/i);
}
}
cout<<s+(n-1)*(m-1);
}