N,V=map(int,input().split()) C=[0]+list(map(int,input().split())) for v in range(1,N+1): C[v]+=C[v-1] V=max(V,N) S=N*N inf=1<<60 dp=[inf]*(S+1) dp[N]=C[N] for v in range(1,N+1): c=C[v] for s in range(v,S+1): dp[s]=min(dp[s],dp[s-v]+c) ans=inf for s in range(S+1): for v in range(1,N+1): c=C[v] if s<=V and (V-s)%v==0: ans=min(ans,dp[s]+(V-s)//v*c) print(ans)