#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,ans;
ll l,r,mid;
ll x[100005],day[100005],ha;
bool check(ll a){
ll tmp=0,cnt=0;
for(ll i=1;i<=n;i++){
tmp/=2;
while(tmp<a)
{
cnt++;
tmp+=x[cnt];
if(cnt>n)
{
return 0;
}
else if(a&&a==ha)
{
day[cnt]=i;
}
}
}
return 1;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>x[i];
r+=x[i];
}
while(l<=r)
{
mid=l+r>>1;
if(check(mid))
ha=mid,l=mid+1;
else
r=mid-1;
}
cout<<ha<<endl;
check(ha);
for(ll i=1;i<=n;i++)
if(day[i]>0)
cout<<day[i]<<endl;
else
cout<<m<<endl;
return 0;
}