#include #include #include #include #include using namespace std; mt19937 mt(123); // [l,r] int randint(int l, int r) { return uniform_int_distribution(l, r)(mt); } int main() { int n, m; scanf("%d %d", &n, &m); vector a(n); for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } int ans_x = 0; vector ans_a; clock_t start = clock(); int x = 0; for (int i = 0; i < m; i++) { x ^= a[i]; } ans_x = x; ans_a = a; while (double(clock() - start) / CLOCKS_PER_SEC < 0.3) { int i = randint(0, m - 1); int j = randint(m, n - 1); x ^= a[i] ^ a[j]; swap(a[i], a[j]); if (ans_x < x) { ans_x = x; ans_a = a; } } for (int i = 0; i < m; i++) { if (i > 0) putchar(' '); printf("%d", ans_a[i]); } puts(""); }