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
#include<iostream>
 #include<vector>
 #include<algorithm>

 using namespace std;



int main() {
    unsigned long long int n;
    cin>>n;
    unsigned long long int k;
    cin>>k;
    vector<unsigned long long int> strzala;
    for(unsigned long long int i=1; i<=n; ++i) strzala.push_back(i);
    unsigned long long int stabilne_permutacje = 0;
    outerloop:
	do{
	    unsigned long long int licznik1 = 0;
	    unsigned long long int licznik2 = 0;
	   	for(unsigned long long int i=0; i<n-1; i+=2){
		    if(strzala[i]>strzala[i+1])
		    licznik1++;
		    if( strzala[n-1]>strzala[n-i-1])
		    licznik2++;
		}
		if(licznik1==licznik2){
		    if(!k){
		        cout<<"TAK"<<endl;
		      for(unsigned long long int i=0; i<strzala.size(); ++i){
                    if(i!=strzala.size()-1) cout<<strzala[i]<<" ";
                        else cout<<strzala[i];
                    }
		      return 0;
		    }
		    k--;
		}

	}while(next_permutation(strzala.begin(),strzala.end()));
    if(stabilne_permutacje!=k) cout<<"NIE";
    return 0;
}