def solve(n, x, a): if n == 1: return a[0] if a[0] <= x else 0 elif n == 2: if a[0] + a[1] <= x: return a[0] + a[1] elif a[0] <= x and a[1] > x: return a[0] elif a[1] <= x and a[0] > x: return a[1] elif min(a[0], a[1]) > x: return 0 else: return max(a[0], a[1]) ans = 0 r = 1 s = 0 for l in range(1, n - 1): while r < n - 1 and s + a[r] <= x: s += a[r] r += 1 # print(f"+{a[r]}") ans = max(s, ans) s -= a[l] # print(f"-{a[l]}") r = 0 s = sum(a) for l in range(n): while r <= l and s + a[r] <= x: s += a[r] r += 1 if s <= x: ans = max(s, ans) s -= a[l] return ans n, x = [int(y) for y in input().split()] a = [int(y) for y in input().split()] print(solve(n, x, a))