import java.util.ArrayList;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			int N = scan.nextInt();
			int K = scan.nextInt();
			int []d = new int[K];
			int[][]A = new int[K][N];
			Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>();
			
			for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			}
			
			for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			}
			
			int count = 0;
			
			for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			}
			
			System.out.println(count);
			
		}
		
		
	}
		

} import java.util.ArrayList; ArrayList java.util import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util import java.util.TreeMap; TreeMap java.util public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			int N = scan.nextInt();
			int K = scan.nextInt();
			int []d = new int[K];
			int[][]A = new int[K][N];
			Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>();
			
			for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			}
			
			for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			}
			
			int count = 0;
			
			for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			}
			
			System.out.println(count);
			
		}
		
		
	}
		

} Main public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			int N = scan.nextInt();
			int K = scan.nextInt();
			int []d = new int[K];
			int[][]A = new int[K][N];
			Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>();
			
			for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			}
			
			for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			}
			
			int count = 0;
			
			for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			}
			
			System.out.println(count);
			
		}
		
		
	} main {
		try(Scanner scan = new Scanner(System.in)){
			int N = scan.nextInt();
			int K = scan.nextInt();
			int []d = new int[K];
			int[][]A = new int[K][N];
			Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>();
			
			for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			}
			
			for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			}
			
			int count = 0;
			
			for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			}
			
			System.out.println(count);
			
		}
		
		
	} try(Scanner scan = new Scanner(System.in)){
			int N = scan.nextInt();
			int K = scan.nextInt();
			int []d = new int[K];
			int[][]A = new int[K][N];
			Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>();
			
			for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			}
			
			for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			}
			
			int count = 0;
			
			for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			}
			
			System.out.println(count);
			
		} {
			int N = scan.nextInt();
			int K = scan.nextInt();
			int []d = new int[K];
			int[][]A = new int[K][N];
			Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>();
			
			for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			}
			
			for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			}
			
			int count = 0;
			
			for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			}
			
			System.out.println(count);
			
		} Scanner scan = new Scanner(System.in) Scanner scan = new Scanner(System.in) new Scanner(System.in) int N = scan.nextInt(); N scan.nextInt() scan.nextInt scan int K = scan.nextInt(); K scan.nextInt() scan.nextInt scan int []d = new int[K]; d new int[K] K int[][]A = new int[K][N]; A new int[K][N] K N Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>(); map new TreeMap<Integer,ArrayList<Integer>>() for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			} int i = 0; int i = 0; i 0 i<N i N i++ i++ i {
				map.put(i,new ArrayList<Integer>());
			} {
				map.put(i,new ArrayList<Integer>());
			} map.put(i,new ArrayList<Integer>()) map.put map i new ArrayList<Integer>() for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			} int i = 0; int i = 0; i 0 i<K i K i++ i++ i {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			} {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			} d[i] = scan.nextInt() d[i] d i scan.nextInt() scan.nextInt scan for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				} int j = 0; int j = 0; j 0 j<d[i] j d[i] d i j++ j++ j {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				} {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				} A[i][j] = scan.nextInt() A[i][j] A[i] A i j scan.nextInt() scan.nextInt scan map.get(A[i][j]-1).add(i+1) map.get(A[i][j]-1).add map.get(A[i][j]-1) map.get map A[i][j]-1 A[i][j] A[i] A i j 1 i+1 i 1 int count = 0; count 0 for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			} int i = 0; int i = 0; i 0 i<map.size() i map.size() map.size map i++ i++ i {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			} {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			} if(map.get(i).size()==0)count++; map.get(i).size()==0 map.get(i).size() map.get(i).size map.get(i) map.get map i 0 count++ count System.out.println(count) System.out.println System.out System System.out count String[]args args public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			int N = scan.nextInt();
			int K = scan.nextInt();
			int []d = new int[K];
			int[][]A = new int[K][N];
			Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>();
			
			for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			}
			
			for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			}
			
			int count = 0;
			
			for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			}
			
			System.out.println(count);
			
		}
		
		
	}
		

} public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			int N = scan.nextInt();
			int K = scan.nextInt();
			int []d = new int[K];
			int[][]A = new int[K][N];
			Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>();
			
			for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			}
			
			for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			}
			
			int count = 0;
			
			for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			}
			
			System.out.println(count);
			
		}
		
		
	}
		

} Main
import java.util.ArrayList;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			int N = scan.nextInt();
			int K = scan.nextInt();
			int []d = new int[K];
			int[][]A = new int[K][N];
			Map<Integer,ArrayList<Integer>>map = new TreeMap<Integer,ArrayList<Integer>>();
			
			for(int i = 0;i<N;i++) {
				map.put(i,new ArrayList<Integer>());
			}
			
			for(int i = 0;i<K;i++) {
				d[i] = scan.nextInt();//i番目のお菓子もらえる人数
				for(int j = 0;j<d[i];j++) {
					A[i][j] = scan.nextInt();//もらえる奴ら
					map.get(A[i][j]-1).add(i+1);
					
				}		
			}
			
			int count = 0;
			
			for(int i = 0;i<map.size();i++) {
				if(map.get(i).size()==0)count++;
				
				/*
				for(int j = 0;j<map.get(i).size();j++) {
					System.out.print(map.get(i).get(j));
				}
				System.out.println();
				*/
			}
			
			System.out.println(count);
			
		}
		
		
	}
		

}
