#include <bits/stdc++.h>
using namespace std;
long long powmod(long long a, long long b) {
  long long res = 1;
  a %= 1000000007;
  for (; b; b >>= 1) {
    if (b & 1) res = res * a % 1000000007;
    a = a * a % 1000000007;
  }
  return res;
}
long long a[1000010], f[1000010];
long long s1, s2, A, B;
int ans1, ans2;
int n;
long long ff(int a, int b) { return f[a] - f[a - b - 1] + f[n] - f[n - b]; }
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &a[i]);
  }
  sort(a + 1, a + 1 + n);
  for (int i = 1; i <= n; i++) {
    f[i] = f[i - 1] + a[i];
  }
  ans1 = 1, ans2 = 0;
  s1 = 0, s2 = 1;
  for (int i = 2; i <= n; i++) {
    int l = 2, r = min(i - 1, n - i);
    int k = 1;
    while (l <= r) {
      int mid = (l + r) >> 1;
      if (ff(i, mid - 1) * (2 * mid + 1) < ff(i, mid) * (2 * mid - 1)) {
        k = mid;
        l = mid + 1;
      } else
        r = mid - 1;
    }
    A = ff(i, k) - (long long)(2 * k + 1) * a[i];
    B = 2 * k + 1;
    if (s1 * B < A * s2) {
      s1 = A, s2 = B, ans1 = i, ans2 = k;
    }
  }
  printf("%d\n", 2 * ans2 + 1);
  for (int i = ans1 - ans2; i <= ans1; i++) printf("%lld ", a[i]);
  for (int i = n - ans2 + 1; i <= n; i++) printf("%lld ", a[i]);
  return 0;
}
