import bisect N,X=map(int,input().split()) A=list(map(int,input().split())) ans=0 B=[0]+A+A for i in range(1,len(B)): B[i]+=B[i-1] for i in range(N): s=min(bisect.bisect_right(B,B[i]+X)-1,i+N) ans=max(ans,B[s]-B[i]) print(ans)