Problem:
Score : 200 points

Problem Statement

You have N apples, called Apple 1, Apple 2, Apple 3, ..., Apple N. The flavor of Apple i is L+i-1, which can be negative.

You can make an apple pie using one or more of the apples. The flavor of the apple pie will be the sum of the flavors of the apples used.

You planned to make an apple pie using all of the apples, but being hungry tempts you to eat one of them, which can no longer be used to make the apple pie.

You want to make an apple pie that is as similar as possible to the one that you planned to make. Thus, you will choose the apple to eat so that the flavor of the apple pie made of the remaining N-1 apples will have the smallest possible absolute difference from the flavor of the apple pie made of all the N apples.

Find the flavor of the apple pie made of the remaining N-1 apples when you choose the apple to eat as above.

We can prove that this value is uniquely determined.

Constraints

2 \leq N \leq 200

-100 \leq L \leq 100

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N L

Output

Find the flavor of the apple pie made of the remaining N-1 apples when you optimally choose the apple to eat.

Sample Input 1

5 2

Sample Output 1

18

The flavors of Apple 1, 2, 3, 4, and 5 are 2, 3, 4, 5, and 6, respectively. The optimal choice is to eat Apple 1, so the answer is 3+4+5+6=18.

Sample Input 2

3 -1

Sample Output 2

0

The flavors of Apple 1, 2, and 3 are -1, 0, and 1, respectively. The optimal choice is to eat Apple 2, so the answer is (-1)+1=0.

Sample Input 3

30 -50

Sample Output 3

-1044

Solution in C++14 (GCC 5.4.1) (judge verdict: Accepted)

//============================================================================
// Name        : abc131_b.cpp
// Author      : abb
// Version     :
// Copyright   : [My copyright notice]
// Description : Hello World in C++, Ansi-style
//============================================================================

/*
 B - Bite Eating

 実行時間制限: 2 sec / メモリ制限: 1024 MB

 配点 : 200 点

 問題文
 N 個のリンゴがあります。これらはそれぞれリンゴ 1、リンゴ 2、リンゴ 3、...、リンゴ N と呼ばれており、
 リンゴ i の「味」は L+i-1 です。「味」は負になることもありえます。
 また、1 個以上のリンゴを材料として、アップルパイをつくることができます。
 その「味」は、材料となったリンゴの「味」の総和となります。
 あなたはこれらのリンゴを全て材料として、アップルパイをつくる予定でしたが、
 おなかがすいたので 1 個だけ食べることにしました。勿論、食べてしまったリンゴはアップルパイの材料にはできません。
 つくる予定だったアップルパイとできるだけ同じものをつくりたいので、
 N 個のリンゴ全てを材料としてできるアップルパイの「味」と、
 食べていない N-1 個のリンゴを材料としてできるアップルパイの「味」の差の絶対値ができるだけ小さくなるように、
 食べるリンゴを選ぶことにしました。
 このようにして選ばれたリンゴを食べた時、食べていない N-1 個のリンゴを材料としてできるアップルパイの「味」を求めてください。
 なお、この値は一意に定まることが証明できます。

 制約

 ・2 <= N <= 200
 ・-100 <= L <= 100
 ・入力は全て整数である。
 */

#pragma GCC optimize ("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")

#include <bits/stdc++.h>
using namespace std;

using ll = long long;
using ull = unsigned long long;

#define rep(i, m, n) for (int i = m; i < n; ++i)

/**
 * エントリポイント．
 * @return 0.
 */
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

	int n, l;
	cin >> n >> l;

	// aji = l+i-1 であり，aji=0 のリンゴがあればそれを選び，
	// なければ aji の絶対値が小さいリンゴを選ぶ．
	// aji=l+i-1= (1<=i<=n)
	// => l+1-1 <= aji <= l+n-1 <=> l <= aji <= l+n-1
	// なので， l>0 なら aji=l が最善，l+n-1<0 なら aji=l+n-1 が最善，
	// それ以外なら aji=0 を満たすリンゴがあるので aji=0 が最善．
	int aji_picked = 0;
	if (l > 0) {
		aji_picked = l;
	} else if (l + n - 1 < 0) {
		aji_picked = l + n - 1;
	}

	// aji は min = l, max = l+n-1 であり，公差1とすれば総和が求められる
	cout << ((n * (l + l + n - 1)) / 2 - aji_picked) << endl; // prints [!!!Hello World!!!]
	return 0;
}