#include <iostream>
#include <numeric>
#include <iomanip>
#include <cmath>
#include <climits>
#include <vector>
#include <algorithm>
using namespace std;
// capture list: danh sách các biến bên ngoài được lamda sử dụng, lamda có thể truy cập các biến trong phạm vi nơi nó
// được tạo ra, [=],[&]
// pass by reference
// pass by value
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int X;
int n;
if (!(cin >> n >> X)) return 0;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
vector<int> b = a;
sort(a.begin(), a.end(), [X](int a, int b) {
int d1 = abs(a - X);
int d2 = abs(b - X);
if (d1 != d2) {
return d1 < d2;
}
return a < b;
});
for (int i = 0; i < n; i++) {
cout << a[i] << (i == n - 1 ? "" : " ");
}
cout << "\n";
sort(b.begin(), b.end(), [](int a, int b) {
if (a % 2 == 0 && b % 2 != 0) return true;
if (a % 2 != 0 && b % 2 == 0) return false;
if (a % 2 == 0 && b % 2 == 0) return a < b;
return a > b;
});
for (int i = 0; i < n; i++) {
cout << b[i] << (i == n - 1 ? "" : " ");
}
cout << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bnVtZXJpYz4KI2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPGNsaW1pdHM+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKLy8gY2FwdHVyZSBsaXN0OiBkYW5oIHPDoWNoIGPDoWMgYmnhur9uIGLDqm4gbmdvw6BpIMSRxrDhu6NjIGxhbWRhIHPhu60gZOG7pW5nLCBsYW1kYSBjw7MgdGjhu4MgdHJ1eSBj4bqtcCBjw6FjIGJp4bq/biB0cm9uZyBwaOG6oW0gdmkgbsahaSBuw7MKLy8gxJHGsOG7o2MgdOG6oW8gcmEsIFs9XSxbJl0KCi8vIHBhc3MgYnkgcmVmZXJlbmNlCgovLyBwYXNzIGJ5IHZhbHVlCgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGludCBYOwogICAgaW50IG47CiAgICBpZiAoIShjaW4gPj4gbiA+PiBYKSkgcmV0dXJuIDA7CiAgICB2ZWN0b3I8aW50PiBhKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KICAgIHZlY3RvcjxpbnQ+IGIgPSBhOwogICAgc29ydChhLmJlZ2luKCksIGEuZW5kKCksIFtYXShpbnQgYSwgaW50IGIpIHsKICAgICAgICBpbnQgZDEgPSBhYnMoYSAtIFgpOwogICAgICAgIGludCBkMiA9IGFicyhiIC0gWCk7CiAgICAgICAgaWYgKGQxICE9IGQyKSB7CiAgICAgICAgICAgIHJldHVybiBkMSA8IGQyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gYSA8IGI7CiAgICB9KTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY291dCA8PCBhW2ldIDw8IChpID09IG4gLSAxID8gIiIgOiAiICIpOwogICAgfQogICAgY291dCA8PCAiXG4iOwogICAgc29ydChiLmJlZ2luKCksIGIuZW5kKCksIFtdKGludCBhLCBpbnQgYikgewogICAgICAgIGlmIChhICUgMiA9PSAwICYmIGIgJSAyICE9IDApIHJldHVybiB0cnVlOwogICAgICAgIGlmIChhICUgMiAhPSAwICYmIGIgJSAyID09IDApIHJldHVybiBmYWxzZTsKICAgICAgICBpZiAoYSAlIDIgPT0gMCAmJiBiICUgMiA9PSAwKSByZXR1cm4gYSA8IGI7CiAgICAgICAgcmV0dXJuIGEgPiBiOwogICAgfSk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNvdXQgPDwgYltpXSA8PCAoaSA9PSBuIC0gMSA/ICIiIDogIiAiKTsKICAgIH0KICAgIGNvdXQgPDwgIlxuIjsKICAgIHJldHVybiAwOwp9Cg==