#include <stdio.h>

//void qsort(int len, int a[len], int f, int l);

int main()
{
  int n;
  scanf("%d",&n);
  char s[n][11];
  int i;
  i = 0;
  while (i < n)
  {
    scanf("%s",&s[i]);
    i++;
  }
  i = 0;
  int j,k;
  j = 0;
  k = 0;
  char tmp[11];
  while (i < n)
  {
    j = i + 1;
    while (j < n)
    {
      if (ft_strcmp(s[i], s[j]) > 0)
      {
        ft_strcpy(tmp,s[i]);
        ft_strcpy(s[i],s[j]);
        ft_strcpy(s[j],tmp);
      }
      j++;
    }
    i++;
  }
  //printf("%s\n%s",s[0],s[n-1]);
  i = 0;
  int counter;
  counter = 0;
  while (i < n)
  {
    if (i + 1 < n && ft_strcmp(s[i], s[i+1]) == 0)
    {
      i++;
      continue;
    }
    i++;
    counter++;
  }
  printf("%d",counter);
}

void ft_strcpy(char s1[11], char s2[11])
{
  int i;
  int j;
  i = 0;
  while (s2[i])
  {
    s1[i] = s2[i];
    i++;
  }
  s1[i] = '\0';
}

int ft_strcmp(char s1[11], char s2[11])
{
  int i,j;
  i = 0;
  j = 0;
  while (s1[i] && s2[i])
  {
    if (s1[i] != s2[i])
    {
      return (s1[i] - s2[i]);
    }
    i++;
  }
  return (s1[i] - s2[i]);
}
/*
void qsort(int len, int a[len][11], int f, int l)
{
  int i = f;
  int j = l;
  int threshold;
  threshold = a[(f+l)/2];
  while (1)
  {
    while (threshold < a[i])
    {
      i++;
    }
    while (threshold > a[j])
    {
      j--;
    }
    if (i >= j)
      break;
    tmp = a[i];
    a[i] = a[j];
    a[j] = tmp;
    i++;
    j--;
  }
  if (f < i - 1)
    qsort(len, a, f, i - 1);
  if (l > j + 1)
    qsort(len, a, j + 1, l);
}*/