#include <iostream>
using namespace std;
int main() {
long long unsigned int m, b;
cin >> m >> b;
long long unsigned int max = 0;
long long unsigned int maxX = m * b;
for (long long unsigned int x = 0; x <= maxX; x++) {
long long unsigned int y = (x % m == 0)? b - x / m: b - x / m - 1;
long long unsigned int res = ((x + 1) * (y + 1) * (x + y)) / 2;
max = (res > max)? res: max;
}
cout << max;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cglsb25nIGxvbmcgdW5zaWduZWQgaW50IG0sIGI7CgljaW4gPj4gbSA+PiBiOwoJbG9uZyBsb25nIHVuc2lnbmVkIGludCBtYXggPSAwOwoJbG9uZyBsb25nIHVuc2lnbmVkIGludCBtYXhYID0gbSAqIGI7Cglmb3IgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQgeCA9IDA7IHggPD0gbWF4WDsgeCsrKSB7CgkJbG9uZyBsb25nIHVuc2lnbmVkIGludCB5ID0gKHggJSBtID09IDApPyBiIC0geCAvIG06IGIgLSB4IC8gbSAtIDE7CgkJbG9uZyBsb25nIHVuc2lnbmVkIGludCByZXMgPSAoKHggKyAxKSAqICh5ICsgMSkgKiAoeCArIHkpKSAvIDI7CgkJbWF4ID0gKHJlcyA+IG1heCk/IHJlczogbWF4OwoJfQoJY291dCA8PCBtYXg7CglyZXR1cm4gMDsKfQ==