#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;

int main() {
  string s;
  vector<string> s_list;
  map<string, int> s_map;
  while (cin >> s) {
    s_map[s]++;
    s_list.push_back(s);
  }
  int max_s = 0;
  int i;
  for (i = 0; i < s_list.size(); i++) {
    max_s = max(max_s, s_map[s_list[i]]);
  }
  for (i = 0; i < s_list.size(); i++) {
    if (s_map[s_list[i]] == max_s) {
      cout << s_list[i] << ' ';
      break;
    }
  }
  int max_length = 0;
  for (i = 0; i < s_list.size(); i++) {
    max_length = max(max_length, (int)(s_list[i].length()));
  }
  for (i = 0; i < s_list.size(); i++) {
    if (max_length == s_list[i].length()) {
      cout << s_list[i] << endl;
      break;
    }
  }
  return 0;
}

