#include <bits/stdc++.h>
using namespace std;
const int MX = 200005;
int n;
int a[MX];
long long S[MX];
double val(int i, int cnt) {
  double mean = S[i] - S[i - cnt - 1] + S[n] - S[n - cnt];
  mean /= (2.0 * cnt + 1.0);
  return mean - a[i];
}
int main() {
  ignore = scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    ignore = scanf("%d", a + i);
  }
  sort(a + 1, a + n + 1);
  for (int i = 1; i <= n; i++) {
    S[i] = S[i - 1] + a[i];
  }
  double ans_val = 0;
  int ans_median = 1;
  int ans_size = 0;
  for (int i = 2; i <= n; i++) {
    int L = 1, R = min(i - 1, n - i);
    while (R - L > 5) {
      int X = L + (R - L) / 3;
      int Y = R - (R - L) / 3;
      if (val(i, X) >= val(i, Y)) {
        R = Y;
      } else {
        L = X;
      }
    }
    for (int X = L; X <= R; X++) {
      double tmp = val(i, X);
      if (tmp > ans_val) {
        ans_val = tmp;
        ans_median = i;
        ans_size = X;
      }
    }
  }
  printf("%d\n", 2 * ans_size + 1);
  for (int i = ans_median - ans_size; i <= ans_median; i++) {
    printf("%d ", a[i]);
  }
  for (int i = n - ans_size + 1; i <= n; i++) {
    printf("%d ", a[i]);
  }
}
