100 atcoder#ABC135B. [ABC135B] 0 or 1 Swap

[ABC135B] 0 or 1 Swap

Score : 200200 points

Problem Statement

We have a sequence pp = {p1, p2, ..., pNp_1,\ p_2,\ ...,\ p_N} which is a permutation of {1, 2, ..., N1,\ 2,\ ...,\ N}.

You can perform the following operation at most once: choose integers ii and jj (1i<jN)(1 \leq i < j \leq N), and swap pip_i and pjp_j. Note that you can also choose not to perform it.

Print YES if you can sort pp in ascending order in this way, and NO otherwise.

Constraints

  • All values in input are integers.
  • 2N502 \leq N \leq 50
  • pp is a permutation of {1, 2, ..., N1,\ 2,\ ...,\ N}.

Input

Input is given from Standard Input in the following format:

NN

p1p_1 p2p_2 ...... pNp_N

Output

Print YES if you can sort pp in ascending order in the way stated in the problem statement, and NO otherwise.

5
5 2 3 4 1
YES

You can sort pp in ascending order by swapping p1p_1 and p5p_5.

5
2 4 3 5 1
NO

In this case, swapping any two elements does not sort pp in ascending order.

7
1 2 3 4 5 6 7
YES

pp is already sorted in ascending order, so no operation is needed.