import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int m=sc.nextInt();
    int[] a=new int[31];
    for(int i=0;i<n;i++){
      int k=sc.nextInt();
      for(int j=0;j<k;j++){
        a[sc.nextInt()]++;
      }
    }
    int c=0;
    for(int i=0;i<31;i++){
      if(a[i]==n){
        c++;
      }
    }
    System.out.println(c);
  }
} import java.util.*; util.* java class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int m=sc.nextInt();
    int[] a=new int[31];
    for(int i=0;i<n;i++){
      int k=sc.nextInt();
      for(int j=0;j<k;j++){
        a[sc.nextInt()]++;
      }
    }
    int c=0;
    for(int i=0;i<31;i++){
      if(a[i]==n){
        c++;
      }
    }
    System.out.println(c);
  }
} Main public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int m=sc.nextInt();
    int[] a=new int[31];
    for(int i=0;i<n;i++){
      int k=sc.nextInt();
      for(int j=0;j<k;j++){
        a[sc.nextInt()]++;
      }
    }
    int c=0;
    for(int i=0;i<31;i++){
      if(a[i]==n){
        c++;
      }
    }
    System.out.println(c);
  } main {
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int m=sc.nextInt();
    int[] a=new int[31];
    for(int i=0;i<n;i++){
      int k=sc.nextInt();
      for(int j=0;j<k;j++){
        a[sc.nextInt()]++;
      }
    }
    int c=0;
    for(int i=0;i<31;i++){
      if(a[i]==n){
        c++;
      }
    }
    System.out.println(c);
  } 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[] a=new int[31]; a new int[31] 31 for(int i=0;i<n;i++){
      int k=sc.nextInt();
      for(int j=0;j<k;j++){
        a[sc.nextInt()]++;
      }
    } int i=0; int i=0; i 0 i<n i n i++ i++ i {
      int k=sc.nextInt();
      for(int j=0;j<k;j++){
        a[sc.nextInt()]++;
      }
    } {
      int k=sc.nextInt();
      for(int j=0;j<k;j++){
        a[sc.nextInt()]++;
      }
    } int k=sc.nextInt(); k sc.nextInt() sc.nextInt sc for(int j=0;j<k;j++){
        a[sc.nextInt()]++;
      } int j=0; int j=0; j 0 j<k j k j++ j++ j {
        a[sc.nextInt()]++;
      } {
        a[sc.nextInt()]++;
      } a[sc.nextInt()]++ a[sc.nextInt()] a sc.nextInt() sc.nextInt sc int c=0; c 0 for(int i=0;i<31;i++){
      if(a[i]==n){
        c++;
      }
    } int i=0; int i=0; i 0 i<31 i 31 i++ i++ i {
      if(a[i]==n){
        c++;
      }
    } {
      if(a[i]==n){
        c++;
      }
    } if(a[i]==n){
        c++;
      } a[i]==n a[i] a i n {
        c++;
      } c++ c System.out.println(c) System.out.println System.out System System.out c String[] args args
import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int m=sc.nextInt();
    int[] a=new int[31];
    for(int i=0;i<n;i++){
      int k=sc.nextInt();
      for(int j=0;j<k;j++){
        a[sc.nextInt()]++;
      }
    }
    int c=0;
    for(int i=0;i<31;i++){
      if(a[i]==n){
        c++;
      }
    }
    System.out.println(c);
  }
}