#pragma warning(disable : 4996)
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define max_size 1000000
#define min_size 50 + 1
#define mid_size 500000
struct Word {
char word[min_size];
int app_place;
} Word[mid_size];
char article[max_size];
char word[min_size];
char buffer[2000000];
int main(void) {
gets(word);
int len_word = strlen(word);
for (int i = 0; i < len_word; i++)
word[i] = towlower(word[i]);
setvbuf(stdin, buffer, _IOFBF, 2000000);
gets(article);
int len_article = strlen(article);
for (int i = 0; i < len_article; i++)
article[i] = towlower(article[i]);
int word_num = 0, temp_num = 0;
char temp[min_size];
for (int i = 0; i < len_article; i++) {
memset(temp, '\0', min_size);
temp_num = 0;
if (isalpha(article[i])) {
while (isalpha(article[i])) {
temp[temp_num++] = article[i];
i++;
}
memset(Word[word_num].word, '\0', min_size);
strcpy(Word[word_num].word, temp);
Word[word_num++].app_place = i - strlen(temp);
}
}
int place = -1, app_time = 0;
for (int i = 0; i < word_num; i++)
if (strcmp(Word[i].word, word) == 0) {
app_time++;
if (place == -1)
place = Word[i].app_place;
}
if (app_time != 0)
printf("%d ", app_time);
printf("%d", place);
return 0;
}