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: Time Limit Exceeded)

#include <stdio.h>
#include <ctype.h>
#include <iostream>
using namespace std;
int main(void)
{
	char T[1000],end[12] = { "end_of_text" }, end_end = 't',w[10], w_end;
	int end_num = 11, w_num = 0, w_cou = 0;
	bool roop = true;
	cin >> w;
	for (int i = 0; i <= 10 && w[i - 1] != '\0'; i++) {
		if (w[i] == '\0') {
			w_end = w[i - 1];
			w_num = i;
		}
	}
	while (roop == true) {
		cin >> T;
		for (int i = 0; i <= 1000 && T[i - 1] != '\0'; i++) {
			T[i] = tolower(int(T[i]));
			if (i + 1 >= w_num) {
				for (int j = 1; j <= w_num; j++) {
					if (T[i - j] != w[w_num - j]) break;
					else if (j == w_num) w_cou++;
				}
			}
			if (i + 1 >= end_num) {
				for (int j = 1; j <= end_num; j++) {
					if (T[i - j] != end[end_num - j]) break;
					else if (j == end_num) roop = false;
				}
			}
			if (roop == false) break;
		}
		if (roop == false) break;
	}
	printf("%d", w_cou);
}