#include<bits/stdc++.h>
using namespace std;
int n,m,t,k,ans1;
string ans[5][10050];
struct dw
{
string s[5],id;
bool b[5];
int r;
}d[10050];
bool cmp(dw x,dw y)
{
if(x.r==y.r)return x.id<y.id;
return x.r<y.r;
}
int main()
{
cin>>n>>m>>t>>k;
for(int i=1;i<=n;i++)
{
cin>>d[i].s[0]>>d[i].s[1]>>d[i].s[2]>>d[i].s[3]>>d[i].id>>d[i].r;
d[i].b[1]=1,d[i].b[2]=1,d[i].b[3]=1;
}
sort(d+1,d+n+1,cmp);
int t=1,p=1;
while(t<=n&&p<=k)
{
if(d[t].b[1]&&d[t].b[2]&&d[t].b[3])
{
ans[0][p]=d[t].s[0];
ans[1][p]=d[t].s[1];
ans[2][p]=d[t].s[2];
ans[3][p]=d[t].s[3];
ans1++;
for(int i=t;i<=n;i++)
{
for(int j=1;j<=3;j++)
{
if(d[i].s[j]==d[t].s[1]||d[i].s[j]==d[t].s[2]||d[i].s[j]==d[t].s[3])
{
d[i].b[j]=0;
}
}
}
p++;
}
t++;
}
cout<<ans1<<endl;
for(int i=1;i<=p;i++)
{
for(int j=0;j<=3;j++)
{
cout<<ans[j][i]<<" ";
}
cout<<endl;
}
return 0;
}