#include <bits/stdc++.h>
using namespace std;
int a[100010];
int v[100010];
int v2[100010];
int main() {
  int n;
  while (~scanf("%d", &n)) {
    int sz = 0, sz2 = 0;
    v[0] = v2[0] = -1;
    for (int i = 0; i < n; ++i) {
      scanf("%d", a + i);
    }
    sort(a, a + n);
    for (int i = 0; i < n; ++i) {
      if (a[i] > v[sz]) {
        v[++sz] = a[i];
      } else if (a[i] > v2[sz2]) {
        v2[++sz2] = a[i];
      }
    }
    if (v[sz] == v2[sz2]) {
      sz2--;
    }
    printf("%d\n", sz + sz2);
    for (int i = 1; i <= sz; ++i) {
      if (i > 1) printf(" ");
      printf("%d", v[i]);
    }
    for (int i = sz2; i >= 1; --i) {
      printf(" %d", v2[i]);
    }
    puts("");
  }
  return 0;
}
