
import java.util.*;

public class Main {
    private static final Scanner sc = new Scanner(System.in);

    private void solve() {
        int N = sc.nextInt();
        Set<String> set = new HashSet<>();
        for (int i = 0; i < N; ++i) {
            set.add(sc.next());
        }
        System.out.println(set.size());
    }

    public static void main(String[] args) {
        new Main().solve();
    }
} import java.util.*; util.* java public class Main {
    private static final Scanner sc = new Scanner(System.in);

    private void solve() {
        int N = sc.nextInt();
        Set<String> set = new HashSet<>();
        for (int i = 0; i < N; ++i) {
            set.add(sc.next());
        }
        System.out.println(set.size());
    }

    public static void main(String[] args) {
        new Main().solve();
    }
} Main private static final Scanner sc = new Scanner(System.in); sc new Scanner(System.in) private void solve() {
        int N = sc.nextInt();
        Set<String> set = new HashSet<>();
        for (int i = 0; i < N; ++i) {
            set.add(sc.next());
        }
        System.out.println(set.size());
    } solve {
        int N = sc.nextInt();
        Set<String> set = new HashSet<>();
        for (int i = 0; i < N; ++i) {
            set.add(sc.next());
        }
        System.out.println(set.size());
    } int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc Set<String> set = new HashSet<>(); set new HashSet<>() for (int i = 0; i < N; ++i) {
            set.add(sc.next());
        } int i = 0; int i = 0; i 0 i < N i N ++i ++i i {
            set.add(sc.next());
        } {
            set.add(sc.next());
        } set.add(sc.next()) set.add set sc.next() sc.next sc System.out.println(set.size()) System.out.println System.out System System.out set.size() set.size set public static void main(String[] args) {
        new Main().solve();
    } main {
        new Main().solve();
    } new Main().solve() new Main().solve new Main() String[] args args public class Main {
    private static final Scanner sc = new Scanner(System.in);

    private void solve() {
        int N = sc.nextInt();
        Set<String> set = new HashSet<>();
        for (int i = 0; i < N; ++i) {
            set.add(sc.next());
        }
        System.out.println(set.size());
    }

    public static void main(String[] args) {
        new Main().solve();
    }
} public class Main {
    private static final Scanner sc = new Scanner(System.in);

    private void solve() {
        int N = sc.nextInt();
        Set<String> set = new HashSet<>();
        for (int i = 0; i < N; ++i) {
            set.add(sc.next());
        }
        System.out.println(set.size());
    }

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

import java.util.*;

public class Main {
    private static final Scanner sc = new Scanner(System.in);

    private void solve() {
        int N = sc.nextInt();
        Set<String> set = new HashSet<>();
        for (int i = 0; i < N; ++i) {
            set.add(sc.next());
        }
        System.out.println(set.size());
    }

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