#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
// Moneer's coding space
int n; cin >> n;
char t, d; cin >> t >> d;
string s;
vector<char>tables(n);
vector<int>dishes(n);
for (size_t i = 0; i < n; i++)
{
cin >> s;
int num = 0;
int cnt = 0;
for (int j = s.size() - 1; j >= 0; j--) {
num += (s[j] - '0') * pow(2, cnt);
cnt++;
}
dishes [i] = num;
}
for (size_t i = 0; i < n; i++)
{
cin >> tables[i];
}
sort(tables.begin(), tables.end());
sort(dishes.begin(), dishes.end());
if (t == 'D') reverse(tables.begin(), tables.end());
if (d == 'D') reverse(dishes.begin(), dishes.end());
for (int i = 0; i < n; i++) {
cout << tables[i] << dishes[i] << " ";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nIAoKCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIAogICAgLy8gTW9uZWVyJ3MgY29kaW5nIHNwYWNlCgogICAgaW50IG47IGNpbiA+PiBuOwogICAgY2hhciB0LCBkOyBjaW4gPj4gdCA+PiBkOwogICAgc3RyaW5nIHM7CiAgICB2ZWN0b3I8Y2hhcj50YWJsZXMobik7CiAgICB2ZWN0b3I8aW50PmRpc2hlcyhuKTsKICAgIAogICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgY2luID4+IHM7CiAgICAgICAgaW50IG51bSA9IDA7CiAgICAgICAgaW50IGNudCA9IDA7CiAgICAgICAgZm9yIChpbnQgaiA9IHMuc2l6ZSgpIC0gMTsgaiA+PSAwOyBqLS0pIHsKICAgICAgICAgICAgbnVtICs9IChzW2pdIC0gJzAnKSAqIHBvdygyLCBjbnQpOwogICAgICAgICAgICBjbnQrKzsKICAgICAgICB9CiAgICAgICAgZGlzaGVzIFtpXSA9IG51bTsKICAgIH0KICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGNpbiA+PiB0YWJsZXNbaV07CiAgICB9IAogICAgCiAgICBzb3J0KHRhYmxlcy5iZWdpbigpLCB0YWJsZXMuZW5kKCkpOwogICAgc29ydChkaXNoZXMuYmVnaW4oKSwgZGlzaGVzLmVuZCgpKTsKICAgIAogICAgaWYgKHQgPT0gJ0QnKSByZXZlcnNlKHRhYmxlcy5iZWdpbigpLCB0YWJsZXMuZW5kKCkpOwogICAgaWYgKGQgPT0gJ0QnKSByZXZlcnNlKGRpc2hlcy5iZWdpbigpLCBkaXNoZXMuZW5kKCkpOwogICAgCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNvdXQgPDwgdGFibGVzW2ldIDw8IGRpc2hlc1tpXSA8PCAiICI7CiAgICB9Cn0=