import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    String[] s = new String[n];
    int ans = 0;
    
    for(int i=0; i<n; i++){
		s[i] = sc.next();
    }
      
    System.out.println(elmDup(s));
  }
  
   static int elmDup(String[] s) {
    Set<String> linkedHashSet = new LinkedHashSet<String>();

    for (int i = 0; i < s.length; i++) {
    linkedHashSet.add(s[i]);
    }

    Object[] s_after = linkedHashSet.toArray();
     
     return s_after.length;
  }
} import java.util.*; util.* java class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    String[] s = new String[n];
    int ans = 0;
    
    for(int i=0; i<n; i++){
		s[i] = sc.next();
    }
      
    System.out.println(elmDup(s));
  }
  
   static int elmDup(String[] s) {
    Set<String> linkedHashSet = new LinkedHashSet<String>();

    for (int i = 0; i < s.length; i++) {
    linkedHashSet.add(s[i]);
    }

    Object[] s_after = linkedHashSet.toArray();
     
     return s_after.length;
  }
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    String[] s = new String[n];
    int ans = 0;
    
    for(int i=0; i<n; i++){
		s[i] = sc.next();
    }
      
    System.out.println(elmDup(s));
  } main {
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    String[] s = new String[n];
    int ans = 0;
    
    for(int i=0; i<n; i++){
		s[i] = sc.next();
    }
      
    System.out.println(elmDup(s));
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc String[] s = new String[n]; s new String[n] n int ans = 0; ans 0 for(int i=0; i<n; i++){
		s[i] = sc.next();
    } int i=0; int i=0; i 0 i<n i n i++ i++ i {
		s[i] = sc.next();
    } {
		s[i] = sc.next();
    } s[i] = sc.next() s[i] s i sc.next() sc.next sc System.out.println(elmDup(s)) System.out.println System.out System System.out elmDup(s) elmDup s String[] args args static int elmDup(String[] s) {
    Set<String> linkedHashSet = new LinkedHashSet<String>();

    for (int i = 0; i < s.length; i++) {
    linkedHashSet.add(s[i]);
    }

    Object[] s_after = linkedHashSet.toArray();
     
     return s_after.length;
  } elmDup {
    Set<String> linkedHashSet = new LinkedHashSet<String>();

    for (int i = 0; i < s.length; i++) {
    linkedHashSet.add(s[i]);
    }

    Object[] s_after = linkedHashSet.toArray();
     
     return s_after.length;
  } Set<String> linkedHashSet = new LinkedHashSet<String>(); linkedHashSet new LinkedHashSet<String>() for (int i = 0; i < s.length; i++) {
    linkedHashSet.add(s[i]);
    } int i = 0; int i = 0; i 0 i < s.length i s.length s s.length i++ i++ i {
    linkedHashSet.add(s[i]);
    } {
    linkedHashSet.add(s[i]);
    } linkedHashSet.add(s[i]) linkedHashSet.add linkedHashSet s[i] s i Object[] s_after = linkedHashSet.toArray(); s_after linkedHashSet.toArray() linkedHashSet.toArray linkedHashSet return s_after.length; s_after.length s_after s_after.length String[] s s
import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    String[] s = new String[n];
    int ans = 0;
    
    for(int i=0; i<n; i++){
		s[i] = sc.next();
    }
      
    System.out.println(elmDup(s));
  }
  
   static int elmDup(String[] s) {
    Set<String> linkedHashSet = new LinkedHashSet<String>();

    for (int i = 0; i < s.length; i++) {
    linkedHashSet.add(s[i]);
    }

    Object[] s_after = linkedHashSet.toArray();
     
     return s_after.length;
  }
}