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

public class Main {

	static final BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

	public static void main(String[] args) throws Exception {

		Set<String> data = new HashSet<>();

		// --- input ---
		int num = Integer.parseInt(in.readLine());
		for(int i=0; i < num; i++) {
			data.add(in.readLine());
		}
		in.close();

		// --- resolv ---
		System.out.println(data.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 {

	static final BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

	public static void main(String[] args) throws Exception {

		Set<String> data = new HashSet<>();

		// --- input ---
		int num = Integer.parseInt(in.readLine());
		for(int i=0; i < num; i++) {
			data.add(in.readLine());
		}
		in.close();

		// --- resolv ---
		System.out.println(data.size());
	}
} Main static final BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); in new BufferedReader(new InputStreamReader(System.in)) public static void main(String[] args) throws Exception {

		Set<String> data = new HashSet<>();

		// --- input ---
		int num = Integer.parseInt(in.readLine());
		for(int i=0; i < num; i++) {
			data.add(in.readLine());
		}
		in.close();

		// --- resolv ---
		System.out.println(data.size());
	} main {

		Set<String> data = new HashSet<>();

		// --- input ---
		int num = Integer.parseInt(in.readLine());
		for(int i=0; i < num; i++) {
			data.add(in.readLine());
		}
		in.close();

		// --- resolv ---
		System.out.println(data.size());
	} Set<String> data = new HashSet<>(); data new HashSet<>() int num = Integer.parseInt(in.readLine()); num Integer.parseInt(in.readLine()) Integer.parseInt Integer in.readLine() in.readLine in for(int i=0; i < num; i++) {
			data.add(in.readLine());
		} int i=0; int i=0; i 0 i < num i num i++ i++ i {
			data.add(in.readLine());
		} {
			data.add(in.readLine());
		} data.add(in.readLine()) data.add data in.readLine() in.readLine in in.close() in.close in System.out.println(data.size()) System.out.println System.out System System.out data.size() data.size data String[] args args public class Main {

	static final BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

	public static void main(String[] args) throws Exception {

		Set<String> data = new HashSet<>();

		// --- input ---
		int num = Integer.parseInt(in.readLine());
		for(int i=0; i < num; i++) {
			data.add(in.readLine());
		}
		in.close();

		// --- resolv ---
		System.out.println(data.size());
	}
} public class Main {

	static final BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

	public static void main(String[] args) throws Exception {

		Set<String> data = new HashSet<>();

		// --- input ---
		int num = Integer.parseInt(in.readLine());
		for(int i=0; i < num; i++) {
			data.add(in.readLine());
		}
		in.close();

		// --- resolv ---
		System.out.println(data.size());
	}
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;

public class Main {

	static final BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

	public static void main(String[] args) throws Exception {

		Set<String> data = new HashSet<>();

		// --- input ---
		int num = Integer.parseInt(in.readLine());
		for(int i=0; i < num; i++) {
			data.add(in.readLine());
		}
		in.close();

		// --- resolv ---
		System.out.println(data.size());
	}
}
