#include<bits/stdc++.h>
using namespace std;
int n,m,t,k;
struct node{
string a,b,c,d;
int e,f;
friend bool operator <(const node a,const node b){
if(a.f==b.f) return a.e<b.e;
return a.f<b.f;
}
}include13[2024];
map<string,int> m0,m1;
int main(){
cin>>n>>m>>t>>k;
for(int i=1;i<=n;i++){
string s1,s2,s3,s4;
int x,y;
cin>>s1>>s2>>s3>>s4>>x>>y;
include13[i]=(node){s1,s2,s3,s4,x,y};
}
sort(include13+1,include13+n+1);
int ans=0;
for(int i=1;i<=n;i++){
if(m0[include13[i].b]!=1&&m0[include13[i].c]!=1&&m0[include13[i].d]!=1){
ans++;
m0[include13[i].b]=1,m0[include13[i].c]=1,m0[include13[i].d]=1;
}
}
cout<<ans<<endl;
for(int i=1;i<=n;i++){
if(m1[include13[i].b]!=1&&m1[include13[i].c]!=1&&m1[include13[i].d]!=1){
cout<<include13[i].a<<' '<<include13[i].b<<' '<<include13[i].c<<' '<<include13[i].d<<endl;
m1[include13[i].b]=1,m1[include13[i].c]=1,m1[include13[i].d]=1;
}
}
cout<<endl;
return 0;
}