import java.util.*;
import java.lang.*;

public class Main{

    public static long solve(long n , String[] arr){//healt , str
        HashSet<String> set = new HashSet<>();
        long sum = 0;
        for(int i = 0 ; i < arr.length ; i++){
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        }

        return sum;
    }

    public static void gora(){
        Scanner scn = new Scanner(System.in);

        // long test = scn.nextLong();

        long n = scn.nextLong();

        String[] arr = new String[(int)n];
        // long b = scn.nextLong();


        // long c = scn.nextLong();

        // long d = scn.nextLong();
        // long arr[] = new long[n];
        scn.nextLine();
        for(int i = 0 ; i < arr.length ; i++){
            arr[i] = scn.nextLine();
        }

        System.out.println(solve(n , arr));
    }

    public static void main(String args[]){
        gora();
    }
}

 import java.util.*; util.* java import java.lang.*; lang.* java public class Main{

    public static long solve(long n , String[] arr){//healt , str
        HashSet<String> set = new HashSet<>();
        long sum = 0;
        for(int i = 0 ; i < arr.length ; i++){
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        }

        return sum;
    }

    public static void gora(){
        Scanner scn = new Scanner(System.in);

        // long test = scn.nextLong();

        long n = scn.nextLong();

        String[] arr = new String[(int)n];
        // long b = scn.nextLong();


        // long c = scn.nextLong();

        // long d = scn.nextLong();
        // long arr[] = new long[n];
        scn.nextLine();
        for(int i = 0 ; i < arr.length ; i++){
            arr[i] = scn.nextLine();
        }

        System.out.println(solve(n , arr));
    }

    public static void main(String args[]){
        gora();
    }
} Main public static long solve(long n , String[] arr){//healt , str
        HashSet<String> set = new HashSet<>();
        long sum = 0;
        for(int i = 0 ; i < arr.length ; i++){
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        }

        return sum;
    } solve {//healt , str
        HashSet<String> set = new HashSet<>();
        long sum = 0;
        for(int i = 0 ; i < arr.length ; i++){
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        }

        return sum;
    } HashSet<String> set = new HashSet<>(); set new HashSet<>() long sum = 0; sum 0 for(int i = 0 ; i < arr.length ; i++){
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        } int i = 0 ; int i = 0 ; i 0 i < arr.length i arr.length arr arr.length i++ i++ i {
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        } {
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        } if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            } !set.contains(arr[i]) set.contains(arr[i]) set.contains set arr[i] arr i {
                sum++;
                set.add(arr[i]);
            } sum++ sum set.add(arr[i]) set.add set arr[i] arr i return sum; sum long n n String[] arr arr public static void gora(){
        Scanner scn = new Scanner(System.in);

        // long test = scn.nextLong();

        long n = scn.nextLong();

        String[] arr = new String[(int)n];
        // long b = scn.nextLong();


        // long c = scn.nextLong();

        // long d = scn.nextLong();
        // long arr[] = new long[n];
        scn.nextLine();
        for(int i = 0 ; i < arr.length ; i++){
            arr[i] = scn.nextLine();
        }

        System.out.println(solve(n , arr));
    } gora {
        Scanner scn = new Scanner(System.in);

        // long test = scn.nextLong();

        long n = scn.nextLong();

        String[] arr = new String[(int)n];
        // long b = scn.nextLong();


        // long c = scn.nextLong();

        // long d = scn.nextLong();
        // long arr[] = new long[n];
        scn.nextLine();
        for(int i = 0 ; i < arr.length ; i++){
            arr[i] = scn.nextLine();
        }

        System.out.println(solve(n , arr));
    } Scanner scn = new Scanner(System.in); scn new Scanner(System.in) long n = scn.nextLong(); n scn.nextLong() scn.nextLong scn String[] arr = new String[(int)n]; arr new String[(int)n] (int)n scn.nextLine() scn.nextLine scn for(int i = 0 ; i < arr.length ; i++){
            arr[i] = scn.nextLine();
        } int i = 0 ; int i = 0 ; i 0 i < arr.length i arr.length arr arr.length i++ i++ i {
            arr[i] = scn.nextLine();
        } {
            arr[i] = scn.nextLine();
        } arr[i] = scn.nextLine() arr[i] arr i scn.nextLine() scn.nextLine scn System.out.println(solve(n , arr)) System.out.println System.out System System.out solve(n , arr) solve n arr public static void main(String args[]){
        gora();
    } main {
        gora();
    } gora() gora String args[] args public class Main{

    public static long solve(long n , String[] arr){//healt , str
        HashSet<String> set = new HashSet<>();
        long sum = 0;
        for(int i = 0 ; i < arr.length ; i++){
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        }

        return sum;
    }

    public static void gora(){
        Scanner scn = new Scanner(System.in);

        // long test = scn.nextLong();

        long n = scn.nextLong();

        String[] arr = new String[(int)n];
        // long b = scn.nextLong();


        // long c = scn.nextLong();

        // long d = scn.nextLong();
        // long arr[] = new long[n];
        scn.nextLine();
        for(int i = 0 ; i < arr.length ; i++){
            arr[i] = scn.nextLine();
        }

        System.out.println(solve(n , arr));
    }

    public static void main(String args[]){
        gora();
    }
} public class Main{

    public static long solve(long n , String[] arr){//healt , str
        HashSet<String> set = new HashSet<>();
        long sum = 0;
        for(int i = 0 ; i < arr.length ; i++){
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        }

        return sum;
    }

    public static void gora(){
        Scanner scn = new Scanner(System.in);

        // long test = scn.nextLong();

        long n = scn.nextLong();

        String[] arr = new String[(int)n];
        // long b = scn.nextLong();


        // long c = scn.nextLong();

        // long d = scn.nextLong();
        // long arr[] = new long[n];
        scn.nextLine();
        for(int i = 0 ; i < arr.length ; i++){
            arr[i] = scn.nextLine();
        }

        System.out.println(solve(n , arr));
    }

    public static void main(String args[]){
        gora();
    }
} Main
import java.util.*;
import java.lang.*;

public class Main{

    public static long solve(long n , String[] arr){//healt , str
        HashSet<String> set = new HashSet<>();
        long sum = 0;
        for(int i = 0 ; i < arr.length ; i++){
            if(!set.contains(arr[i])){
                sum++;
                set.add(arr[i]);
            }
        }

        return sum;
    }

    public static void gora(){
        Scanner scn = new Scanner(System.in);

        // long test = scn.nextLong();

        long n = scn.nextLong();

        String[] arr = new String[(int)n];
        // long b = scn.nextLong();


        // long c = scn.nextLong();

        // long d = scn.nextLong();
        // long arr[] = new long[n];
        scn.nextLine();
        for(int i = 0 ; i < arr.length ; i++){
            arr[i] = scn.nextLine();
        }

        System.out.println(solve(n , arr));
    }

    public static void main(String args[]){
        gora();
    }
}


