#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, t;
  scanf("%d", &n);
  int a[n];
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
  }
  vector<int> v1, v2;
  sort(a, a + n);
  int c = 1;
  int q = 0;
  int m = a[n - 1];
  if (n > 1) {
    for (int i = 0; i < n; i++) {
      if (i == 0) {
        q++;
        v1.push_back(a[0]);
      } else {
        if (a[i] == a[i - 1]) {
          if (c <= 1) {
            q++;
            v1.push_back(a[i]);
          }
          c++;
        } else {
          v1.push_back(a[i]);
          q++;
          c = 1;
        }
      }
    }
    int q1 = v1.size();
    if (a[n - 1] == a[n - 2]) {
      q--;
      q1 = v1.size() - 1;
    }
    printf("%d\n", q);
    for (int i = 0; i < q1; i++) {
      if (i == 0) {
        printf("%d", v1[i]);
      } else {
        if (v1[i] != v1[i - 1]) {
          printf(" %d", v1[i]);
        } else {
          v2.push_back(v1[i]);
        }
      }
    }
    for (int i = v2.size() - 1; i >= 0; i--) {
      printf(" %d", v2[i]);
    }
    cout << "\n";
  } else {
    printf("1\n%d\n", a[0]);
  }
  return 0;
}
