func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, a;   stack<int> q;   vector<int> d;   void insert(int x) {     if (q.empty()) {       q.push(x);       return;     }     if (q.top() != x) {       q.push(x);       return;     }     q.pop();     insert(x + 1);   }   int main() {     scanf( %d , &n);     for (int i = 1; i <= n; i++) scanf( %d , &a), insert(a);     while (!q.empty()) d.push_back(q.top()), q.pop();     int k = d.size();     printf( %d n , k);     for (int i = k - 1; i >= 0; i--) printf( %d%c , d[i], i ?     :   n );     return 0;   }   