#include<bits/stdc++.h>
using namespace std;
long long a[2003][2003],n,h,delta,t1,t2,maxn=0,maxt=0;
int main(){
scanf("%ld%ld%ld",&n,&h,&delta);
for(int i=1;i<=n;i++){
scanf("%ld",&t1);
for(int j=0;j<t1;j++){
scanf("%ld",&t2);
a[i][t2]++;
}
}
for(int j=1;j<=h;j++){
for(int i=1;i<=n;i++){
maxt=max(maxn,a[i][j-1]);
a[i][j]+=maxt;
}
for(int i=1;i<=n;i++){
maxn=max(maxn,a[i][j-delta+1]);
}
}
maxn=-1;
for(int i=1;i<=n;i++){
maxn=max(maxn,a[i][h]);
}
cout<<maxn;
return 0;
}