import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int differ = 0;//間違いを入れる
		
		for(int i=1; i<=N; i++) {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		}
        //間違いが2つならそれを入れ替えて昇順にできる
        //2つ以内ならYes
		System.out.println(differ<=2?"YES":"NO");
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int differ = 0;//間違いを入れる
		
		for(int i=1; i<=N; i++) {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		}
        //間違いが2つならそれを入れ替えて昇順にできる
        //2つ以内ならYes
		System.out.println(differ<=2?"YES":"NO");
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int differ = 0;//間違いを入れる
		
		for(int i=1; i<=N; i++) {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		}
        //間違いが2つならそれを入れ替えて昇順にできる
        //2つ以内ならYes
		System.out.println(differ<=2?"YES":"NO");
	} main {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int differ = 0;//間違いを入れる
		
		for(int i=1; i<=N; i++) {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		}
        //間違いが2つならそれを入れ替えて昇順にできる
        //2つ以内ならYes
		System.out.println(differ<=2?"YES":"NO");
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int differ = 0; differ 0 for(int i=1; i<=N; i++) {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		} int i=1; int i=1; i 1 i<=N i N i++ i++ i {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		} {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		} int P =sc.nextInt(); P sc.nextInt() sc.nextInt sc if(i!=P){
				differ++;
			} i!=P i P {
				differ++;
			} differ++ differ System.out.println(differ<=2?"YES":"NO") System.out.println System.out System System.out differ<=2?"YES":"NO" differ<=2 differ 2 "YES" "NO" String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int differ = 0;//間違いを入れる
		
		for(int i=1; i<=N; i++) {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		}
        //間違いが2つならそれを入れ替えて昇順にできる
        //2つ以内ならYes
		System.out.println(differ<=2?"YES":"NO");
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int differ = 0;//間違いを入れる
		
		for(int i=1; i<=N; i++) {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		}
        //間違いが2つならそれを入れ替えて昇順にできる
        //2つ以内ならYes
		System.out.println(differ<=2?"YES":"NO");
	}
} Main
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int differ = 0;//間違いを入れる
		
		for(int i=1; i<=N; i++) {
			int P =sc.nextInt();
        //iとPが一致していなければ間違いを+1する
		if(i!=P){
				differ++;
			}
		}
        //間違いが2つならそれを入れ替えて昇順にできる
        //2つ以内ならYes
		System.out.println(differ<=2?"YES":"NO");
	}
}