#include #include #include #include //#include #include #include #include #include #include //#include #include #include #include //#include #include //#include #include #include #include #include #include const int dx[] = {1, 0, -1, 0}; const int dy[] = {0, -1, 0, 1}; using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector vi; typedef vector vll; typedef pair pii; void solve() { int N; cin >> N; vector A(N), B(N); for (int i = 0; i < N; i++) { cin >> A[i]; B[i] = A[i]; } sort(B.begin(), B.end()); vector ans; for (int i = 0; i < N; i++) { int index = -1; for (int j = i; j < N; j++) { if (B[i] == A[j]) { index = j; break; } } if (index != i) { ans.emplace_back(i, index); swap(A[i], A[index]); } } cout << ans.size() << endl; for (auto p : ans) cout << p.first << " " << p.second << endl; } int main() { solve(); int dummy; cin >> dummy; return 0; }