#include <bits/stdc++.h>
using namespace std;
const long long maxn = 3e5;
long long a[maxn], s[maxn];
long double x, y, ans;
long long n, i, j, I, M, l, r;
int main() {
  scanf("%lld", &n);
  for (i = 1; i <= n; i++) scanf("%lld", &a[i]);
  sort(a + 1, a + n + 1);
  for (i = 1; i <= n; i++) s[i] = s[i - 1] + a[i];
  I = 1, M = 0;
  for (i = 2; i < n; i++) {
    l = 0, r = min(i - 1, n - i) + 1;
    while (l + 1 < r) {
      long long m = (l + r) >> 1, j = m - 1;
      x = ((long double)s[i] - s[i - m - 1] + s[n] - s[n - m]) / (2 * m + 1);
      y = ((long double)s[i] - s[i - j - 1] + s[n] - s[n - j]) / (2 * j + 1);
      if (x > y)
        l = m;
      else
        r = m;
    }
    x = ((long double)s[i] - s[i - l - 1] + s[n] - s[n - l]) / (2 * l + 1);
    if (x - a[i] > ans) {
      ans = x - a[i];
      I = i;
      M = l;
    }
  }
  printf("%lld\n", 2 * M + 1);
  for (i = I - M; i <= I; i++) printf("%lld ", a[i]);
  for (i = n - M + 1; i <= n; i++) printf("%lld ", a[i]);
}
