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
#include<iostream>
#include<cmath>
using namespace std;

int main() {
	int n,t;
	scanf("%d",&n);
	scanf("%d",&t);
	const int size = pow(2.0,n);
	int *tab = new int[size];
	for(int i=0;i<size;i++) {
		scanf("%d",&tab[i]);
	}
	if(t%2==0) {
		for(int i=0;i<size;i++) {
			printf("%d ",tab[i]);
		}
	}
	else {
		for(int i=size-1;i>=0;i--) {
			printf("%d ",tab[i]);
		}
	}
	delete[] tab;
	return 0;
}