
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main
{
	public static void main(String[] Arguments) throws IOException 
	{
		BufferedReader BR = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer ST = new StringTokenizer(BR.readLine());
		int N = Integer.parseInt(ST.nextToken()), K = Integer.parseInt(ST.nextToken()); boolean snukeFed[] = new boolean[N];
		for (int i = 1; i <= K; i++)
		{
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		}
		
		int Count = 0;
		for (int i = 0; i < snukeFed.length; i++) if (!snukeFed[i]) Count++;
		System.out.println(Count);
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.StringTokenizer; StringTokenizer java.util public class Main
{
	public static void main(String[] Arguments) throws IOException 
	{
		BufferedReader BR = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer ST = new StringTokenizer(BR.readLine());
		int N = Integer.parseInt(ST.nextToken()), K = Integer.parseInt(ST.nextToken()); boolean snukeFed[] = new boolean[N];
		for (int i = 1; i <= K; i++)
		{
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		}
		
		int Count = 0;
		for (int i = 0; i < snukeFed.length; i++) if (!snukeFed[i]) Count++;
		System.out.println(Count);
	}
} Main public static void main(String[] Arguments) throws IOException 
	{
		BufferedReader BR = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer ST = new StringTokenizer(BR.readLine());
		int N = Integer.parseInt(ST.nextToken()), K = Integer.parseInt(ST.nextToken()); boolean snukeFed[] = new boolean[N];
		for (int i = 1; i <= K; i++)
		{
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		}
		
		int Count = 0;
		for (int i = 0; i < snukeFed.length; i++) if (!snukeFed[i]) Count++;
		System.out.println(Count);
	} main {
		BufferedReader BR = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer ST = new StringTokenizer(BR.readLine());
		int N = Integer.parseInt(ST.nextToken()), K = Integer.parseInt(ST.nextToken()); boolean snukeFed[] = new boolean[N];
		for (int i = 1; i <= K; i++)
		{
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		}
		
		int Count = 0;
		for (int i = 0; i < snukeFed.length; i++) if (!snukeFed[i]) Count++;
		System.out.println(Count);
	} BufferedReader BR = new BufferedReader(new InputStreamReader(System.in)); BR new BufferedReader(new InputStreamReader(System.in)) StringTokenizer ST = new StringTokenizer(BR.readLine()); ST new StringTokenizer(BR.readLine()) int N = Integer.parseInt(ST.nextToken()) N Integer.parseInt(ST.nextToken()) Integer.parseInt Integer ST.nextToken() ST.nextToken ST K = Integer.parseInt(ST.nextToken()); K Integer.parseInt(ST.nextToken()) Integer.parseInt Integer ST.nextToken() ST.nextToken ST boolean snukeFed[] = new boolean[N]; snukeFed new boolean[N] N for (int i = 1; i <= K; i++)
		{
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		} int i = 1; int i = 1; i 1 i <= K i K i++ i++ i {
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		} {
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		} int Snukes = Integer.parseInt(BR.readLine()); Snukes Integer.parseInt(BR.readLine()) Integer.parseInt Integer BR.readLine() BR.readLine BR ST = new StringTokenizer(BR.readLine()) ST new StringTokenizer(BR.readLine()) for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			} int j = 0; int j = 0; j 0 j < Snukes j Snukes j++ j++ j {
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			} {
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			} int Snuke = Integer.parseInt(ST.nextToken()) - 1; Snuke Integer.parseInt(ST.nextToken()) - 1 Integer.parseInt(ST.nextToken()) Integer.parseInt Integer ST.nextToken() ST.nextToken ST 1 snukeFed[Snuke] = true snukeFed[Snuke] snukeFed Snuke true int Count = 0; Count 0 for (int i = 0; i < snukeFed.length; i++) if (!snukeFed[i]) Count++; int i = 0; int i = 0; i 0 i < snukeFed.length i snukeFed.length snukeFed snukeFed.length i++ i++ i if (!snukeFed[i]) Count++; if (!snukeFed[i]) Count++; !snukeFed[i] snukeFed[i] snukeFed i Count++ Count System.out.println(Count) System.out.println System.out System System.out Count String[] Arguments Arguments public class Main
{
	public static void main(String[] Arguments) throws IOException 
	{
		BufferedReader BR = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer ST = new StringTokenizer(BR.readLine());
		int N = Integer.parseInt(ST.nextToken()), K = Integer.parseInt(ST.nextToken()); boolean snukeFed[] = new boolean[N];
		for (int i = 1; i <= K; i++)
		{
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		}
		
		int Count = 0;
		for (int i = 0; i < snukeFed.length; i++) if (!snukeFed[i]) Count++;
		System.out.println(Count);
	}
} public class Main
{
	public static void main(String[] Arguments) throws IOException 
	{
		BufferedReader BR = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer ST = new StringTokenizer(BR.readLine());
		int N = Integer.parseInt(ST.nextToken()), K = Integer.parseInt(ST.nextToken()); boolean snukeFed[] = new boolean[N];
		for (int i = 1; i <= K; i++)
		{
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		}
		
		int Count = 0;
		for (int i = 0; i < snukeFed.length; i++) if (!snukeFed[i]) Count++;
		System.out.println(Count);
	}
} Main

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main
{
	public static void main(String[] Arguments) throws IOException 
	{
		BufferedReader BR = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer ST = new StringTokenizer(BR.readLine());
		int N = Integer.parseInt(ST.nextToken()), K = Integer.parseInt(ST.nextToken()); boolean snukeFed[] = new boolean[N];
		for (int i = 1; i <= K; i++)
		{
			int Snukes = Integer.parseInt(BR.readLine());
			ST = new StringTokenizer(BR.readLine());
			for (int j = 0; j < Snukes; j++)
			{
				int Snuke = Integer.parseInt(ST.nextToken()) - 1;
				snukeFed[Snuke] = true; 
			}
		}
		
		int Count = 0;
		for (int i = 0; i < snukeFed.length; i++) if (!snukeFed[i]) Count++;
		System.out.println(Count);
	}
}
