#include <bits/stdc++.h>
using namespace std;
void ok() { cout << "YES" << endl; }
void nok() { cout << "NO" << endl; }
void testcase() {
  int n;
  cin >> n;
  vector<int> V(n);
  for (auto& v : V) cin >> v;
  if (n == 2 || is_sorted(V.begin(), V.end())) {
    ok();
    return;
  }
  int first = -1;
  for (int i = 0; i < n - 1; i++) {
    if (V[i] > V[i + 1]) {
      first = i;
      break;
    }
  }
  swap(V[first], V[first + 1]);
  if (is_sorted(V.begin(), V.end())) {
    ok();
    return;
  }
  swap(V[first], V[first + 1]);
  for (int i = 0; i < first; i++) {
    if (V[i] == V[first]) {
      swap(V[i], V[first + 1]);
      if (is_sorted(V.begin(), V.end())) {
        ok();
        return;
      }
      swap(V[i], V[first + 1]);
      break;
    }
  }
  for (int i = n - 1; i > first; i--) {
    if ((first == 0 || V[first - 1] <= V[i]) && V[i] <= V[first + 1]) {
      swap(V[first], V[i]);
      if (is_sorted(V.begin(), V.end())) {
        ok();
        return;
      }
      nok();
      return;
    }
  }
  nok();
}
int main() {
  ios_base::sync_with_stdio(false);
  testcase();
  return 0;
}
