using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp10
{
    class Program
    {
        static bool DaLiJeListaSortirana(List<int> lista)
        {
            List<int> sortiranaLista = lista;
            lista.Sort();

            if (sortiranaLista == lista)
                return true;
            return false;
        }
        /*static int MaxNiza(int[] niz)
        {
            int max = int.MinValue;
            for (int i = 0; i < niz.Length; i++)
            {
                if (niz[i] > max)
                    max = niz[i];
            }
            return max;
        }
        /*static void UkloniElement(int[] niz, int ukloniMe)
        {
            bool uklonjen = false;
            int indexUklonjenog = -1;
            for (int i = 0; i < niz.Length; i++)
            {
                if(niz[i] == ukloniMe && !uklonjen)
                {
                    niz[i] = -1;
                    indexUklonjenog = i;
                    uklonjen = true;
                }
            }

            for (int j = 0; j < niz.Length; j++)
            {
                if(niz[j] == -1)
                {
                    for (int k = indexUklonjenog + 1; k < niz.Length; k++)
                    {
                        niz[k] = 
                    }
                }
            }
        }*/
        static void Main(string[] args)
        {
            bool moze = false;
            int n = int.Parse(Console.ReadLine());
            int[] niz = new int[n];
            string[] s = Console.ReadLine().Split();
            for (int i = 0; i < n; i++)
            {
                niz[i] = int.Parse(s[i]);
            }
            int q = int.Parse(Console.ReadLine());
            for (int i = 0; i < q; i++)
            {
                string[] linija = Console.ReadLine().Split();
                int l = int.Parse(linija[0]) - 1;
                int r = int.Parse(linija[1]) - 1;

                // izdvajamo novi niz
                int[] noviNiz = new int[r - l + 1];
                int br = 0;
                for (int j = l; j <= r; j++)
                {
                    noviNiz[br] = niz[i];
                    br++;
                }

                List<int> lista = new List<int>(noviNiz);

                if (!DaLiJeListaSortirana(lista))
                {
                    int maxListe = lista.Max();
                    for (int k = 0; k < noviNiz.Length; k++)
                    {
                        if(lista[k] == maxListe)
                        {
                            lista.RemoveAt(k);
                            // UkloniElement(noviNiz, noviNiz[k]);
                        }
                        maxListe--;
                    }
                }
                else
                    moze = true;

                if (moze)
                    Console.WriteLine("DA");
                else
                    Console.WriteLine("NE");
            }


            
        }
    }
}