func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T1, class T2>   ostream& operator<<(ostream& out, pair<T1, T2> p) {     out << p.first <<     << p.second;     return out;   }   template <class T1, class T2>   istream& operator>>(istream& in, pair<T1, T2>& p) {     in >> p.first >> p.second;     return in;   }   template <class T>   istream& operator>>(istream& in, vector<T>& v) {     for (auto& x : v) in >> x;     return in;   }   template <class T>   ostream& operator<<(ostream& out, vector<vector<T>>& v) {     for (auto& x : v) out << x <<   n ;     return out;   }   template <class T>   ostream& operator<<(ostream& out, vector<T>& v) {     for (auto x : v) out << x <<    ;     return out;   }   void solve() {     int n;     cin >> n;     vector<int> a(n), b(n);     cin >> a;     iota(b.begin(), b.end(), 0);     sort(b.begin(), b.end(), [&](int i, int j) {       if (a[i] != a[j]) {         return a[i] < a[j];       }       return i < j;     });     vector<pair<int, int>> ans;     for (int i = 0; i < n; i++) {       for (int j = 0; j < n - 1; j++) {         if (b[j] > b[j + 1]) {           ans.push_back({b[j + 1], b[j]});           swap(b[j], b[j + 1]);         }       }     }     cout << ans.size() <<   n ;     for (auto p : ans) {       cout << p.first + 1 <<     << p.second + 1 <<   n ;     }   }   int main() {     ios::sync_with_stdio(0), cin.tie(0), cout.tie(0), cerr.tie(0);     ;     int t;     t = 1;     while (t--) {       solve();     }     return 0;   }   