#include <bits/stdc++.h>
using namespace std;
map<string, int> ostatnie;
struct typ {
string s;
int t;
int i;
};
deque<typ> kolejka;
int main() {
int n, b;
cin >> n >> b;
int akt = 0;
for(int i=0; i<n; i++) {
string s;
int trudnosc;
cin >> s >> trudnosc;
if(ostatnie.find(s)!=ostatnie.end()&&!kolejka.empty()&&kolejka.back().i<=ostatnie[s]) {
cout << "TAK\n";
}
else {
cout << "NIE ";
vector<string> z;
akt += trudnosc;
while(akt>b) {
if(ostatnie[kolejka.back().s] != kolejka.back().i) {
kolejka.pop_back();
}
else {
akt -= kolejka.back().t;
z.push_back(kolejka.back().s);
kolejka.pop_back();
}
}
cout << z.size() << " ";
for(auto ele :z) {
cout << ele << " ";
}
cout << "\n";
}
kolejka.push_front({s, trudnosc, i});
ostatnie[s] = i;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgptYXA8c3RyaW5nLCBpbnQ+IG9zdGF0bmllOwoKc3RydWN0IHR5cCB7CglzdHJpbmcgczsKCWludCB0OwoJaW50IGk7Cn07CgpkZXF1ZTx0eXA+IGtvbGVqa2E7CgoKaW50IG1haW4oKSB7CiAgICBpbnQgbiwgYjsKICAgIAogICAgY2luID4+IG4gPj4gYjsKICAgIAogICAgaW50IGFrdCA9IDA7CiAgICAKICAgIGZvcihpbnQgaT0wOyBpPG47IGkrKykgewogICAgICAgIHN0cmluZyBzOwogICAgICAgIGludCB0cnVkbm9zYzsKICAgICAgICBjaW4gPj4gcyA+PiB0cnVkbm9zYzsKICAgICAgICAKICAgICAgICBpZihvc3RhdG5pZS5maW5kKHMpIT1vc3RhdG5pZS5lbmQoKSYmIWtvbGVqa2EuZW1wdHkoKSYma29sZWprYS5iYWNrKCkuaTw9b3N0YXRuaWVbc10pIHsKICAgICAgICAgICAgY291dCA8PCAiVEFLXG4iOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgY291dCA8PCAiTklFICI7CiAgICAgICAgICAgIHZlY3RvcjxzdHJpbmc+IHo7CiAgICAgICAgICAgIGFrdCArPSB0cnVkbm9zYzsKICAgICAgICAgICAgd2hpbGUoYWt0PmIpIHsKICAgIGlmKG9zdGF0bmllW2tvbGVqa2EuYmFjaygpLnNdICE9IGtvbGVqa2EuYmFjaygpLmkpIHsKICAgICAgICBrb2xlamthLnBvcF9iYWNrKCk7CiAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGFrdCAtPSBrb2xlamthLmJhY2soKS50OwogICAgICAgICAgICAgICAgei5wdXNoX2JhY2soa29sZWprYS5iYWNrKCkucyk7CiAgICAgICAgICAgICAgICBrb2xlamthLnBvcF9iYWNrKCk7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBjb3V0IDw8IHouc2l6ZSgpIDw8ICIgIjsKICAgICAgICBmb3IoYXV0byBlbGUgOnopIHsKICAgICAgICAgICAgY291dCA8PCBlbGUgPDwgIiAiOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICAgICAgfQogICAgICAgIGtvbGVqa2EucHVzaF9mcm9udCh7cywgdHJ1ZG5vc2MsIGl9KTsKICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIG9zdGF0bmllW3NdID0gaTsKICAgIH0KICAgIAogICAgcmV0dXJuIDA7Cn0=