func_code_string: #include <bits/stdc++.h>   #pragma GCC optimize( O2 )   const int MAXN = 1e5 + 5;   using namespace std;   struct node {     int i;     node *l, *r;   };   node *newN(int i) {     node *x = new node;     x->i = i;     x->r = x->l = NULL;     return x;   }   node *insert(node *actual, int i, bool k) {     if (!actual) return newN(i);     if (k)       return actual->r = newN(i);     else       return actual->l = newN(i);   }   void inorder(node *root) {     if (!root) return;     inorder(root->l);     cout << root->i <<   n ;     inorder(root->r);   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     string a;     cin >> a;     node *root = newN(1), *actual = root;     for (int i = 0; i < (int)a.size() - 1; i++) {       if (a[i] ==  l )         actual = insert(actual, i + 2, 0);       else         actual = insert(actual, i + 2, 1);     }     inorder(root);     return 0;   }   