#include<bits/stdc++.h>
using namespace std;
struct node{ int x,y; }a[1010],b[1010];
bool N(node l,node r){
return l.x>r.x;
}
bool M(node l,node r){
return l.y<r.y;
};
int main(){
int m,n,k,l,d;
int x,y,x2,y2;
scanf("%d%d%d%d%d", &m, &n, &k, &l, &d);
for(int i=1;i<=d;i++){
scanf("%d%d%d%d", &x, &y, &x2, &y2);
if(x==x2){
b[min(y,y2)].x++;
b[min(y,y2)].y=min(y,y2);
}
else if(y==y2){
a[min(x,x2)].x++;
a[min(x,x2)].y=min(x,x2);
}
}
sort(a+1,a+1+m,N);
sort(b+1,b+1+n,N);
sort(a+1,a+1+k,M);
sort(b+1,b+1+l,M);
for(int i=1;i<k;i++)printf("%d ",a[i].y);
printf("%d\n",a[k].y);
for(int i=1;i<l;i++)printf("%d ",b[i].y);
printf("%d",b[l].y);
return 0;
}