Pagini recente » Cod sursa (job #941404) | Profil Costel_Draghici | Cod sursa (job #2618402) | Cod sursa (job #1779012) | Cod sursa (job #2632903)
#include <bits/stdc++.h>
using namespace std;
int n, m;
int nrx[405][405], nry[405][405];
int sum1[160006], sum2[160006];
int main()
{
freopen("dreptunghiuri.in", "r", stdin);
freopen("dreptunghiuri.out", "w", stdout);
scanf("%d%d", &n, &m);
for (int l = 2; l <= n ; ++l) {
for (int i = 1; i < l ; ++i)
nrx[l][i] = 1 + nrx[l - 1][i];
}
for (int l = 2; l <= m ; ++l) {
for (int i = 1; i < l ; ++i)
nry[l][i] = 1 + nry[l - 1][i];
}
long long ans = 1LL * n * m * (n - 1) * (m - 1) / 4;
for (int X = 1; X < n ; ++X) {
for (int dx = 1; dx < n ; ++dx)
sum1[X * dx] += nrx[n - dx][X];
}
for (int Y = 1; Y < m ; ++Y) {
for (int dy = 1; dy < m ; ++dy)
sum2[Y * dy] += nry[m - dy][Y];
}
for (int i = 1; i <= min(m * m, n * n) ; ++i)
ans = ans + 1LL * sum1[i] * sum2[i];
printf("%lld", ans);
return 0;
}