1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.StringTokenizer;

class Potwor {
	int pos;
	
	Long spadek;
	Long moc;
	public Potwor(int pos, Long spadek, Long moc) {
		this.pos = pos;
		this.spadek = spadek;
		this.moc = moc;
	}
	public int getPos() {
		return pos;
	}
	public Long getSpadek() {
		return spadek;
	}
	public Long getMoc() {
		return moc;
	}
	@Override
	public String toString() {
		return "Potwor [pos=" + pos + ", spadek=" + spadek + ", moc=" + moc + "]";
	}
	
	
}

public class boh {

	private PrintWriter pw = null;
	private BufferedReader br = null;
	
	boh(boolean skip) throws FileNotFoundException {
		this.pw = new PrintWriter(System.out);
		this.br = new BufferedReader(new InputStreamReader(System.in), 1 << 16);		
		if (skip)
			return;
	}
	
	void doit() throws IllegalArgumentException, IOException {
		StringTokenizer st = new StringTokenizer(br.readLine());
		final long N = Long.parseLong(st.nextToken());
		long Z = Long.parseLong(st.nextToken());
		
		List<Potwor> potwory = new ArrayList<Potwor>();
		for (int i = 0; i < N; i++) {
			st = new StringTokenizer(br.readLine());
			final long d = Long.parseLong(st.nextToken());
			final long a = Long.parseLong(st.nextToken());
			Potwor p = new Potwor(i + 1, d, a);
			

			potwory.add(p);
			//System.out.println(p);
		}
		
		Comparator<Potwor> comparator = new Comparator<Potwor>() {
	        public int compare(Potwor object1, Potwor object2) {
				// moc - spadek
	        	Long v1 = object1.getMoc() - object1.getSpadek();
	        	Long v2 = object2.getMoc() - object2.getSpadek();
	       
	        	// jesli v1 i v2 sa < 0 to odwroc porzadek
	        	if (v1 < 0 && v2 < 0) {
	        		if (v1 == v2) {
	        			return object2.getMoc().compareTo(object1.getMoc());
	        		}
	        		
	        		return v1.compareTo(v2);
	        	}
	        	
	        	return v2.compareTo(v1);
	        }			
        }; 
		
		Collections.sort(potwory, comparator);
		
		List<Integer> kolejnosc = new ArrayList<Integer>();
		
		for (Potwor p : potwory) {
			//System.out.println(p + " Z=");
			Z -= p.getSpadek();
			if (Z <= 0) {
				pw.println("NIE");
				pw.flush();
				return;
			}
			Z += p.getMoc();
			//System.out.println("    " + Z);
			kolejnosc.add(p.getPos());
		}
	
		pw.println("TAK");
		for (int ii = 0; ii < kolejnosc.size(); ii++) {
			pw.print(kolejnosc.get(ii));
			if (ii != kolejnosc.size() - 1) {
				pw.print(" ");
			}
		}
		pw.println();
		pw.flush();
	}
	

	
	public static void main(String[] args) throws IllegalArgumentException, IOException {
		new boh(true).doit();
	}
	
	
}