#include <bits/stdc++.h>
using namespace std;
int n, k;
vector<int> v;
long long s[100100];
void init() {
  scanf("%d", &n);
  scanf("%d", &k);
  v.resize(1 + n);
  for (int i = 1; i <= n; i++) scanf("%d", &v[i]);
  sort(v.begin() + 1, v.end());
  v[0] = 0;
  s[0] = v[0];
  for (int i = 1; i <= n; i++) s[i] = s[i - 1] + v[i];
  int pos = 1, sol = 1, best = 1, val = v[1];
  for (int i = 2; i <= n; i++) {
    while ((long long)(i - pos + 1) * v[i] - (s[i] - s[pos - 1]) > k) pos++;
    if (i - pos + 1 > best) {
      best = i - pos + 1;
      val = v[i];
    }
  }
  cout << best << " " << val << endl;
}
int main() {
  init();
  return 0;
}
