func_code_string: #include <bits/stdc++.h>   using namespace std;   long long bin_pow(long long a, long long b) {     if (b == 0) return 1;     if (b % 2 == 0) {       long long t = bin_pow(a, b / 2);       return t * t % 1000000007;     } else       return a * bin_pow(a, b - 1) % 1000000007;   }   vector<long long> a;   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     long long t = 1, n, m, k = 0, x = 0, y = 0, z = 0, sum = 0, l = 0, r = 0,               ans = 0, mn = LLONG_MAX, mx = LLONG_MIN;     cin >> n;     a.resize(n);     vector<pair<long long, long long> > d;     stack<long long> s;     for (int i = 0; i < n; i++) cin >> a[i];     t = 0;     for (int i = 0; i < n; i++) {       if (a[i] < t) {         while (a[i] != t) {           x = s.top();           s.pop();           d.push_back({x, i});           t--;         }       } else {         while (a[i] != t) {           s.push(i + 1);           t++;         }       }     }     while (!s.empty()) {       x = s.top();       d.push_back({x, n});       s.pop();     }     cout << d.size() <<   n ;     for (auto u : d) cout << u.first <<     << u.second <<   n ;     return 0;   }   