#include <bits/stdc++.h>
using namespace std;

/*
  m行n列 k条横向通道 l条纵向通道 d对说话的同学
*/
int m,n,k,l,d;
//横纵坐标数组,存储在这个位置画线隔开几对同学
int x[1010],y[1010];
//横纵坐标桶排序的数组 
int rx[1010],ry[1010]; 
int main(){
	//提升读写效率 
	ios::sync_with_stdio(false);
	int x1,y1,x2,y2;//用来存放说话的人的坐标
	int i,j;
	cin>>m>>n>>k>>l>>d; 
	//读入d对说话的人 
	for(i = 1;i <= d;i++){
		cin>>x1>>y1>>x2>>y2;
		//说明在同一行,用列隔开 
		if(x1 == x2){
			//该列的线能隔开几个人(线在人的右侧) 
			y[min(y1,y2)]++; 
		}else{
			//该行的线能隔开几个人(线在人的上方) 
			x[min(x1,x2)]++;
		}
	}
	
	//桶排序,标记k条横向的通道 
	for(i = 1;i <= k;i++){
		int maxn = -1;
		int p;
		for(j = 1;j < m;j++){
			if(x[j] > maxn){
				maxn = x[j];
				p = j;
			}
		}
		//标记该行的线分割了0个人 
		x[p] = 0; 
		rx[p]++;
	} 
	
	//桶排序,标记l条纵向的通道 
	for(i = 1;i <= l;i++){
		int maxn = -1;
		int p;
		for(j = 1;j < n;j++){
			if(y[j] > maxn){
				maxn = y[j];
				p = j;
			}
		} 
		//标记该列的线分割了0个人 
		y[p] = 0;
		ry[p]++;
	}
	
	for(i = 0;i < 1005;i++){
		if(rx[i]) cout<<i<<" ";
	}
	cout<<endl;
	for(i = 0;i < 1005;i++){
		if(ry[i]) cout<<i<<" ";
	}
}

/**************************************************************
	Problem: 1797
	User: admin
	Language: C++
	Result: Accepted
	Time:52 ms
	Memory:2244 kb
****************************************************************/