
import java.util.HashSet;
import java.util.Scanner;

public class Main {
    Scanner in = new Scanner(System.in);

    public static void main(String[] args) {
        new Main().solve();
    }

    void solve(){
        HashSet<String> set = new HashSet<>();
        int n;
        n = in.nextInt();

        for (int i = 0; i < n; i++) {
            set.add(in.next());
        }

        System.out.println(set.size());
    }
} import java.util.HashSet; HashSet java.util import java.util.Scanner; Scanner java.util public class Main {
    Scanner in = new Scanner(System.in);

    public static void main(String[] args) {
        new Main().solve();
    }

    void solve(){
        HashSet<String> set = new HashSet<>();
        int n;
        n = in.nextInt();

        for (int i = 0; i < n; i++) {
            set.add(in.next());
        }

        System.out.println(set.size());
    }
} Main Scanner in = new Scanner(System.in); in new Scanner(System.in) public static void main(String[] args) {
        new Main().solve();
    } main {
        new Main().solve();
    } new Main().solve() new Main().solve new Main() String[] args args void solve(){
        HashSet<String> set = new HashSet<>();
        int n;
        n = in.nextInt();

        for (int i = 0; i < n; i++) {
            set.add(in.next());
        }

        System.out.println(set.size());
    } solve {
        HashSet<String> set = new HashSet<>();
        int n;
        n = in.nextInt();

        for (int i = 0; i < n; i++) {
            set.add(in.next());
        }

        System.out.println(set.size());
    } HashSet<String> set = new HashSet<>(); set new HashSet<>() int n; n n = in.nextInt() n in.nextInt() in.nextInt in for (int i = 0; i < n; i++) {
            set.add(in.next());
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            set.add(in.next());
        } {
            set.add(in.next());
        } set.add(in.next()) set.add set in.next() in.next in System.out.println(set.size()) System.out.println System.out System System.out set.size() set.size set public class Main {
    Scanner in = new Scanner(System.in);

    public static void main(String[] args) {
        new Main().solve();
    }

    void solve(){
        HashSet<String> set = new HashSet<>();
        int n;
        n = in.nextInt();

        for (int i = 0; i < n; i++) {
            set.add(in.next());
        }

        System.out.println(set.size());
    }
} public class Main {
    Scanner in = new Scanner(System.in);

    public static void main(String[] args) {
        new Main().solve();
    }

    void solve(){
        HashSet<String> set = new HashSet<>();
        int n;
        n = in.nextInt();

        for (int i = 0; i < n; i++) {
            set.add(in.next());
        }

        System.out.println(set.size());
    }
} Main

import java.util.HashSet;
import java.util.Scanner;

public class Main {
    Scanner in = new Scanner(System.in);

    public static void main(String[] args) {
        new Main().solve();
    }

    void solve(){
        HashSet<String> set = new HashSet<>();
        int n;
        n = in.nextInt();

        for (int i = 0; i < n; i++) {
            set.add(in.next());
        }

        System.out.println(set.size());
    }
}
