#include <bits/stdc++.h>
using namespace std;
int i,j,m,n,tluong,gtri,gtrimax=0,vtmax;
int p[1000],c[1000],a[1000],vt[1001];
ifstream f1("bai4_18.inp");
ofstream f2("bai4_18.out");
void nhap ()
{
	f1>>n>>m;
	for(i=1;i<=n;i++) 
	f1>>p[i]>>c[i];
	f1.close();
}
void tong (int n)
{
	int i;tluong=0;gtri=0;
	for(i=1;i<=n;i++)
	{
		tluong=tluong+p[a[i]];
		gtri=gtri+c[a[i]];
    }
if(tluong<=m)
if(gtri>gtrimax)
    {
   	for(i=1;i<=n;i++) vt[i]=a[i];
   	vtmax=n;
   	gtrimax=gtri;
   	}
}
void chon (int i)
{
	int j;
	for(j=a[i-1]+1;j<=n;j++)
	{
		a[i]=j;tong(i);
		if(i<n) chon (i+1);}
}
int main ()
{
	nhap();chon(1);
	f2<<gtrimax<<endl;
	for(i=1;i<=vtmax;i++)
	f2<<vt[i]<<" ";
	f2.close();
    return 0;
}
