#include <bits/stdc++.h>
using namespace std;
const int N = (1 << 20) + 9;
int tab[N];
int 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 == 0){
                for(int i = 0; i < n; i++)
                        printf("%d ", tab[i]);
        } else {
                for(int i = n-1; i >= 0; i--)
                        printf("%d ", tab[i]);
        }
        return 0;
}
        | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <bits/stdc++.h> using namespace std; const int N = (1 << 20) + 9; int tab[N]; int 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 == 0){ for(int i = 0; i < n; i++) printf("%d ", tab[i]); } else { for(int i = n-1; i >= 0; i--) printf("%d ", tab[i]); } return 0; } | 
 
            
         English
                    English