#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define ALL(v) v.begin(), v.end()
typedef long long ll;

template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

#include <bits/stdc++.h>
using namespace std;
int main(){
  string s,t,u="";
  map<string,int> m;
  m[t]=0;
  while(cin>>s){
    m[s]++;
    if(m[s]>m[t]) t=s;
    if(s.size()>u.size()) u=s;
  }
  
  cout<<t<<" "<<u<<endl;
      
  return 0;
}
