#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<long long> v(n);
  vector<long long> psum;
  for (int i = 0; i < n; ++i) cin >> v[i];
  sort(v.begin(), v.end());
  psum = v;
  for (int i = 1; i < n; ++i) psum[i] += psum[i - 1];
  long double ans = 0;
  int ansMedian = 0;
  int ansSz = 0;
  for (int i = 0; i < n; ++i) {
    int s = 0, e = min(i, n - i - 1);
    while (s <= e) {
      int mid = (s + e) / 2;
      long double allsum = psum[i];
      if (i - mid - 1 >= 0) allsum -= psum[i - mid - 1];
      allsum += psum[n - 1];
      allsum -= psum[n - 1 - mid];
      long double mean = 1.0 * allsum / (2.0 * mid + 1);
      long double skewness = mean - v[i];
      if (skewness >= ans) {
        ans = skewness;
        ansMedian = i;
        ansSz = mid;
      }
      if (i - mid - 1 >= 0) {
        long double nxt = (v[i - mid - 1] + v[n - 1 - mid]) / 2.0;
        if (nxt >= mean) {
          s = mid + 1;
        } else {
          e = mid - 1;
        }
      } else {
        e = mid - 1;
      }
    }
  }
  cout << 2 * ansSz + 1 << endl;
  for (int i = ansMedian - ansSz; i <= ansMedian; ++i) cout << v[i] << " ";
  for (int i = n - ansSz; i < n; ++i) cout << v[i] << " ";
}
