import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws FileNotFoundException {

//    	File file = new File("src/in.txt");

        //コード
//    	Scanner sc = new Scanner(file);
    	Scanner sc = new Scanner(System.in);

    	int N = sc.nextInt();


    	ArrayList<String> result = new ArrayList<>();
    	result.add(sc.next());
//    	for(int i=1;i<N;i++) {
//    		System.out.println(i);
//    		String next = sc.next();
//    		boolean chk = true;
//    		for(String j:result) {
//    			if(next.equals(j)) {
//    				chk = false;
//    				break;
//    			}
//    		}
//    		if(chk) {
//    			result.add(next);
//    			Collections.sort(result);
//    		}
//    	}
    	for(int i=1;i<N;i++) {
    		result.add(sc.next());
    	}
		Collections.sort(result);
		ArrayList<String> ans = new ArrayList<String>(new HashSet<>(result));
    	System.out.println(ans.size());
    }

} import java.io.FileNotFoundException; FileNotFoundException java.io import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.HashSet; HashSet java.util import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) throws FileNotFoundException {

//    	File file = new File("src/in.txt");

        //コード
//    	Scanner sc = new Scanner(file);
    	Scanner sc = new Scanner(System.in);

    	int N = sc.nextInt();


    	ArrayList<String> result = new ArrayList<>();
    	result.add(sc.next());
//    	for(int i=1;i<N;i++) {
//    		System.out.println(i);
//    		String next = sc.next();
//    		boolean chk = true;
//    		for(String j:result) {
//    			if(next.equals(j)) {
//    				chk = false;
//    				break;
//    			}
//    		}
//    		if(chk) {
//    			result.add(next);
//    			Collections.sort(result);
//    		}
//    	}
    	for(int i=1;i<N;i++) {
    		result.add(sc.next());
    	}
		Collections.sort(result);
		ArrayList<String> ans = new ArrayList<String>(new HashSet<>(result));
    	System.out.println(ans.size());
    }

} Main public static void main(String[] args) throws FileNotFoundException {

//    	File file = new File("src/in.txt");

        //コード
//    	Scanner sc = new Scanner(file);
    	Scanner sc = new Scanner(System.in);

    	int N = sc.nextInt();


    	ArrayList<String> result = new ArrayList<>();
    	result.add(sc.next());
//    	for(int i=1;i<N;i++) {
//    		System.out.println(i);
//    		String next = sc.next();
//    		boolean chk = true;
//    		for(String j:result) {
//    			if(next.equals(j)) {
//    				chk = false;
//    				break;
//    			}
//    		}
//    		if(chk) {
//    			result.add(next);
//    			Collections.sort(result);
//    		}
//    	}
    	for(int i=1;i<N;i++) {
    		result.add(sc.next());
    	}
		Collections.sort(result);
		ArrayList<String> ans = new ArrayList<String>(new HashSet<>(result));
    	System.out.println(ans.size());
    } main {

//    	File file = new File("src/in.txt");

        //コード
//    	Scanner sc = new Scanner(file);
    	Scanner sc = new Scanner(System.in);

    	int N = sc.nextInt();


    	ArrayList<String> result = new ArrayList<>();
    	result.add(sc.next());
//    	for(int i=1;i<N;i++) {
//    		System.out.println(i);
//    		String next = sc.next();
//    		boolean chk = true;
//    		for(String j:result) {
//    			if(next.equals(j)) {
//    				chk = false;
//    				break;
//    			}
//    		}
//    		if(chk) {
//    			result.add(next);
//    			Collections.sort(result);
//    		}
//    	}
    	for(int i=1;i<N;i++) {
    		result.add(sc.next());
    	}
		Collections.sort(result);
		ArrayList<String> ans = new ArrayList<String>(new HashSet<>(result));
    	System.out.println(ans.size());
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc ArrayList<String> result = new ArrayList<>(); result new ArrayList<>() result.add(sc.next()) result.add result sc.next() sc.next sc for(int i=1;i<N;i++) {
    		result.add(sc.next());
    	} int i=1; int i=1; i 1 i<N i N i++ i++ i {
    		result.add(sc.next());
    	} {
    		result.add(sc.next());
    	} result.add(sc.next()) result.add result sc.next() sc.next sc Collections.sort(result) Collections.sort Collections result ArrayList<String> ans = new ArrayList<String>(new HashSet<>(result)); ans new ArrayList<String>(new HashSet<>(result)) System.out.println(ans.size()) System.out.println System.out System System.out ans.size() ans.size ans String[] args args public class Main {
    public static void main(String[] args) throws FileNotFoundException {

//    	File file = new File("src/in.txt");

        //コード
//    	Scanner sc = new Scanner(file);
    	Scanner sc = new Scanner(System.in);

    	int N = sc.nextInt();


    	ArrayList<String> result = new ArrayList<>();
    	result.add(sc.next());
//    	for(int i=1;i<N;i++) {
//    		System.out.println(i);
//    		String next = sc.next();
//    		boolean chk = true;
//    		for(String j:result) {
//    			if(next.equals(j)) {
//    				chk = false;
//    				break;
//    			}
//    		}
//    		if(chk) {
//    			result.add(next);
//    			Collections.sort(result);
//    		}
//    	}
    	for(int i=1;i<N;i++) {
    		result.add(sc.next());
    	}
		Collections.sort(result);
		ArrayList<String> ans = new ArrayList<String>(new HashSet<>(result));
    	System.out.println(ans.size());
    }

} public class Main {
    public static void main(String[] args) throws FileNotFoundException {

//    	File file = new File("src/in.txt");

        //コード
//    	Scanner sc = new Scanner(file);
    	Scanner sc = new Scanner(System.in);

    	int N = sc.nextInt();


    	ArrayList<String> result = new ArrayList<>();
    	result.add(sc.next());
//    	for(int i=1;i<N;i++) {
//    		System.out.println(i);
//    		String next = sc.next();
//    		boolean chk = true;
//    		for(String j:result) {
//    			if(next.equals(j)) {
//    				chk = false;
//    				break;
//    			}
//    		}
//    		if(chk) {
//    			result.add(next);
//    			Collections.sort(result);
//    		}
//    	}
    	for(int i=1;i<N;i++) {
    		result.add(sc.next());
    	}
		Collections.sort(result);
		ArrayList<String> ans = new ArrayList<String>(new HashSet<>(result));
    	System.out.println(ans.size());
    }

} Main
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws FileNotFoundException {

//    	File file = new File("src/in.txt");

        //コード
//    	Scanner sc = new Scanner(file);
    	Scanner sc = new Scanner(System.in);

    	int N = sc.nextInt();


    	ArrayList<String> result = new ArrayList<>();
    	result.add(sc.next());
//    	for(int i=1;i<N;i++) {
//    		System.out.println(i);
//    		String next = sc.next();
//    		boolean chk = true;
//    		for(String j:result) {
//    			if(next.equals(j)) {
//    				chk = false;
//    				break;
//    			}
//    		}
//    		if(chk) {
//    			result.add(next);
//    			Collections.sort(result);
//    		}
//    	}
    	for(int i=1;i<N;i++) {
    		result.add(sc.next());
    	}
		Collections.sort(result);
		ArrayList<String> ans = new ArrayList<String>(new HashSet<>(result));
    	System.out.println(ans.size());
    }

}
