#include <iostream>
#include <algorithm>
using namespace std;
int m, n, k, l, d;
struct line{
int n;
int s;
}w[1005], t[1005];
bool cmp1(line x, line y) {
return x.n > y.n;
}
bool cmp2(line x, line y) {
return x.s < y.s;
}
int main(){
cin >> m >> n >> k >> l >> d;
for(int i = 1; i <= d; i++) {
int x, y, p, q;
cin >> x >> y >> p >> q;
if(x == p) {
t[min(y, q)].s = min(y, q);
t[min(y, q)].n++;
}else{
w[min(x, p)].s = min(x, p);
w[min(y, q)].n++;
}
}
sort(w + 1, w + m + 1, cmp1);
sort(t + 1, w + n + 1, cmp1);
sort(w + 1, w + k + 1, cmp2);
sort(t + 1, t + l + 1, cmp2);
for(int i = 1; i <= k; i++) {
cout << w[i].s << " ";
}
cout << endl;
for(int i = 1; i <= l; i++) {
cout << t[i].s << " ";
}
return 0;
}