import java.util.HashMap;
import java.util.HashSet;
import java.util.Scanner;
import java.math.*;

public class Milkyway {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int arraySize = sc.nextInt();
        int testCases = sc.nextInt();
        int[] galaxies = new int[arraySize];
        HashMap<Integer, Integer> ranges = new HashMap<>();
        int indexLast = 0;
        galaxies[0] = sc.nextInt();
        for (int i = 1; i < galaxies.length; i++) {
            galaxies[i] = sc.nextInt();
            if (galaxies[i] < galaxies[i - 1]) {
                ranges.put(indexLast, i - 1);
                indexLast = i;
            }
        }
        ranges.put(indexLast, galaxies.length - 1);

        for (int i = 0; i < testCases; i++) {
            boolean found = false;
            int beggining = sc.nextInt() - 1;
            int end = sc.nextInt() - 1;
            for (int value : ranges.keySet()) {
                if (value <= beggining && ranges.get(value) >= end) {
                    System.out.println("YES");
                    found = true;
                }
            }
            if (!found) {
                System.out.println("NO");
            }
        }
    }
}