import java.util.*;

public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        main.run();
    }
    
    // 変数一覧
    int n;
    String[] s;

    public void run() {
        // 入力情報取得
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        s = new String[n];
        for (int i = 0; i < n; i++) {
            s[i] = sc.next();
        }
        sc.close();

        // 解答処理
        solve();
    }
    
    private void solve() {
        s = deduplication(s);
        System.out.println(s.length);
    }

    // 配列内の重複を排除
    private String[] deduplication(String[] s) {
        Set<String> deduplicatedList = new LinkedHashSet<String>();
        for (int i = 0; i < s.length; i++) {
            deduplicatedList.add(s[i]);
        }
        String[] ret = deduplicatedList.toArray(new String[deduplicatedList.size()]);
        return ret;
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        main.run();
    }
    
    // 変数一覧
    int n;
    String[] s;

    public void run() {
        // 入力情報取得
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        s = new String[n];
        for (int i = 0; i < n; i++) {
            s[i] = sc.next();
        }
        sc.close();

        // 解答処理
        solve();
    }
    
    private void solve() {
        s = deduplication(s);
        System.out.println(s.length);
    }

    // 配列内の重複を排除
    private String[] deduplication(String[] s) {
        Set<String> deduplicatedList = new LinkedHashSet<String>();
        for (int i = 0; i < s.length; i++) {
            deduplicatedList.add(s[i]);
        }
        String[] ret = deduplicatedList.toArray(new String[deduplicatedList.size()]);
        return ret;
    }
} Main // 変数一覧
    int n; n String[] s; s public static void main(String[] args) {
        Main main = new Main();
        main.run();
    } main {
        Main main = new Main();
        main.run();
    } Main main = new Main(); main new Main() main.run() main.run main String[] args args public void run() {
        // 入力情報取得
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        s = new String[n];
        for (int i = 0; i < n; i++) {
            s[i] = sc.next();
        }
        sc.close();

        // 解答処理
        solve();
    } run {
        // 入力情報取得
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        s = new String[n];
        for (int i = 0; i < n; i++) {
            s[i] = sc.next();
        }
        sc.close();

        // 解答処理
        solve();
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) n = sc.nextInt() n sc.nextInt() sc.nextInt sc s = new String[n] s new String[n] n 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 sc.close() sc.close sc solve() solve private void solve() {
        s = deduplication(s);
        System.out.println(s.length);
    } solve {
        s = deduplication(s);
        System.out.println(s.length);
    } s = deduplication(s) s deduplication(s) deduplication s System.out.println(s.length) System.out.println System.out System System.out s.length s s.length // 配列内の重複を排除
    private String[] deduplication(String[] s) {
        Set<String> deduplicatedList = new LinkedHashSet<String>();
        for (int i = 0; i < s.length; i++) {
            deduplicatedList.add(s[i]);
        }
        String[] ret = deduplicatedList.toArray(new String[deduplicatedList.size()]);
        return ret;
    } deduplication {
        Set<String> deduplicatedList = new LinkedHashSet<String>();
        for (int i = 0; i < s.length; i++) {
            deduplicatedList.add(s[i]);
        }
        String[] ret = deduplicatedList.toArray(new String[deduplicatedList.size()]);
        return ret;
    } Set<String> deduplicatedList = new LinkedHashSet<String>(); deduplicatedList new LinkedHashSet<String>() for (int i = 0; i < s.length; i++) {
            deduplicatedList.add(s[i]);
        } int i = 0; int i = 0; i 0 i < s.length i s.length s s.length i++ i++ i {
            deduplicatedList.add(s[i]);
        } {
            deduplicatedList.add(s[i]);
        } deduplicatedList.add(s[i]) deduplicatedList.add deduplicatedList s[i] s i String[] ret = deduplicatedList.toArray(new String[deduplicatedList.size()]); ret deduplicatedList.toArray(new String[deduplicatedList.size()]) deduplicatedList.toArray deduplicatedList new String[deduplicatedList.size()] deduplicatedList.size() deduplicatedList.size deduplicatedList return ret; ret String[] s s public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        main.run();
    }
    
    // 変数一覧
    int n;
    String[] s;

    public void run() {
        // 入力情報取得
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        s = new String[n];
        for (int i = 0; i < n; i++) {
            s[i] = sc.next();
        }
        sc.close();

        // 解答処理
        solve();
    }
    
    private void solve() {
        s = deduplication(s);
        System.out.println(s.length);
    }

    // 配列内の重複を排除
    private String[] deduplication(String[] s) {
        Set<String> deduplicatedList = new LinkedHashSet<String>();
        for (int i = 0; i < s.length; i++) {
            deduplicatedList.add(s[i]);
        }
        String[] ret = deduplicatedList.toArray(new String[deduplicatedList.size()]);
        return ret;
    }
} public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        main.run();
    }
    
    // 変数一覧
    int n;
    String[] s;

    public void run() {
        // 入力情報取得
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        s = new String[n];
        for (int i = 0; i < n; i++) {
            s[i] = sc.next();
        }
        sc.close();

        // 解答処理
        solve();
    }
    
    private void solve() {
        s = deduplication(s);
        System.out.println(s.length);
    }

    // 配列内の重複を排除
    private String[] deduplication(String[] s) {
        Set<String> deduplicatedList = new LinkedHashSet<String>();
        for (int i = 0; i < s.length; i++) {
            deduplicatedList.add(s[i]);
        }
        String[] ret = deduplicatedList.toArray(new String[deduplicatedList.size()]);
        return ret;
    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        main.run();
    }
    
    // 変数一覧
    int n;
    String[] s;

    public void run() {
        // 入力情報取得
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        s = new String[n];
        for (int i = 0; i < n; i++) {
            s[i] = sc.next();
        }
        sc.close();

        // 解答処理
        solve();
    }
    
    private void solve() {
        s = deduplication(s);
        System.out.println(s.length);
    }

    // 配列内の重複を排除
    private String[] deduplication(String[] s) {
        Set<String> deduplicatedList = new LinkedHashSet<String>();
        for (int i = 0; i < s.length; i++) {
            deduplicatedList.add(s[i]);
        }
        String[] ret = deduplicatedList.toArray(new String[deduplicatedList.size()]);
        return ret;
    }
}