#include<iostream>
#include<cmath>
#include<cstring>
#include<string>
#include<algorithm>
#include<cstdio>
using namespace std;
long long n,m,a,maxn,minn=114514;
long long ksm(long long a, long long n)
{
if (n == 0)
return 1;
else if (n % 2 == 1)
return ksm(a, n - 1) * a;
else
{
int temp = ksm(a, n / 2);
return temp * temp;
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
scanf("%lld",&a);
maxn=max(maxn,a);
minn=min(minn,a);
}
if(maxn<=1)
{
cout<<ksm(2,(m-1))*(maxn+2)-minn;
}
else cout<<ksm(2,m)*maxn-minn;
return 0;
}
第一个点没过