#include <bits/stdc++.h>
using namespace std;
long long sum1[666666], sum2[666666], arr[666666];
long long n, m;
signed main() {
  cin >> n >> m;
  for (long long i = 1; i <= n; i++) cin >> arr[i], arr[i + n] = arr[i];
  long long add1 = 0, add2 = 0;
  for (long long i = 1; i <= 2 * n; i++) {
    add1 += arr[i];
    sum1[i] = add1;
    add2 += (arr[i] + 1) * arr[i] / 2;
    sum2[i] = add2;
  }
  long long ans = 0;
  long long id = 1;
  for (long long i = 1; i <= 2 * n; i++) {
    while (sum1[i] - sum1[id] > m && id < i) id++;
    long long res = sum2[i] - sum2[id - 1];
    if ((sum1[i] - sum1[id - 1]) > m) {
      res -=
          (1 + (sum1[i] - sum1[id - 1] - m)) * (sum1[i] - sum1[id - 1] - m) / 2;
    }
    ans = max(ans, res);
  }
  cout << ans;
  return 0;
}
