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
//Sylwia Sapkowska
#include <bits/stdc++.h>
using namespace std;

void __print(int x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");}

template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ", "; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '{'; for (auto &i: x) cerr << (f++ ? ", " : ""), __print(i); cerr << "}";}
void _print() {cerr << "]\n";}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#ifndef ONLINE_JUDGE
#define debug(x...) cerr << "[" << #x << "] = ["; _print(x)
#else
#define debug(x...)
#endif

#define int long long
const int oo = 1e18, oo2 = 1e9+7, K = 30;
const int mod = 998244353;

void solve(){
	int n, k; cin >> n >> k; 
	vector<int>a(n+1);
	for (int i = 1; i<=n; i++) cin >> a[i];
	////
	
	// cout << n << " " << k << "\n";
	// for (int i = 1; i<=n; i++) cout << a[i] << " ";
	// cout << "\n";

	////
	bool bad = 1;
	for (int i = 2; i<=n; i++) bad &= (a[i] > a[i-1]);
	if (bad){
		cout << "NIE\n";
		return;
	}
	
	auto answer = [&](set<int>s){
		if (*s.rbegin() == n) s.erase(--(s.end()));
		if ((int)s.size() != k-1){
			for (int ck = 1; ck<=n; ck++){
				s.insert(ck);
				if ((int)s.size() == k-1) break;
			}
		}
		cout << "TAK\n";
		for (auto x: s) cout << x << " ";
		cout << "\n";
		exit(0);
	};
	if (k >= 2){
		vector<int>pmax(n+1, oo), smin(n+2, -oo);
		for (int i = 1; i<=n; i++) pmax[i] = min(pmax[i-1], a[i]);
		for (int i = n; i>=1; i--) smin[i] = max(smin[i+1], a[i]);
		for (int i = 1; i<n; i++){
			if (pmax[i] >= smin[i+1]){
				answer({i});
			}
		}
	}
	if (k >= 3){
		int mx = oo;
		for (int i = 1; i<n; i++){
			mx = min(mx, a[i]);
			if (mx >= a[i+1]){
				answer({i, i+1});
			}
		}
		int mn = -oo;
		for (int i = n; i>2; i--){
			mn = max(mn, a[i]);
			if (mn <= a[i-1]){
				// debug(i);
				answer({i-2, i-1});
			}
		}
	}
	if (k >= 4){
		for (int i = 2; i<n; i++){
			if (a[i] >= a[i+1]){
				answer({i-1, i, i+1});
			}
		}
	}
	cout << "NIE\n";
}

int32_t main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);

	solve();
	
	return 0;
}