#include <algorithm> #include <unordered_map> #include <iostream> #include <vector> using namespace std; bool cmp(const pair<int, int> a1,const pair<int, int> a2) { return a1.second>a2.second; } int main() { int n,m,k,l,d;cin>>n>>m>>k>>l>>d; unordered_map<int,int> r,c; //统计每条横竖分割的对数 for(int i=0;i<d;i++) { int ax,ay,bx,by;cin>>ax>>ay>>bx>>by; if(ax==bx) c[min(ay,by)]++; else r[min(ax,bx)]++; } //每条横分割的按由降序排列,取出答案放入ans再升序排列 vector<pair<int,int> > a; vector<int> ans; for(int i=1;i<=n;i++) a.push_back({i,r[i]}); sort(a.begin(), a.end(), cmp); for(int i=0;i<k;i++) ans.push_back(a[i].first); sort(ans.begin(),ans.end()); for(auto&i:ans) cout<<i<<' '; cout<<endl; a.clear();ans.clear(); //和上面操作一样,就改一下 for(int i=1;i<=m;i++) a.push_back({i,c[i]}); sort(a.begin(), a.end(), cmp); for(int i=0;i<l;i++) ans.push_back(a[i].first); sort(ans.begin(),ans.end()); for(auto&i:ans) cout<<i<<' '; cout<<endl; }