#include <iostream>
#include <vector>
#include <string>
int main()
{
	int n, t;
	std::cin >> n >> t;
	int two_to_n = 1;
	for(int i_n = 0; i_n < n; ++i_n)
		two_to_n <<= 1;
	std::vector<std::string> cards(two_to_n);
	for(int i_n = 0; i_n < two_to_n; ++i_n)
		std::cin >> cards[i_n];
	if((t % 2) == 0)
	{
		std::cout << cards[0];
		for(int i_n = 1; i_n < two_to_n; ++i_n)
			std::cout << ' ' << cards[i_n];
	}
	else
	{
		std::cout << cards[two_to_n - 1];
		for(int i_n = 1; i_n < two_to_n; ++i_n)
			std::cout << ' ' << cards[two_to_n - 1 - i_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 | #include <iostream> #include <vector> #include <string> int main() { int n, t; std::cin >> n >> t; int two_to_n = 1; for(int i_n = 0; i_n < n; ++i_n) two_to_n <<= 1; std::vector<std::string> cards(two_to_n); for(int i_n = 0; i_n < two_to_n; ++i_n) std::cin >> cards[i_n]; if((t % 2) == 0) { std::cout << cards[0]; for(int i_n = 1; i_n < two_to_n; ++i_n) std::cout << ' ' << cards[i_n]; } else { std::cout << cards[two_to_n - 1]; for(int i_n = 1; i_n < two_to_n; ++i_n) std::cout << ' ' << cards[two_to_n - 1 - i_n]; } } | 
 
            
         English
                    English