#include <bits/stdc++.h>
void solve() {
  long long n, i, j = -1;
  scanf("%d", &n);
  long a[300000], b[300000];
  for (i = 0; i < n; i++) scanf("%d", &a[i]);
  for (i = 0; i < n; i++) {
    if (j == -1)
      b[++j] = a[i];
    else {
      long long temp = a[i];
      while (j >= 0 && temp == b[j]) {
        j--;
        temp++;
      }
      b[++j] = temp;
    }
  }
  printf("%d\n", j + 1);
  for (i = 0; i <= j; i++) printf("%d ", b[i]);
  printf("\n");
}
int main() {
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
