func_code_string: #include <bits/stdc++.h>   using namespace std;   int dx[] = {0, 0, 1, -1, -1, -1, 1, 1};   int dy[] = {1, -1, 0, 0, -1, 1, 1, -1};   template <class T>   inline T biton(T n, T pos) {     return n | ((T)1 << pos);   }   template <class T>   inline T bitoff(T n, T pos) {     return n & ~((T)1 << pos);   }   template <class T>   inline T ison(T n, T pos) {     return (bool)(n & ((T)1 << pos));   }   template <class T>   inline T gcd(T a, T b) {     while (b) {       a %= b;       swap(a, b);     }     return a;   }   template <typename T>   string NumberToString(T Number) {     ostringstream second;     second << Number;     return second.str();   }   inline int nxt() {     int aaa;     scanf( %d , &aaa);     return aaa;   }   inline long long int lxt() {     long long int aaa;     scanf( %lld , &aaa);     return aaa;   }   inline double dxt() {     double aaa;     scanf( %lf , &aaa);     return aaa;   }   template <class T>   inline T bigmod(T p, T e, T m) {     T ret = 1;     for (; e > 0; e >>= 1) {       if (e & 1) ret = (ret * p) % m;       p = (p * p) % m;     }     return (T)ret;   }   int ar[200010];   vector<int> v;   map<int, int> mp;   int main() {     int c = 0;     int i = 1;     while (1) {       if (c > 100000) break;       c += i;       v.push_back(c);       mp[c] = i;       i++;     }     int n = nxt();     if (n == 0) {       cout <<  a  << endl;       return 0;     }     vector<int> ans;     while (n) {       for (int i = v.size() - 1; i >= 0; i--) {         if (v[i] <= n) {           ans.push_back(v[i]);           n -= v[i];         }       }     }     int t = 0;     for (int i = 0; i < ans.size(); i++) {       int x = ans[i];       int lagbe = mp[x];       for (int j = 0; j <= lagbe; j++) {         printf( %c , t +  a );       }       t++;     }     printf(  n );     return 0;   }   