#include<iostream>
using namespace std;
int tab[1100000];
int pot(int x, int n){
	if(n==0){
		return 1;
	}
	else{
	
		if(n%2==0){
			return pot(x,n/2)*pot(x,n/2);
		}
		if(n%2==1){
			return x*pot(x,n-1);
		}
	}
}
int main(){
	
	ios_base::sync_with_stdio(0);
	
	int n, t;
	cin>>n>>t;
	int m=pot(2,n);
	
	for(int i=1;i<=m;i++){
		cin>>tab[i];
	}
	
	
	if(t%2==1){
		for(int i=m;i>0;i--){
			cout<<tab[i]<<" ";
		}
	}
	
	else{
		for(int i=1;i<=m;i++){
			cout<<tab[i]<<" ";
		}
	}
	
	//cin>>m;
	return 0;
	
}
        | 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 | #include<iostream> using namespace std; int tab[1100000]; int pot(int x, int n){ if(n==0){ return 1; } else{ if(n%2==0){ return pot(x,n/2)*pot(x,n/2); } if(n%2==1){ return x*pot(x,n-1); } } } int main(){ ios_base::sync_with_stdio(0); int n, t; cin>>n>>t; int m=pot(2,n); for(int i=1;i<=m;i++){ cin>>tab[i]; } if(t%2==1){ for(int i=m;i>0;i--){ cout<<tab[i]<<" "; } } else{ for(int i=1;i<=m;i++){ cout<<tab[i]<<" "; } } //cin>>m; return 0; } | 
 
            
         English
                    English