#include <bits/stdc++.h>
using namespace std;
const long long maxn = 2e5 + 5;
const double pi = acos(-1.0);
const long long inf = 0x3f3f3f3f;
long long n;
long long pre[maxn], sum[maxn];
long long pos = 1, len = 0;
double ans = 0;
double fun(long long lenn, long long x) {
  long long s = 0;
  s += sum[x] - sum[x - lenn - 1];
  s += sum[n] - sum[n - lenn];
  double mean = 1.0 * s / (1 + lenn * 2);
  return mean - 1.0 * pre[x];
}
int main() {
  cin >> n;
  for (long long i = 1; i <= n; i++) {
    scanf("%lld", &pre[i]);
  }
  sort(pre + 1, pre + 1 + n);
  for (long long i = 1; i <= n; i++) sum[i] = sum[i - 1] + pre[i];
  for (long long i = 2; i < n; i++) {
    long long l = 1, r = min(i - 1, n - i);
    for (long long j = 1; j <= 100; j++) {
      long long lm = l + (r - l) / 3;
      long long rm = r - (r - l) / 3;
      double lf = fun(lm, i);
      double rf = fun(rm, i);
      if (lf > rf)
        r = rm;
      else
        l = lm;
      if (lf > ans) {
        pos = i;
        len = lm;
        ans = lf;
      }
      if (rf > ans) {
        pos = i;
        len = rm;
        ans = rf;
      }
    }
  }
  printf("%lld\n", len * 2 + 1);
  for (long long i = pos - len; i <= pos; i++) {
    printf("%lld ", pre[i]);
  }
  for (long long i = n - len + 1; i <= n; i++) {
    printf("%lld%c", pre[i], i == n ? '\n' : ' ');
  }
  return 0;
}
