1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#include<bits/stdc++.h>
using namespace std;

const int MAX_N = 1 << 21;
int tab[MAX_N], n, t;

int main()
{
	scanf("%d%d", &n, &t); n = 1 << n;
	for (int i = 0; i < n; ++ i)
		scanf("%d", &tab[i]);
	if (t % 2 == 1)
		reverse(tab,tab+n);
	for (int i = 0; i < n; ++ i)
		printf("%d ", tab[i]);
	puts("");
	return 0;	 
}