#include <bits/stdc++.h>
using psc = std::pair<std::string, char>;
const int K = 1e5 + 10;
int n, k, m, p;
std::vector<psc> a;
void input() {
std::cin >> n >> k >> m >> p;
a.resize(k + 1);
for (int i = 1; i <= k; ++i)
std::cin >> a[i].first >> a[i].second;
if (n * 4 > k) {
puts("Error:cards not enough");
exit(0);
}
}
void shuffle() {
while (m--) {
std::vector<psc> b;
b.push_back({"", ' '});
for (int i = 1; i <= k / 2; ++i) {
b.push_back(a[k / 2 + i]);
b.push_back(a[i]);
}
if (k & 1) b.push_back(a[k]);
a = b;
}
}
void work() {
std::vector<psc> pai;
for (int i = 1; i <= k; ++i) {
if (pai.size() == 4) break;
if ((i - 1) % n + 1 == p) pai.push_back(a[i]);
}
for (int i = 0; i < 4; ++i) {
std::cout << pai[i].first << ' ' << pai[i].second << std::endl;
}
}
int main() {
std::cin.tie(0)->sync_with_stdio(0);
input();
shuffle();
work();
return 0;
}