#include<bits/stdc++.h>
using namespace std;
struct poi
{
int x1;
int x2;
int y1;
int y2;
}a[4003];
struct num
{
int x;
int y;
int sumx;
int sumy;
}b[4003];
bool cmpx(num a,num b)
{
return a.sumx>=b.sumx;
}
bool cmpy(num a,num b)
{
return a.sumy>=b.sumy;
}
int main()
{
int m,n,k,l,d,ansx[4003],ansy[4003];
for(int i=1;i<=4003;i++)
{
b[i].x=0;
b[i].y=0;
b[i].sumx=0;
b[i].sumy=0;
}
scanf("%d%d%d%d%d",&m,&n,&k,&l,&d);
for(int i=1;i<=d;i++)
{
scanf("%d%d%d%d",&a[i].x1,&a[i].y1,&a[i].x2,&a[i].y2);
}
for(int i=1;i<=d;i++)
{
if(a[i].y1==a[i].y2)
{
int c=min(a[i].x1,a[i].x2);
b[c].x=c;
b[c].sumx++;
}
else
{
int h=min(a[i].y1,a[i].y2);
b[h].y=h;
b[h].sumy++;
}
}
sort(b+1,b+d+2,cmpx);
int ii=1;
int kk=k;
while(k--)
{
ansx[ii]=b[ii].x;
ii++;
}
sort(ansx+1,ansx+kk+1);
for(int i=1;i<=kk;i++)
{
printf("%d ",ansx[i]);
}
printf("\n");
sort(b+1,b+d+2,cmpy);
int j=1;
int ll=l;
while(l--)
{
ansy[j]=b[j].y;
j++;
}
sort(ansy+1,ansy+ll+1);
for(int i=1;i<=ll;i++)
{
printf("%d ",ansy[i]);
}
return 0;
}