using System;
using System.Collections.Generic;
namespace poklon
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            string[] unos = Console.ReadLine().Split();
            
            int[] niz = new int[n];
            for(int i = 0; i < n; i++)
                niz[i] = int.Parse(unos[i]);
            int[] pomocni = new int[n];
            List<int> neresivi = new List<int>();
            for(int i = 0; i < n; i++)
            {
                if (i != n-1 && niz[i] <= niz[i + 1])
                    pomocni[i] = 0;
                else if (i != n-1 && i != 0 && niz[i - 1] > niz[i + 1])
                {
                    neresivi.Add(i);
                    pomocni[i] = -1;
                }
                else pomocni[i] = -1;
            }

            List<int> neresivi1 = new List<int>();
            int q = int.Parse(Console.ReadLine());
            for (int i = 0; i < q; i++)
            {
                bool T = true;
                string[] unos1 = Console.ReadLine().Split();
                int x = int.Parse(unos1[0])-1;
                int y = int.Parse(unos1[1])-2;
                
                if (x == y)
                { Console.WriteLine("DA"); continue; }
                if(x > y)
                { Console.WriteLine("DA"); continue; }

                for (int j = 0; j < neresivi.Count; j++)
                    if (x < neresivi[j] && neresivi[j] <= y)
                    {
                        Console.WriteLine("NE");
                        T = false;
                        break;
                    }
                if (!T) continue;

                for (int j = 0; j < neresivi1.Count; j++)
                {
                    if(x <= neresivi1[j] && neresivi1[j+1] <= y)
                    {
                        Console.WriteLine("NE");
                        T = false;
                        break;
                    }
                    j++;
                }
                if (!T) continue;

                int zbir = 0;
                for (int j = x; j <= y && zbir != -2; j++)
                    zbir += pomocni[j];
                if (zbir == -2)
                {
                    Console.WriteLine("NE");
                    neresivi1.Add(x);
                    neresivi1.Add(y);
                }
                else Console.WriteLine("DA");
            }
        }
    }
}