#5551. [PA2019]Muzyka pop

内存限制:256 MiB 时间限制:60 Sec

题目描述

给定n个整数a[1..n],请找到n个非负整数b[1..n],使得a[1]*f(b[1])+a[2]*f(b[2])+...+a[n]*f(b[n])的值最大,其中f(x)为x在二进制下的1的个数。
你找到的这n个非负整数b[1..n]需要满足0<=b[1]<b[2]<...<b[n]<=m。

输入格式

第一行两个整数n,m(1<=n<=200,n-1<=m<=10^18)。
第二行包含n个整数a[1],a[2],...,a[n](|a[i]|<=10^14)。

输出格式

输出一行一个整数,即a[1]*f(b[1])+a[2]*f(b[2])+...+a[n]*f(b[n])的最大值。

样例

样例输入


			
3 5
2 -1 3

样例输出


			
9

HINT
b[1]=3,b[2]=4,b[3]=5,则答案为2*2+(-1)*1+3*2=9。

数据范围与提示