#include<iostream>++
#define MAX 2
using namespace std;
void unos(unsigned long int a[], unsigned int n)
{
    for(int i=0;i<n;i++)
        cin>>a[i];
}
void unosmatrice(int b[][MAX], int q)
{
    for(int i=0;i<q;i++)
        for(int j=0;j<2;j++)
            cin>>b[i][j];
}
void ispismatrice(int a[][MAX], int q)
{
    for(int i=0;i<q;i++)
    {
        for(int j=0;j<2;j++)
            cout<<a[i][j];
        cout<<endl;
    }
}
int hormutacija(unsigned long int a[], int l, int r)
{
    for(int i=l;i<=r;i++)
    {
        int br=0;
        int l=0;
        while(l+i<r)
        {
            if(a[i]&a[i+l]>a[i]^a[i+l]) br++;
            l++;
        }
        return br;
    }
}
int main()
{
    unsigned int n,q,l,r;
    cin>>n>>q;
    unsigned long int a[n];
    int b[q][MAX];
    unos(a,n);
    unosmatrice(b,q);
    for(int i=0;i<q;i++)
    {
        int l=b[i][0];
        int r=b[i][1];
        cout<<hormutacija(a,l,r)<<endl;;
    }
    return 0;
}