#include<bits/stdc++.h>
using namespace std;
const int M = 1e6 + 10;
int m , n , k , l , d;
struct node {
int sum;
int gg;
} h[M] , s[M];
int cmp(node a , node b) {
if(a.sum != b.sum) return a.sum > b.sum;
return a.gg < b.gg;
}
int main() {
scanf("%d %d %d %d %d" , &m , &n , &k , &l , &d);
for(int i = 1; i <= d; i ++) {
int x , y , p , q;
scanf("%d %d %d %d" , &x , &y , &p , &q);
if(x == p) s[min(y , q)].sum ++ , s[min(y , q)].gg = min(y , q);
if(y == q) h[min(x , p)].sum ++ , h[min(x , p)].gg = min(x , p);
}
sort(h + 1 , h + m + 1, cmp);
sort(s + 1 , s + n + 1, cmp);
for(int i = 1; i <= k; i ++) printf("%d " , h[i].gg);
printf("\n");
for(int i = 1; i <= l; i ++) printf("%d " , s[i].gg);
printf("\n");
return 0;
}