#include <stdio.h>
#include<string.h>

typedef struct
{
	char word[32];
	int cnt = 0;
	int len = 0;
}str;

int main()
{
	int i = 0;
	int max1=0,max2=0;
	str w[1024];
	while ((scanf("%s", w[i].word)) != EOF)
	{
		w[i].len = strlen(w[i].word);
		for (int j = 0; j < i; j++)
		{
			if (strcmp(w[j].word, w[i].word)) { w[j].cnt++; w[i].cnt++; }
		}
		i++;
	}
	for (int j = 0; j < i; j++)   //???i????????§???
	{
		if (max1 < w[j].cnt) max1 = w[j].cnt;
		if (max2 < w[j].len) max2 = w[j].len;
	}
	for (int j = 0; j < i; j++)
	{
		if (w[j].cnt == max1) printf("%s ", w[j].word);
		if (w[j].len == max2) printf("%s\n", w[j].word);

	}
	return 0;
}