import java.util.ArrayList;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()){
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
int n = in.nextInt();
int m = in.nextInt();
int c = in.nextInt();
while(n-->0){
int r = in.nextInt();
ArrayList<Integer> tmp = new ArrayList<Integer>();
if (r==0) {
tmp.add(0);
}
while(r-->0){
tmp.add(in.nextInt());
}
list.add(tmp);
}
System.out.println(getILlegal(list, c, m));
}
}
private static int getILlegal(ArrayList<ArrayList<Integer>> list, int c, int m){
int res = 0;
for(int i=1; i<=c; i++){
if (getMinDis(list, i)<m) {
res++;
}
}
return res;
}
private static int getMinDis(ArrayList<ArrayList<Integer>> list, int c){
int len = list.size();
ArrayList<Integer> indexs = new ArrayList<Integer>();
for(int i=0; i<len; i++){
if (list.get(i).contains(c)) {
indexs.add(i);
}
}
if (indexs.size()==1) {
return len;
}
int min = len;
for(int i=1; i<indexs.size(); i++){
if (indexs.get(i) - indexs.get(i-1) < min) {
min = indexs.get(i) - indexs.get(i-1);
}
}
if (len - indexs.get(indexs.size()-1) < min) {
min = len - indexs.get(indexs.size()-1);
}
return min;
}
}