import sys sys.setrecursionlimit(5*10**5) input = sys.stdin.readline sys.set_int_max_str_digits(0) from collections import defaultdict, deque, Counter from heapq import heappop, heappush from bisect import bisect_left, bisect_right from math import gcd, lcm, factorial, perm, comb from itertools import product, permutations, combinations from functools import lru_cache #@lru_cache(maxsize=128) #重複あり:list(product(list('123'),repeat = 2)),重複なし:list(permutations(list('123'))) MOD = 998244353 n,x = map(int,input().split()) l = list(map(int,input().split())) m = sum(l) l += l #print(l) s = [0] ss=0 for i in range(2*n): ss+=l[i] s.append(ss) ans=0 for i in range(1,2*n): ans = max(ans, min(s[i] - s[bisect_left(s,s[i]-x)], m)) print(ans)