#include<stdio.h>
#include<string.h>
int main(void){
	char a[20][10],c;   //二维字符数组a用来存放每个单词 :第一个单词就是a[0]  以此类推 
	int i=0,j=0,n=0,count=0;    //n为空格的数目  n+1就是单词的个数  count为字母的个数   
	while((c=getchar())!='.'){   //如果输入的是'.'   就不会进入循环 这样就可以避免存入字符 点 
		if(c!=' '){          
			count++;  //如果输入的字符是字母  count++ 
			a[i][j]=c;   //注意 第一次进入该循环的时候  i,j都是0(已经初始化了)   此时的i代表的是二维字符数组中第几个一位字符数组 
			j++;    
		}else{
			a[i][j]='\0';   //如果输入的是空格 代表这个单词已经结束  因为后面使用的是字符串输出,所以在一维字符数组后面需要加上一个'\0' 
			i++;    //i++   这个一位字符数组已经放入单词了   换下一个 
			j=0;    //新的单词  新的j 
			n++;    //记录空格的个数 
		}
	}
	a[i][j]='\0';//因为最后一个单词后面没有空格了  所以我们要手动加上'\0'  不然后面的strcmp函数没办法用 
	//到这里为止   我们已经成功将这一行字符  拆分成各个单词存放于二维数组a中
	char b[10];   //b为输入的字符串  用于对比
	//  i是从0开始的   所以目前  i+1的值就是单词的个数   i也就是a数组的最大有效下标(下标从0开始)
	//如果不懂  那就用n+1  一个意思    n+1=i+1
	scanf("\n");  //在你输入第二行之前 按了回车   
	gets(b);

	 for(i=0;i<=n;i++){
	 	if(strcmp(a[i],b)==0){
		  printf("%d",i+1);   //如果相等,就输出是第几个单词  i+1  显而易见 
		  break; 
		  } 
	 }
	 if(i>n)  printf("%d",count);//如果i>n  说明没找到  输入字母的个数 
	return 0;
} 
/**************************************************************
	Problem: 1012
	User: admin
	Language: C
	Result: Accepted
	Time:9 ms
	Memory:1144 kb
****************************************************************/