#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int m, b;
scanf("%d %d", &m, &b);
long long ans = max((1 + b) * b / 2, (1 + b * m) * b * m / 2);
for (int i = 1; i < b; i++)
{
long long cur_ans = 0;
int cur_x = -1 * (i - b) * m;
if (cur_x == 0)
{
continue;
}
cur_ans += ((1 + i) * i / 2) * (cur_x + 1) + ((0 + cur_x) * (cur_x + 1) / 2) * (i + 1);
ans = max(ans, cur_ans);
}
printf("%lld", ans);
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CglpbnQgbSwgYjsKCXNjYW5mKCIlZCAlZCIsICZtLCAmYik7Cglsb25nIGxvbmcgYW5zID0gbWF4KCgxICsgYikgKiBiIC8gMiwgKDEgKyBiICogbSkgKiBiICogbSAvIDIpOwoJZm9yIChpbnQgaSA9IDE7IGkgPCBiOyBpKyspCgl7CgkJbG9uZyBsb25nIGN1cl9hbnMgPSAwOwoJCWludCBjdXJfeCA9IC0xICogKGkgLSBiKSAqIG07CgkJaWYgKGN1cl94ID09IDApCgkJewoJCQljb250aW51ZTsKCQl9CgkJY3VyX2FucyArPSAoKDEgKyBpKSAqIGkgLyAyKSAqIChjdXJfeCArIDEpICsgKCgwICsgY3VyX3gpICogKGN1cl94ICsgMSkgLyAyKSAqIChpICsgMSk7CgkJYW5zID0gbWF4KGFucywgY3VyX2Fucyk7Cgl9CglwcmludGYoIiVsbGQiLCBhbnMpOwp9