import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		boolean flg = true;

		// 整数の入力
		int n = sc.nextInt();

		int array[] = new int[n];

		int flg2 = -1;
		
		for(int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		}
		
		for(int i = 0; i < n; i++) {
			//array[i] = sc.nextInt();
			
			if(flg2 != -1 && array[i-1] > array[i]) {
				int tmp = array[flg2];
				array[flg2] = array[i];
				array[i] = tmp;
				
				flg2 = -1;
				break;
			}
			
			if(i > 0 && flg2 == -1 && array[i-1] > array[i]) {
				flg2 = i-1;
			}
		}
		
		if(flg2 != -1) {
			int tmp = array[flg2+1];
			array[flg2+1] = array[flg2];
			array[flg2] = tmp;
		}
		
		for(int i = 0; i < n-1; i++) {
			if(array[i] > array[i+1]) {
				flg = false;
				break;
			}
		}

		if(flg) {
			System.out.println("YES");
		} else {
			System.out.println("NO");
		}

        sc.close();
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz