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)

#define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define N 1002
int main() {
	char s[N] = "", x[N]="", tmp[N], str[N] = "", *p1, *p2;
	int i= 0,j,k=1,cnt = 0,xLength, sLength;
	fgets(x, sizeof(x), stdin);
	x[strlen(x) - 1] = '\0';
	while (1) {
		tmp[0] = '\0';
		fgets(str, sizeof(str), stdin);
		if (strcmp(str, "END_OF_TEXT\n") == 0) break;
		str[strlen(str) - 1] = '\0';
		//if (strcmp(str, "END_OF_TEXT") == 0) break;
		strcat(tmp, str);
		strcat(s, tmp);

		xLength = strlen(x);
		sLength = strlen(str);
		for (i = 0; i < sLength; i++) str[i] = tolower(str[i]);
		for (i = 0; i < xLength; i++) x[i] = tolower(x[i]);
		//printf("*%s", str);
		//putchar('\n');
		p1 = str;
		p2 = x;
		while (*p1){
			k = 1;
		if (*p1 == *p2) {
			//printf("*%c\n", *p1);
			for (k = 1; k <= xLength; k++) if (*(p2 + k) != *(p1 + k)) {
				//printf("*%d %c %c\n",i, *(p2 + k), *(p1+ k)); 
				break;
			}
		}
		//printf("*%d %d\n",i+1, k);
		if (k == xLength) { cnt += 1; }
		*(p1++);
		i++;
	}		
	}
	printf("%d\n", cnt);
	return 0;
}