rt
#include<bits/stdc++.h>
using namespace std;
#define N 100010
int n,z;
int d[N],a[N];
int adans,mians;
struct node{
int id,a,b; //用b表示d
}ad[N],mi[N];
bool cmp1(node a,node b){
return a.a>b.a;
}
bool cmp2(node a,node b){
return a.b>b.b;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> z;
for (int i = 1; i <= n; i++){
cin >> d[i] >> a[i];
if (a[i] >= d[i])
ad[++adans] = (node){i, a[i], d[i]};
else
mi[++mians] = (node){i, a[i], d[i]};
}
sort(mi + 1, mi + mians + 1, cmp1);
sort(ad + 1, ad + adans + 1, cmp2);
for (int i=1;i<=adans;++i){
if (ad[i].b >= z){
cout << "NIE";
return 0;
} else {
z=z-ad[i].b+ad[i].a;
}
}
for (int i=1;i<=mians;++i){
if (mi[i].b >= z){
cout << "NIE";
return 0;
} else {
z=z-mi[i].b+mi[i].a;
}
}
cout << "TAK\n";
for (int i=1;i<=adans;++i) cout << ad[i].id<< " ";
for (int i=1;i<=mians;++i) cout << mi[i].id<< " ";
return 0;
}