#include <stdio.h>

int boh_hp;
int damage[100000];
int elx_str[100000];
int kolejnosc[100000];

int n, z,d,e;
bool wypad = false;



bool wypierdalaj_definitywnie = false;

int main()
{
	int hp[100000];
	int abc = 0;
	bool odp = false;
	int min = 0;
	scanf("%i",&n); scanf("%i",&z);
	boh_hp = z;
	for(int i = 0; i< 100000; i++)
	{
		kolejnosc[i] = -1;
	}

	for(int i =0; i< n; i++)
	{
		scanf("%i",&d); 
		
		scanf("%i",&e);
			damage[i] = d;
			elx_str[i] = e;
	}

	int licznik = 0;
	int bhp = 0;
	bool wtf = false;
	bool kadetem_tera = false;
	for(int i = 0; i<n;i++)
	{
		
		if(boh_hp - damage[i] > 0)
		{
			
			//printf("%s","i = "); printf("%i\n",i);
			licznik = 1;
			
			hp[i] = boh_hp - damage[i] + elx_str[i];
			bhp = hp[i];
			kolejnosc[0] = i;
			for(int k = 0; k< n; k++)
			{
			//	printf("%s","  = "); printf("%i\n",i);
				wypierdalaj_definitywnie = false;
				kadetem_tera = false;
				
				if(k !=i )
				{
					
					
					
					if(hp[i] - damage[k] > 0)
					{
						
						if(licznik == n-1)
						{
							 for(int r = 0; r< licznik;r++)
                            {
                                                if(kolejnosc[r] == k)
                                                   {
                                                         wypierdalaj_definitywnie = true;
                                                        //break;

                                                   }
                            }
                            if(wypierdalaj_definitywnie)break;
                            else{

                                    kolejnosc[licznik] = k;
																licznik+=1;
																hp[i] = (hp[i] - damage[k] + elx_str[k]) ;
																if(licznik >= n) odp = true;
																break;
                                }
						}
						else
						{
						for(int a = 0; a<n; a++)
						{
							if( a != k && a != i )
								{
										for(int xk = 0; xk <=licznik; xk++)
										{
											
												if(kolejnosc[xk] != a && kolejnosc[xk] != k && kolejnosc[xk] != i)
												{
									
														if(  (hp[i] - damage[k] + elx_str[k]) - damage[a] > 0)
														{
															for(int p = 0; p< licznik ;p++)
															{
																if(kolejnosc[p] == k ) 
																{
																	wypierdalaj_definitywnie = true;
																	break;
																	
																}
															}
															if(!wypierdalaj_definitywnie)
															{
																 kolejnosc[licznik] = k;
															//	printf("%s ","dodaje w kol k: "); printf("%i\n",k);
																licznik+=1;
																hp[i] = (hp[i] - damage[k] + elx_str[k]) /*- damage[a] + elx_str[a]*/;
																//printf("%s  ","hp[i] "); printf("%i\n",hp[i]);

																/*printf("%s","k = "); printf("%i ",k); 
																printf("%s","i = "); printf("%i ",i);
																printf("%s","a = "); printf("%i\n",a);*/
																for(int za_duzo_petli = 0; za_duzo_petli < licznik; za_duzo_petli++)
																{
																	if(a == kolejnosc[za_duzo_petli]) 
																	{
																		kadetem_tera = true;
																		break;
																	}
																}
																if(!kadetem_tera)
																{
																	hp[i] -= damage[a];
																	hp[i] += elx_str[a];
																//	printf("%s  ","hp po a ");printf("%i\n",hp[i]);
																	kolejnosc[licznik] = a;
																//	printf("%s ","dodaje w kol a: "); printf("%i\n",a);
																	licznik +=1;
																	
																}
																if(licznik >= n)
																	{
																		odp = true;
																		//printf("%s\n","koncze bo licznik == n");
																	}
																	wypad = true;
																	break;
															}
														} 
									
									
												}
											
										}// for xk
									}// a != k a != i
							if(wypad)
								{
									wypad = false;
									break;
								}

						}// for a
					}//else
						
						
					}
				}// k != i
				if(odp) break;
			}// for k

			if(odp) break;

			//if(licznik == n-1)
			//{
			//	//odp = true;
			//	break;
			//}
			//else odp = false;
			


			//if(wypad) break;
		}//moze byc pierwszy w kolejce
	}// for i
	// nie działa
	
	
	for(int i = 0; i<n; i++)
		{
			if(kolejnosc[i] > -1) abc+=1;


			
		}
	if(abc == n)
	{
		printf("%s\n","TAK");
		for(int i = 0; i<n; i++)
		{
			/*if(i < n-1)*/ printf("%i ",kolejnosc[i]+1);
			//else  printf("%i",kolejnosc[i]+1);
			
		}
	}
	else
		{
			printf("%s\n","NIE");
	}

	
	return 0;
}
