import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		
		int[] K = new int[N];
		int[][] A = new int[N][M];
		int[] food = new int[M + 1];
		
		for(int i = 0; i < N; i++) {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		}
		
		int sum = 0;
		
		for(int i = 1; i <= M; i++) {
			if(food[i] == N) {
				sum++;
			}
		}
		System.out.println(sum);
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		
		int[] K = new int[N];
		int[][] A = new int[N][M];
		int[] food = new int[M + 1];
		
		for(int i = 0; i < N; i++) {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		}
		
		int sum = 0;
		
		for(int i = 1; i <= M; i++) {
			if(food[i] == N) {
				sum++;
			}
		}
		System.out.println(sum);
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		
		int[] K = new int[N];
		int[][] A = new int[N][M];
		int[] food = new int[M + 1];
		
		for(int i = 0; i < N; i++) {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		}
		
		int sum = 0;
		
		for(int i = 1; i <= M; i++) {
			if(food[i] == N) {
				sum++;
			}
		}
		System.out.println(sum);
	} main {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		
		int[] K = new int[N];
		int[][] A = new int[N][M];
		int[] food = new int[M + 1];
		
		for(int i = 0; i < N; i++) {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		}
		
		int sum = 0;
		
		for(int i = 1; i <= M; i++) {
			if(food[i] == N) {
				sum++;
			}
		}
		System.out.println(sum);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int M = sc.nextInt(); M sc.nextInt() sc.nextInt sc int[] K = new int[N]; K new int[N] N int[][] A = new int[N][M]; A new int[N][M] N M int[] food = new int[M + 1]; food new int[M + 1] M + 1 M 1 for(int i = 0; i < N; i++) {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		} {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		} K[i] = sc.nextInt() K[i] K i sc.nextInt() sc.nextInt sc for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			} int j = 0; int j = 0; j 0 j < K[i] j K[i] K i j++ j++ j {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			} {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			} A[i][j] = sc.nextInt() A[i][j] A[i] A i j sc.nextInt() sc.nextInt sc for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				} int k = 1; int k = 1; k 1 k <= M k M k++ k++ k {
					if(A[i][j] == k) {
						food[k]++;
					}
				} {
					if(A[i][j] == k) {
						food[k]++;
					}
				} if(A[i][j] == k) {
						food[k]++;
					} A[i][j] == k A[i][j] A[i] A i j k {
						food[k]++;
					} food[k]++ food[k] food k int sum = 0; sum 0 for(int i = 1; i <= M; i++) {
			if(food[i] == N) {
				sum++;
			}
		} int i = 1; int i = 1; i 1 i <= M i M i++ i++ i {
			if(food[i] == N) {
				sum++;
			}
		} {
			if(food[i] == N) {
				sum++;
			}
		} if(food[i] == N) {
				sum++;
			} food[i] == N food[i] food i N {
				sum++;
			} sum++ sum System.out.println(sum) System.out.println System.out System System.out sum String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		
		int[] K = new int[N];
		int[][] A = new int[N][M];
		int[] food = new int[M + 1];
		
		for(int i = 0; i < N; i++) {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		}
		
		int sum = 0;
		
		for(int i = 1; i <= M; i++) {
			if(food[i] == N) {
				sum++;
			}
		}
		System.out.println(sum);
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		
		int[] K = new int[N];
		int[][] A = new int[N][M];
		int[] food = new int[M + 1];
		
		for(int i = 0; i < N; i++) {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		}
		
		int sum = 0;
		
		for(int i = 1; i <= M; i++) {
			if(food[i] == N) {
				sum++;
			}
		}
		System.out.println(sum);
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		
		int[] K = new int[N];
		int[][] A = new int[N][M];
		int[] food = new int[M + 1];
		
		for(int i = 0; i < N; i++) {
			K[i] = sc.nextInt();
			for(int j = 0; j < K[i]; j++) {
				A[i][j] = sc.nextInt();
				for(int k = 1; k <= M; k++) {
					if(A[i][j] == k) {
						food[k]++;
					}
				}				
			}			
		}
		
		int sum = 0;
		
		for(int i = 1; i <= M; i++) {
			if(food[i] == N) {
				sum++;
			}
		}
		System.out.println(sum);
	}
}
