#include<bits/stdc++.h>
using namespace std;
int n,h,delta,f[2005][2005],a[2005][2005];
int main(){
int num,x;
cin>>n>>h>>delta;
for(int i=1;i<=n;i++){
cin>>num;
for(int j=1;j<=num;j++)cin>>x,a[i][x]++;
}
for(int j=h;j>=0;j--){
for(int i=1;i<=n;i++){
f[i][j]=f[i][j+1]+a[i][j];
for(int k=1;k<=n;k++){
if(k!=i&&j+delta<=h)
f[i][j]=max(f[i][j],f[k][j+delta]+a[i][j]);
}
}
}
int ans=f[1][0];
for(int i=2;i<=n;i++)ans=max(ans,f[i][0]);
cout<<ans;
return 0;
}
7个点全t