#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#define inf 0x7fffffff
using namespace std;
inline int read(){
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
int n,H,d,ans,mp[2101][2101],f[2101][2101];
int main(){
n=read();H=read();d=read();
for(int i=1;i<=n;++i){
int x=read();
for(int j=1;j<=x;++j)
++mp[i][read()];
}
for(int h=H;h;--h){
int Max=0;
for(int i=1;i<=n;++i)
Max=max(f[i][h+d],Max);
for(int i=1;i<=n;++i)
f[i][h]=max(Max,f[i][h+1])+mp[i][h];
}
for(int i=1;i<=n;++i)
ans=max(ans,f[i][1]);
printf("%d",ans);
return 0;
}
1270: [BeijingWc2008]雷涛的小猫