#include <bits/stdc++.h>
using namespace std;
set<long int> ex;
set<long int>::iterator it;
long int n, i, num, a[200010], sum, pre, st, en, maxi, fst, j;
bool f;
int main() {
  scanf("%ld", &n);
  for (i = 1; i <= n; i++) {
    scanf("%ld", &num);
    ex.insert(num);
    a[num]++;
  }
  f = true;
  for (it = ex.begin(); it != ex.end(); it++) {
    if (f) {
      sum = a[*it];
      pre = *it;
      st = *it;
      f = false;
    } else {
      if (pre + 1 == *it && a[*it] >= 2) {
        sum += a[*it];
        pre = *it;
      } else if (pre + 1 != *it) {
        if (sum > maxi) {
          fst = st;
          en = pre;
          maxi = sum;
        }
        f = true;
        it--;
        pre = *it;
      } else {
        sum += a[*it];
        if (sum > maxi) {
          fst = st;
          en = *it;
          maxi = sum;
        }
        f = true;
        it--;
        pre = *it;
      }
    }
  }
  if (sum > maxi) {
    fst = st;
    en = pre;
    maxi = sum;
  }
  printf("%ld\n", maxi);
  for (i = 1; i <= a[fst]; i++) printf("%ld ", fst);
  for (i = fst + 1; i <= en; i++) {
    for (j = 2; j <= a[i]; j++) printf("%ld ", i);
  }
  for (i = en; i > fst; i--) {
    printf("%ld ", i);
  }
}
