def solve(N, V, C): A = [0] * N A[0] = C[0] for i in range(1, N): A[i] = A[i - 1] + C[i] A = [A[i] / (i + 1) for i in range(N)] R = [(a, i) for i, a in enumerate(A)] R.sort() L = [0] * N L[N - 1] = 1 v = V - N for i in range(N): if v < 0: break a, k = R[i] j, v = divmod(v, k + 1) L[k] += j T = [0] * N for i in range(N - 1, -1, -1): for j in range(i + 1): T[j] += L[i] print(sum(C[i] * T[i] for i in range(N))) def main(): N, V = list(map(int, input().split())) C = list(map(int, input().split())) solve(N, V, C) if __name__ == '__main__': main()