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
#include<bits/stdc++.h>
#define int long long 

using namespace std;

int n, k;
vector<int> tab;

void k2(){
	vector<int> prefmin(n);
	vector<int> sufmax(n);
	prefmin[0] = tab[0];
	sufmax[n-1] = tab[n-1];
	for(int i=1; i<n; i++)prefmin[i] = min(prefmin[i-1], tab[i]);
	for(int i=n-2; i>=0; i--)sufmax[i] = max(sufmax[i+1], tab[i]);
	for(int i=1; i<n; i++){
		if(prefmin[i-1] >= sufmax[i]){
			cout<<"TAK\n";
			cout<<i<<endl;
			return;
		}
	}
	cout<<"NIE";
}

void k3(){
	
	int mx = -1, mn = 1e10;
	for(auto x : tab){
		mx = max(x, mx);
		mn = min(x, mn);
	}
	if(mx == mn){
		cout<<"TAK\n";
		cout<<1<<" "<<2;
		return;
	}
	vector<int> wystmx, wystmn;
	for(int i=0; i<n; i++){
		if(tab[i] == mn)wystmn.push_back(i);
	}
	for(int i=n-1; i>=0; i--) if(tab[i] == mx)wystmx.push_back(i);

	if(wystmx.size() == 1 && wystmx[0] == n-1 && wystmn.size() == 1 && wystmn[0] == 0){
		cout<<"NIE\n";
		return;
	}
	if(wystmx[0] != n-1){
		cout<<"TAK\n";
		cout<<wystmx[0]<<" "<<wystmx[0]+1<<endl;
		return;
	}
	if(wystmn[0] != 0){
		cout<<"TAK\n";
		cout<<wystmn[0]<<" "<<wystmn[0]+1<<endl;
		return;
	}
	if(wystmx.size()>1){
		cout<<"TAK\n";
		cout<<wystmx[1]<<" "<<wystmx[1]+1;
		return;
	}
	if(wystmn.size()>1){
		cout<<"TAK\n";
		cout<<wystmn[1]<<" "<<wystmn[1]+1;
		return;
	}
}

void k4(){
	bool czymono = true;
	for(int i=1; i<n; i++){
		if(tab[i-1] >= tab[i]){
			vector<int> wynik = {i-1, i};
			if(i-1 == 0){
				for(int j=2; j<k; j++){
					wynik.push_back(j);
				}
			}else{
				wynik.push_back(i-2);
				int cnt = 3;
				for(int j=0; j<n; j++){
					if(cnt < k-1 && (j < i-2 || j > i ) ){
						wynik.push_back(j);
						cnt++;
					}
				}
			}
			cout<<"TAK\n";
			sort(wynik.begin(), wynik.end());
			for(auto x : wynik){
				cout<<x+1<<" ";
			}
			return;
		}
	}
	cout<<"NIE";
}

void solve(){
	if(k==2)k2();
	if(k==3)k3();
	if(k>3)k4();
}

int32_t main(){
	cin>>n>>k;
	tab.resize(n);
	for(auto &x : tab)cin>>x;
	solve();
}