#include <bits/stdc++.h>
using namespace std;
const int MaxN = 200010, inf = 100000000;
int X[MaxN], N;
long long sum[MaxN];
int pos, len;
double Max;
double get_val(int p, int l) {
  return double(sum[N] - sum[N - l] + sum[p] - sum[p - l - 1]) / (2 * l + 1) -
         X[p];
}
bool check(int p, int l) { return get_val(p, l) - get_val(p, l - 1) >= 0; }
int main() {
  scanf("%d", &N);
  for (int i = 1; i <= N; ++i) scanf("%d", X + i);
  if (N <= 2) {
    printf("1\n%d\n", X[1]);
    return 0;
  }
  Max = -1;
  sort(X + 1, X + N + 1);
  for (int i = 1; i <= N; ++i) sum[i] = sum[i - 1] + X[i];
  for (int i = 2; i <= N - 1; ++i) {
    int l = 1, r = min(N - i, i - 1);
    while (l != r) {
      int mid = (l + r + 1) >> 1;
      if (check(i, mid))
        l = mid;
      else
        r = mid - 1;
    }
    if (get_val(i, l) > Max) {
      Max = get_val(i, l);
      pos = i;
      len = l;
    }
  }
  if (Max < 0) {
    printf("1\n%d\n", X[1]);
  } else {
    printf("%d\n", len * 2 + 1);
    for (int i = pos - len; i <= pos; ++i) printf("%d ", X[i]);
    for (int i = N - len + 1; i <= N; ++i) printf("%d ", X[i]);
    puts("");
  }
  return 0;
}
