#include <bits/stdc++.h>
using namespace std;
long long n, xa[100005], maxi = -1e18, mini = 1e18, sum = 0, i, y;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  map<long long, long long> m;
  for (i = 0; i < n; i++) {
    cin >> xa[i];
    mini = min(xa[i], mini);
    maxi = max(xa[i], maxi);
    m[xa[i]]++;
    sum += xa[i];
  }
  long long ans = n;
  if (maxi - mini <= 1) {
    cout << n << "\n";
    for (i = 0; i < n; i++) {
      cout << xa[i] << " ";
    }
  } else {
    long long w = sum - n * (mini + 1);
    for (y = 0; y <= n; y++) {
      long long x = y - w;
      long long mid = n - x - y;
      if (x >= 0 and y >= 0 and mid >= 0) {
        ans =
            min(min(x, m[mini]) + min(y, m[maxi]) + min(mid, m[mini + 1]), ans);
      }
    }
    for (y = 0; y <= n; y++) {
      long long x = y - w;
      long long mid = n - x - y;
      if (x >= 0 and y >= 0 and mid >= 0) {
        if (min(x, m[mini]) + min(y, m[maxi]) + min(mid, m[mini + 1]) == ans) {
          cout << ans << "\n";
          for (i = 0; i < x; i++) {
            cout << mini << " ";
          }
          for (i = 0; i < y; i++) {
            cout << maxi << " ";
          }
          for (i = 0; i < mid; i++) {
            cout << mini + 1 << " ";
          }
          return 0;
        }
      }
    }
  }
}
