Problem:
Score : 300 points

Problem Statement

You drew lottery N times. In the i-th draw, you got an item of the kind represented by a string S_i.

How many kinds of items did you get?

Constraints

1 \leq N \leq 2\times 10^5

S_i consists of lowercase English letters and has a length between 1 and 10 (inclusive).

Input

Input is given from Standard Input in the following format:

N
S_1
:
S_N

Output

Print the number of kinds of items you got.

Sample Input 1

3
apple
orange
apple

Sample Output 1

2

You got two kinds of items: apple and orange.

Sample Input 2

5
grape
grape
grape
grape
grape

Sample Output 2

1

Sample Input 3

4
aaaa
a
aaa
aa

Sample Output 3

4

Solution in C# (.NET Core 3.1.201) (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;

namespace test
{
    class MainClass
    {
        public static void Main(string[] args)
        {

            //問題164

            int n = int.Parse(Console.ReadLine());

            HashSet<string> keihin = new HashSet<string>();

            for (int i = 0; i < n; i++)
            {
                string a = Console.ReadLine();

                keihin.Add(a);
            }


            Console.WriteLine(keihin.Count());

            //List<string> keihin = new List<string>();

            //for (int i = 0; i < n; i++)
            //{
            //    string s = Console.ReadLine();

            //    var result = keihin.Find(x => x == s);

            //    if (result == null)
            //    {
            //        keihin.Add(s);
            //    }
            //}

            ////foreach (var a in keihin)
            ////{
            ////    Console.WriteLine(a);
            ////}

            //Console.WriteLine(keihin.Count());

        }


    }
}