Pagini recente » Cod sursa (job #1953559) | Cod sursa (job #424282) | Cod sursa (job #1098379) | Cod sursa (job #1513147) | Cod sursa (job #635052)
Cod sursa(job #635052)
#include <cstdio>
using namespace std;
int n, m, nr[1000002];
long long sol;
inline int min (int a, int b) {return a < b ? a : b;}
int main ()
{
freopen ("mins.in", "r", stdin);
freopen ("mins.out", "w", stdout);
scanf ("%d %d", &n, &m);
n--;m--;
int i;
for (i = 2; i <= min (n, m); i ++)
if (!nr[i])
{
for (long long j = (long long)i * i; j <= min (n, m); j += (long long)i * i)
nr[j] -= 1000;
for (int j = i; j <= min (n, m); j += i)
nr[j] ++;
}
for (i = 1; i <= min (n, m); i ++)
if (nr[i] > 0)
if (nr[i] & 1)
sol = sol - (long long)(n / i) * (m / i);
else
sol = sol + (long long)(n / i) * (m / i);
printf ("%lld\n", sol + (long long) n * m);
return 0;
}