namespace ConsoleApp3
{
    internal class Program
    {
        static int Res(int n, Dictionary<int,int> a)
        {
            bool t = true;
            int br = 0, max = int.MinValue;
            List<int> b = new List<int>();
            for(int i = 0; i < n; i++)
            {
                b.Add(a.ElementAt(i).Key);
                for (int j = 0; j < n; j++)
                {
                    if (b.Contains(a.ElementAt(j).Key))
                    {
                        continue;
                    }
                    t = true;
                    foreach(int x in b)
                    {
                        if ((x & a.ElementAt(j).Key) <= (x ^ a.ElementAt(j).Key))
                        {
                            t = false;
                            break;
                        }
                    }
                    if (t)
                    {
                        b.Add(a.ElementAt(j).Key);
                    }
                }
                br = 0;
                foreach(int x in b)
                {
                    br += a[x];
                }
                if (br > max)
                {
                    max = br;
                }
                b.Clear();
            }
            return max;
        }
        static void Main(string[] args)
        {
            string[] c = Console.ReadLine().Split();
            int n = int.Parse(c[0]), k = int.Parse(c[1]);
            int[] a = new int[n];
            Dictionary<int,int> b = new Dictionary<int,int>();
            c = Console.ReadLine().Split();
            for(int i = 0; i < n; i++)
            {
                a[i] = int.Parse(c[i]);
            }
            for(int i = 0; i < k; i++)
            {
                c = Console.ReadLine().Split();
                for(int j = int.Parse(c[0]); j < int.Parse(c[1]); j++)
                {
                    if (b.ContainsKey(a[j]))
                    {
                        b[a[j]]++;
                    }
                    else
                    {
                        b.Add(a[j], 1);
                    }
                }
                Console.WriteLine(Res(b.Count(),b));
                b.Clear();
            }
        }
    }
}