#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef pair<ll, ll> ii;
const int N = 1e5 + 10;
ll sum[N];
void build () {
sum[0] = 0;
for (ll i = 1; i < N; ++i)
sum[i] = sum[i-1] + i;
}
int main () {
// build();
ll ans = 0;
ll m, b; scanf("%lld %lld", &m, &b);
for (ll x = 0; ; ++x) {
ll y = b - x;
// printf("x = %lld, y = %lld\n", x, y);
if (y < 0)
break;
ll current = 0;
for (ll i = 0; i <= x; ++i) {
for (ll j = 0; j <= y; ++j)
current += (i + j);
}
ans = max(ans, current);
}
printf("%lld\n", ans);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKdHlwZWRlZiBwYWlyPGxsLCBsbD4gaWk7Cgpjb25zdCBpbnQgTiA9IDFlNSArIDEwOwpsbCBzdW1bTl07Cgp2b2lkIGJ1aWxkICgpIHsKCXN1bVswXSA9IDA7Cglmb3IgKGxsIGkgPSAxOyBpIDwgTjsgKytpKQoJCXN1bVtpXSA9IHN1bVtpLTFdICsgaTsKfQoKaW50IG1haW4gKCkgewoJLy8gYnVpbGQoKTsKCWxsIGFucyA9IDA7CglsbCBtLCBiOyBzY2FuZigiJWxsZCAlbGxkIiwgJm0sICZiKTsKCWZvciAobGwgeCA9IDA7IDsgKyt4KSB7CgkJbGwgeSA9IGIgLSB4OwoJCS8vIHByaW50ZigieCA9ICVsbGQsIHkgPSAlbGxkXG4iLCB4LCB5KTsKCQlpZiAoeSA8IDApCgkJCWJyZWFrOwoJCWxsIGN1cnJlbnQgPSAwOwoJCWZvciAobGwgaSA9IDA7IGkgPD0geDsgKytpKSB7CgkJCWZvciAobGwgaiA9IDA7IGogPD0geTsgKytqKQoJCQkJY3VycmVudCArPSAoaSArIGopOwoJCX0KCQlhbnMgPSBtYXgoYW5zLCBjdXJyZW50KTsKCX0KCXByaW50ZigiJWxsZFxuIiwgYW5zKTsKCXJldHVybiAwOwp9