#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
int tab[1048580];
long long pot(int a, int n)
{
  if(n==0)
    return 1;
 
  if(n%2 == 1)
    return a * pot(a, n - 1);
  long long w = pot(a, n/2); 
  return w * w;
}
int main(){
	int x, t;
	
	scanf("%d%d", &x, &t);
	x=pot(2,x);
	//printf("%d", x);
	for (int i=0; i<x; i++) scanf("%d", &tab[i]);
	if(t%2==1){
	for (int i=0; i<x; i++) printf("%d ", tab[x-i-1]);	
	}
	else for (int i=0; i<x; i++) printf("%d ", tab[i]);	
	}
        | 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 | #include <cstdio> #include <algorithm> #include <cmath> using namespace std; int tab[1048580]; long long pot(int a, int n) { if(n==0) return 1; if(n%2 == 1) return a * pot(a, n - 1); long long w = pot(a, n/2); return w * w; } int main(){ int x, t; scanf("%d%d", &x, &t); x=pot(2,x); //printf("%d", x); for (int i=0; i<x; i++) scanf("%d", &tab[i]); if(t%2==1){ for (int i=0; i<x; i++) printf("%d ", tab[x-i-1]); } else for (int i=0; i<x; i++) printf("%d ", tab[i]); } | 
 
            
         English
                    English