import sys from itertools import accumulate read=sys.stdin.buffer.read N,V,*C=map(int,read().split()) C=tuple(accumulate(C)) V-=N ans=C[-1] INF=10**20 LIM=10010 dp=[INF]*LIM dp[0]=0 for i,x in enumerate(C,1): for j in range(i,LIM): cst=dp[j-i]+x if dp[j]>cst:dp[j]=cst rate=[x/i for i,x in enumerate(C,1)] n=rate.index(min(rate))+1 k=max(0,1+(V-LIM)//n) ans+=k*C[n-1] if V>0:ans+=dp[V-k*n] print(ans)