#pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx512vl") #include using namespace std; int main() { unsigned N, M; cin >> N >> M; vector sum(N + 1); vector tmp(N + 1); for(unsigned i = 2; i <= M; ++i) { if(N < i) { tmp[0] = 0; for(unsigned j = 1; j <= N; ++j) { tmp[j] = tmp[j - 1] + 1; } } else { tmp[0] = 0; for(unsigned j = 1; j < i; ++j) { tmp[j] = tmp[j - 1] + 1; } for(unsigned j = i; j <= N; ++j) { tmp[j] = tmp[j - i]; } } for(unsigned j = 0; j <= N; ++j) { sum[j] += tmp[j]; } } unsigned long long res = 0; for(unsigned i = 0; i <= N; ++i) { res = max(res, sum[i]); } cout << res << endl; }