#include<iostream>
#include<algorithm>
using namespace std;
long long int n,z;
struct sb
{
long long int a,b,h;
}gs[10000005];
bool cmp(sb x,sb y)
{
if(x.b>=x.a&&y.b<y.a)
return 1;
else if(x.b<x.a&&y.b>=y.a)
return 0;
else if(x.b>=x.a)
{
if(x.a>=y.a)
return 0;
else return 1;
}
else if(y.b<y.a)
{
if(x.b>=y.b)
return 1;
else return 0;
}
else return 0;
}
int main()
{
cin>>n>>z;
for(int i=1;i<=n;i++)
{
cin>>gs[i].a>>gs[i].b;
gs[i].h=i;
}
sort(gs+1,gs+n+1,cmp);
for(int i=1;i<=n;i++)
{
z-=gs[i].a;
if(z<=0)
{
cout<<"NIE";
return 0;
}
z+=gs[i].b;
}
cout<<"TAK"<<endl;
for(int i=1;i<=n;i++)
cout<<gs[i].h<<" ";
return 0;
}