n,m,c=list(map(int,input().split())) res=[] # 用于记录输入的数据 for i in range(n): num=list(map(int,input().split())) res.append(num) idx=[] # 用于记录每种颜色出现的位置 for x in range(1,c+1): temp=[] # 用于记录第x个颜色出现过的位置 for i in range(n): if x in res[i][1:]: temp.append(i) idx.append(temp) ans=0 # 用于记录不满足要求的颜色数 for i in range(c): if len(idx[i])>1: for j in range(len(idx[i])): if j==0: if n-idx[i][-1]<=m-1: # 首位对比,应对环形 ans+=1 break else: if idx[i][j]-idx[i][j-1]<m: # 出现同一颜色的位置差小于m则视为连续m个珠子中该颜色重复出现 ans+=1 break print(ans)