using System;
using System.Collections.Generic;
using System.Linq;

class program
{
    public static void Boolisanje(int[] niz, out bool[] vrednosti)
    {
        vrednosti= new bool[niz.Length];
        vrednosti[0]= true;
        for(int i=1; i<niz.Length; i++)
        {
            if (niz[i-1] <= niz[i])
            {
                vrednosti[i] = true;
            }
            else
            {
                vrednosti[i] = false;
            }
        }
    }
    public static bool Intervalisanje(bool[] vrednosti, int l, int r)
    {
        if(l == r)
        {
            return true;
        }
        int brojac = 0;
        for(int i = l; i < r; i++)
        {
            if (!vrednosti[i])
            {
                brojac++;
            }
        }
        if(brojac > 1) 
        {
            return false;
        }
        else
        {
            return true;
        }
    }
    static void Main()
    {
        int N = int.Parse(Console.ReadLine());
        var ucitavanje = Console.ReadLine().Split();
        int[] niz = new int[N];
        bool[] vrednosti;
        for(int i = 0; i < N; i++)
        {
            niz[i] = int.Parse(ucitavanje[i]);
        }

        Boolisanje(niz, out vrednosti);

        int Q = int.Parse(Console.ReadLine());
        for(int i=0; i<Q; i++) 
        {
            var interval = Console.ReadLine().Split();
            int l = int.Parse(interval[0]);
            int r = int.Parse(interval[1]);
            if (Intervalisanje(vrednosti, l, r))
            {
                Console.WriteLine("DA");
            }
            else
            {
                Console.WriteLine("NE");
            }
        }
    }
}