import 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();
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0; i < n; i++) {
            int k = sc.nextInt();
            for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        }
        int ans = 0;
        for(int i : map.values()) {
            if(i == n) {
                ans++;
            }
        }
        System.out.println(ans);
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0; i < n; i++) {
            int k = sc.nextInt();
            for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        }
        int ans = 0;
        for(int i : map.values()) {
            if(i == n) {
                ans++;
            }
        }
        System.out.println(ans);
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0; i < n; i++) {
            int k = sc.nextInt();
            for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        }
        int ans = 0;
        for(int i : map.values()) {
            if(i == n) {
                ans++;
            }
        }
        System.out.println(ans);
    } main {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0; i < n; i++) {
            int k = sc.nextInt();
            for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        }
        int ans = 0;
        for(int i : map.values()) {
            if(i == n) {
                ans++;
            }
        }
        System.out.println(ans);
    } 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 HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); map new HashMap<Integer, Integer>() for(int i = 0; i < n; i++) {
            int k = sc.nextInt();
            for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        } 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++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        } {
            int k = sc.nextInt();
            for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        } int k = sc.nextInt(); k sc.nextInt() sc.nextInt sc for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            } int j = 0; int j = 0; j 0 j < k j k j++ j++ j {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            } {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            } int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc int b = 0; b 0 if(map.containsKey(a)) {
                    b = map.get(a);
                } map.containsKey(a) map.containsKey map a {
                    b = map.get(a);
                } b = map.get(a) b map.get(a) map.get map a map.put(a, b + 1) map.put map a b + 1 b 1 int ans = 0; ans 0 for(int i : map.values()) {
            if(i == n) {
                ans++;
            }
        } int i map.values() map.values map {
            if(i == n) {
                ans++;
            }
        } {
            if(i == n) {
                ans++;
            }
        } if(i == n) {
                ans++;
            } i == n i n {
                ans++;
            } ans++ ans System.out.println(ans) System.out.println System.out System System.out ans 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();
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0; i < n; i++) {
            int k = sc.nextInt();
            for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        }
        int ans = 0;
        for(int i : map.values()) {
            if(i == n) {
                ans++;
            }
        }
        System.out.println(ans);
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0; i < n; i++) {
            int k = sc.nextInt();
            for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        }
        int ans = 0;
        for(int i : map.values()) {
            if(i == n) {
                ans++;
            }
        }
        System.out.println(ans);
    }
} Main
import 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();
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0; i < n; i++) {
            int k = sc.nextInt();
            for(int j = 0; j < k; j++) {
                int a = sc.nextInt();
                int b = 0;
                if(map.containsKey(a)) {
                    b = map.get(a);
                }
                map.put(a, b + 1);
            }
        }
        int ans = 0;
        for(int i : map.values()) {
            if(i == n) {
                ans++;
            }
        }
        System.out.println(ans);
    }
}
