Problem:
Finding a Word

Write a program which reads a word W and a text T, and prints the number of word W which appears in text T

T consists of string Ti separated by space characters and newlines. Count the number of Ti which equals to W. The word and text are case insensitive.

Constraints

The length of W ≤ 10

W consists of lower case letters

The length of T in a line ≤ 1000

Input

In the first line, the word W is given. In the following lines, the text T is given separated by space characters and newlines.

"END_OF_TEXT" indicates the end of the text.

Output

Print the number of W in the text.

Sample Input

computer
Nurtures computer scientists and highly-skilled computer engineers
who will create and exploit "knowledge" for the new era.
Provides an outstanding computer environment.
END_OF_TEXT

Sample Output

3

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Text;

namespace AOJ
{
    class Program
    {
        static bool isSeparator(char c)
        {
            switch (c)
            {
                case ' ':
                    return  true;
                case '\r':
                case '\n':
                    return  true;
            }
            return false;
        }
        static int skipSeparator(char[] text, int index)
        {
            for (; index < text.Length; ++index)
            {
                if (isSeparator(text[index]) == false)
                {
                    break;
                }
            }
            return index;
        }
        static int skipNotSeparator(char[] text, int index)
        {
            for (; index < text.Length; ++index)
            {
                if (isSeparator(text[index]) == true)
                {
                    break;
                }
            }
            return index;
        }

        // textの中からwordを探すことを試みて、作業した箇所までをiTextEndsで返す。
        // 一つ一つ文字を分割したほうがわかりやすいがなんとなくこの形にしてみた。
        static bool tryFind(char[] text, int iTextStarts, out int iTextEnds, char[] word)
        {
            iTextStarts = skipSeparator(text, iTextStarts);
            iTextEnds = skipNotSeparator(text, iTextStarts);
            if (iTextEnds - iTextStarts < word.Length)
            {
                return false;
            }

            for (int iWord = 0, iText = iTextStarts; iWord < word.Length; ++iWord, ++iText)
            {
                if (word[iWord] != text[iText])
                {
                    return false;
                }
            }

            return true;
        }
        static int countWord(char[] text, char[] word)
        {
            int count = 0;
            for (int iTextStarts = 0, iTextEnds = 0; iTextStarts < text.Length; iTextStarts = iTextEnds)
            {
                iTextStarts = skipSeparator(text, iTextStarts);
                iTextEnds = skipNotSeparator(text, iTextStarts);
                if (iTextEnds - iTextStarts != word.Length)
                {
                    continue;
                }

                bool mismatched = false;
                for (int iWord = 0, iText = iTextStarts; iWord < word.Length; ++iWord, ++iText)
                {
                    if (word[iWord] != text[iText])
                    {
                        mismatched = true;
                        break;
                    }
                }
                if (mismatched == false)
                {
                    ++count;
                }
            }
            return count;
        }

        static void Main(string[] args)
        {
            var word = Console.In.ReadLine().ToCharArray();

            var text = new List<string>();

            for(;;)
            {
                var input = Console.In.ReadLine();
                if (input == "END_OF_TEXT")
                {
                    break;
                }
                text.Add(input);
            }

            int wordCount = 0;
            foreach (var line in text)
            {
                var textChars = line.ToLower().ToCharArray();
                wordCount += countWord(textChars, word);
            }

            Console.Out.WriteLine(wordCount);
        }
    }
}