import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc =new Scanner(System.in);
    int N =sc.nextInt();
    String M[] =new String[N];
    for(int i=0;i<N;i++){
      M[i]=sc.next();}
    Arrays.sort(M);
    int x =1;
    for(int j=1;j<N;j++){
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}}
    System.out.println(x);
  }
} import java.util.*; util.* java public class Main{
  public static void main(String[] args){
    Scanner sc =new Scanner(System.in);
    int N =sc.nextInt();
    String M[] =new String[N];
    for(int i=0;i<N;i++){
      M[i]=sc.next();}
    Arrays.sort(M);
    int x =1;
    for(int j=1;j<N;j++){
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}}
    System.out.println(x);
  }
} Main public static void main(String[] args){
    Scanner sc =new Scanner(System.in);
    int N =sc.nextInt();
    String M[] =new String[N];
    for(int i=0;i<N;i++){
      M[i]=sc.next();}
    Arrays.sort(M);
    int x =1;
    for(int j=1;j<N;j++){
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}}
    System.out.println(x);
  } main {
    Scanner sc =new Scanner(System.in);
    int N =sc.nextInt();
    String M[] =new String[N];
    for(int i=0;i<N;i++){
      M[i]=sc.next();}
    Arrays.sort(M);
    int x =1;
    for(int j=1;j<N;j++){
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}}
    System.out.println(x);
  } Scanner sc =new Scanner(System.in); sc new Scanner(System.in) int N =sc.nextInt(); N sc.nextInt() sc.nextInt sc String M[] =new String[N]; M new String[N] N for(int i=0;i<N;i++){
      M[i]=sc.next();} int i=0; int i=0; i 0 i<N i N i++ i++ i {
      M[i]=sc.next();} {
      M[i]=sc.next();} M[i]=sc.next() M[i] M i sc.next() sc.next sc Arrays.sort(M) Arrays.sort Arrays M int x =1; x 1 for(int j=1;j<N;j++){
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}} int j=1; int j=1; j 1 j<N j N j++ j++ j {
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}} {
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}} if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;} M[j].equals(M[j-1]) M[j].equals M[j] M j M[j-1] M j-1 j 1 {continue;} continue; {x=x+1;} x=x+1 x x+1 x 1 System.out.println(x) System.out.println System.out System System.out x String[] args args public class Main{
  public static void main(String[] args){
    Scanner sc =new Scanner(System.in);
    int N =sc.nextInt();
    String M[] =new String[N];
    for(int i=0;i<N;i++){
      M[i]=sc.next();}
    Arrays.sort(M);
    int x =1;
    for(int j=1;j<N;j++){
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}}
    System.out.println(x);
  }
} public class Main{
  public static void main(String[] args){
    Scanner sc =new Scanner(System.in);
    int N =sc.nextInt();
    String M[] =new String[N];
    for(int i=0;i<N;i++){
      M[i]=sc.next();}
    Arrays.sort(M);
    int x =1;
    for(int j=1;j<N;j++){
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}}
    System.out.println(x);
  }
} Main
import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc =new Scanner(System.in);
    int N =sc.nextInt();
    String M[] =new String[N];
    for(int i=0;i<N;i++){
      M[i]=sc.next();}
    Arrays.sort(M);
    int x =1;
    for(int j=1;j<N;j++){
      if(M[j].equals(M[j-1])){continue;}
      else{x=x+1;}}
    System.out.println(x);
  }
}