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

using namespace std;

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

    int n,k; cin>>n>>k;
    vector<int> seq(n);
    for(auto &i : seq) cin>>i;
    vector<bool> used(n-1);
    int count = 1;
    
    if(k==2){
        set<pair<int,int>> a, b;
        for(int i=1;i<n;++i) b.insert({seq[i],i});
        a.insert({seq[0],0});
        bool done = false;
        for(int i=1;i<n;++i){
            if(a.begin()->first >= b.rbegin()->first){
                done = true;
                // cout<<"TAK\n";
                cout<<"TAK\n"<<i<<'\n';
                break;
            }
            a.insert({seq[i],i});
            b.erase({seq[i],i});

        }
        if(!done) cout<<"NIE\n";
    }
    if(k==3){
        int mi=INT_MAX,mx=INT_MIN;

        for(int i=0;i<n;++i){
            mi = min(mi, seq[i]);
            mx = max(mx, seq[i]);            
        }
        bool done = false;
        for(int i=0;i<n-1;++i){
            if(seq[i] == mx){
                done = true;
                cout<<"TAK\n";
                if(i==0){
                    cout<<1<<' '<<2<<'\n'; 
                }
                else{
                    cout<<i<< ' '<<i+1<<'\n';
                }
                break;
            }
        }      
        if(!done){
            for(int i=1;i<n;++i){
                if(seq[i] == mi){
                    done=true;
                    cout<<"TAK\n";
                    if(i == n-1){
                        cout<<n-2<<' '<<n-1<<'\n';
                    }
                    else{
                        cout<<i<<' '<<i+1<<'\n';
                    }
                    break;
                }
            }
        }
        if(!done) cout<<"NIE\n";
        
    }

    if(k>=4){
        for(int i=0;i<n-1;++i){
            if(seq[i]>=seq[i+1]){
                if(i>0){
                    count++;
                    used[i-1]=true;
                }
                count++;
                used[i] = true;
                if(i<n-1){
                    count++;
                    used[i+1]=true;
                }
                break;
            }
        }
        if(count > 1){
            cout<<"TAK\n";
            for(int i=0;i<n-1;++i){
                if(count<k && !used[i]){
                    count++;
                    used[i] = true;
                }
                if(used[i]) cout<<i+1<<' ';
            }

        }
        else cout<<"NIE\n";
    }

    return 0;
}