#include #include #include #include using namespace std; random_device rnd; int M; int output_counter = 0; void output(int num){ output_counter++; if(output_counter == M){ cout << num << endl; }else{ cout << num << " "; } } int main(){ int N; cin >> N >> M; int nums[N]; for(int i = 0; i < N; i++){ cin >> nums[i]; } sort(nums, nums + N); output(nums[N - 1]); int ans = nums[N - 1]; nums[N - 1] = 1e9; for(int i = 0; i < N - 1 && output_counter < M; i++){ if((ans ^ nums[i]) > ans){ output(nums[i]); ans ^= nums[i]; nums[i] = 1e9; } } sort(nums, nums + N); for(int i = 0; i < M - output_counter; i++){ output(nums[i]); } }