import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;

public class Main {
	public static void main(String[] args) throws Exception {
		try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
			int n = Integer.parseInt(br.readLine());
			Set<String> set = new HashSet<String>();
			for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			}
			System.out.println(set.size());
		}
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.HashSet; HashSet java.util import java.util.Set; Set java.util public class Main {
	public static void main(String[] args) throws Exception {
		try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
			int n = Integer.parseInt(br.readLine());
			Set<String> set = new HashSet<String>();
			for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			}
			System.out.println(set.size());
		}
	}
} Main public static void main(String[] args) throws Exception {
		try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
			int n = Integer.parseInt(br.readLine());
			Set<String> set = new HashSet<String>();
			for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			}
			System.out.println(set.size());
		}
	} main {
		try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
			int n = Integer.parseInt(br.readLine());
			Set<String> set = new HashSet<String>();
			for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			}
			System.out.println(set.size());
		}
	} try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
			int n = Integer.parseInt(br.readLine());
			Set<String> set = new HashSet<String>();
			for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			}
			System.out.println(set.size());
		} {
			int n = Integer.parseInt(br.readLine());
			Set<String> set = new HashSet<String>();
			for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			}
			System.out.println(set.size());
		} BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) new BufferedReader(new InputStreamReader(System.in)) int n = Integer.parseInt(br.readLine()); n Integer.parseInt(br.readLine()) Integer.parseInt Integer br.readLine() br.readLine br Set<String> set = new HashSet<String>(); set new HashSet<String>() for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
				set.add(br.readLine());
			} {
				set.add(br.readLine());
			} set.add(br.readLine()) set.add set br.readLine() br.readLine br System.out.println(set.size()) System.out.println System.out System System.out set.size() set.size set String[] args args public class Main {
	public static void main(String[] args) throws Exception {
		try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
			int n = Integer.parseInt(br.readLine());
			Set<String> set = new HashSet<String>();
			for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			}
			System.out.println(set.size());
		}
	}
} public class Main {
	public static void main(String[] args) throws Exception {
		try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
			int n = Integer.parseInt(br.readLine());
			Set<String> set = new HashSet<String>();
			for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			}
			System.out.println(set.size());
		}
	}
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;

public class Main {
	public static void main(String[] args) throws Exception {
		try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
			int n = Integer.parseInt(br.readLine());
			Set<String> set = new HashSet<String>();
			for (int i = 0; i < n; i++) {
				set.add(br.readLine());
			}
			System.out.println(set.size());
		}
	}
}