Pagini recente » Cod sursa (job #2686036) | Cod sursa (job #2556856) | Cod sursa (job #2666856) | Cod sursa (job #1922468) | Cod sursa (job #2153455)
#define DM 1000005
#define inf 0x3f3f3f3f
#include <bitset>
#include <fstream>
using namespace std;
ifstream fi ("mins.in");
ofstream fo ("mins.out");
bitset <DM> bs;
int a, b, dv[DM];
long long sol;
int main()
{
fi >> a >> b;
--a;
--b;
if (a > b)
swap(a, b);
sol = 1LL*a*b;
for (int i = 2; i <= a; ++i)
dv[i] = inf;
for (int i = 2; i*i <= a; ++i)
if (!bs[i])
for (int j = i*i; j <= a; j += i)
bs[j] = 1;
for (int i = 2; i <= a; ++i)
if (!bs[i])
for (int j = a/i; j > 0; --j)
if (dv[j] != inf)
dv[i*j] = 1 + dv[j];
for (int i = 2; i <= a; ++i)
if (dv[i] != inf)
{
if (dv[i]%2 == 1)
sol -= 1LL*(a/i)*(b/i);
else
sol += 1LL*(a/i)*(b/i);
}
fo << sol;
return 0;
}