//Daniel Grzegorzewski
#include <bits/stdc++.h>
#define MP make_pair
#define PB push_back
#define ST first
#define ND second
using namespace std;
typedef pair<int, int> PII;
typedef vector<int> VI;
typedef vector<PII> VII;
typedef long long LL;
void init_ios()
{
     ios_base::sync_with_stdio(0);
     cin.tie(0);
}
const int N = 1<<21;
int n, t, a[N];
int main()
{
    init_ios();
    cin >> n >> t;
    n = (1<<n);
    for (int i = 0; i < n; ++i)
    	cin >> a[i];
    t %= 2;
    if (t == 0) {
    	for (int i = 0; i < n; ++i)
    		cout<<a[i]<<" ";
    	cout<<"\n";
    }
    else {
    	for (int i = n-1; i >= 0; --i)
    		cout<<a[i]<<" ";
    	cout<<"\n";
    }
}
        | 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 | //Daniel Grzegorzewski #include <bits/stdc++.h> #define MP make_pair #define PB push_back #define ST first #define ND second using namespace std; typedef pair<int, int> PII; typedef vector<int> VI; typedef vector<PII> VII; typedef long long LL; void init_ios() { ios_base::sync_with_stdio(0); cin.tie(0); } const int N = 1<<21; int n, t, a[N]; int main() { init_ios(); cin >> n >> t; n = (1<<n); for (int i = 0; i < n; ++i) cin >> a[i]; t %= 2; if (t == 0) { for (int i = 0; i < n; ++i) cout<<a[i]<<" "; cout<<"\n"; } else { for (int i = n-1; i >= 0; --i) cout<<a[i]<<" "; cout<<"\n"; } } | 
 
            
         English
                    English