#include <bits/stdc++.h>
using namespace std;
#define ll long long int
#define ull unsigned long long int
#define ld long double
#define cout(var) cout<<var<<endl
#define endl '\n'
#define loop(a,b,c) for(ll i=a;i<=b;i+=c)
#define intarr(arr,n) ll arr[n];for(ll i=0;i<n;i++)cin>>arr[i]
#define inparr(arr,n) for(ll i=0;i<n;i++)cin>>arr[i]
#define inpvec(vec,n) for(ll i=0;i<n;i++){ll var;cin>>var;vec.push_back(var);}
#define pb push_back
#define fastio ios_base::sync_with_stdio(false);cin.tie(NULL);
#define mod 1000000007
#define newline cout<<endl
#define ump unordered_map<ll,ll>
#define vec vector<ll>
#define mkp make_pair
#define disp(var) cout<<var<<" "
bool prime(ll n)
{
if (n <= 1) return false;
if (n <= 3) return true;
if (n%2 == 0 || n%3 == 0) return false;
for (ll i=5; i*i<=n; i=i+6)
if (n%i == 0 || n%(i+2) == 0)
return false;
return true;
}
ll power(ll x,ll y)
{
ll temp;
if(y==0)
return 1;
temp=power(x,y/2);
if (y%2==0)
return temp*temp;
else
return x*temp*temp;
}
ll no_of_factors(ll n)
{
ll cnt = 0;
for (ll i = 1; i <= sqrt(n); i++)
{
if (n % i == 0)
{
if (n / i == i)
cnt++;
else
cnt = cnt + 2;
}
}
return cnt;
}
ll gcd(ll a,ll b)
{
if (b==0)
return a;
return gcd(b,a%b);
}
bool subsequence_checker(string str1, string str2, ll m, ll n)
{
if (m == 0) return true;
if (n == 0) return false;
if (str1[m-1] == str2[n-1])
return subsequence_checker(str1, str2, m-1, n-1);
return subsequence_checker(str1, str2, m, n-1);
}
bool isPowerOfTwo (ll x)
{
return x && (!(x&(x-1)));
}
bool incs(ll *a,ll n)
{
if(n==1)
return true;
for(ll i=0;i<n-1;i++)
{
if(a[i+1]<=a[i])
return false;
}
return true;
}
bool decs(ll *a,ll n)
{
if(n==1)
return true;
for(ll i=0;i<n-1;i++)
{
if(a[i+1]>=a[i])
return false;
}
return true;
}
struct test
{
public:
ll x,y,z;
};
bool compare(const test &aa,const test &bb)
{
if(aa.x==bb.x)
{
if(aa.y==bb.y)
{
return aa.z<bb.z;
}
return aa.y<bb.y;
}
return aa.x<bb.x;
}
ll mm(ll a, ll m=mod)
{
ll m0 = m;
ll y = 0, x = 1;
if (m == 1)
return 0;
while (a > 1)
{
// q is quotient
ll q = a / m;
ll t = m;
// m is remainder now, process same as
// Euclid's algo
m = a % m, a = t;
t = y;
// Update y and x
y = x - q * y;
x = t;
}
// Make x positive
if (x < 0)
x += m0;
return x;
}
ll bs=224;
ll cntt=0;
ll f[1000001]={0};
ll a[200001];
struct query
{
ll l,r,i;
};
query qu[200001];
ll ans[200001];
ll cnt[2]={0};
bool comp(query a,query b)
{
if(a.l/bs!=b.l/bs)
{
return a.l/bs<b.l/bs;
}
return a.r<b.r;
}
void add(ll pos)
{
if(a[pos]==1)
cnt[0]++;
if(a[pos]==-1)
cnt[1]++;
}
void remove(ll pos)
{
if(a[pos]==1 && cnt[0]!=0)
cnt[0]--;
if(a[pos]==-1 && cnt[1]!=0)
cnt[1]--;
}
void AcDegaYe()
{
ll n,q;
cin>>n>>q;
for(ll i=0;i<n;i++)
cin>>a[i];
//ll q;
//cin>>q;
for(ll i=0;i<q;i++)
{
cin>>qu[i].l>>qu[i].r;
qu[i].l--;
qu[i].r--;
qu[i].i=i;
}
sort(qu,qu+q,comp);
//ll ans[q];
ll ml=0,mr=-1;
//cnt=cnt+f[a[ml]]*f[a[ml]]*a[ml];
for(ll i=0;i<q;i++)
{
ll left=qu[i].l;
ll right=qu[i].r;
while(ml>left)
{
ml--;
add(ml);
}
while(mr<right)
{
mr++;
add(mr);
}
while(ml<left)
{
remove(ml);
ml++;
}
while(mr>right)
{
remove(mr);
mr--;
}
ans[qu[i].i]=min(cnt[0],cnt[1])*2;
}
for(ll i=0;i<q;i++)
{
cout(ans[i]);
}
}
int main()
{
fastio;
//ll t;
//cin>>t;
ll t=1;
while(t--)
{
AcDegaYe();
}
cerr << "\nTime elapsed: " << 1000 * clock() / CLOCKS_PER_SEC << "ms\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7IAojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nIGludAojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgY291dCh2YXIpIGNvdXQ8PHZhcjw8ZW5kbAojZGVmaW5lIGVuZGwgJ1xuJwojZGVmaW5lIGxvb3AoYSxiLGMpIGZvcihsbCBpPWE7aTw9YjtpKz1jKQojZGVmaW5lIGludGFycihhcnIsbikgbGwgYXJyW25dO2ZvcihsbCBpPTA7aTxuO2krKyljaW4+PmFycltpXQojZGVmaW5lIGlucGFycihhcnIsbikgZm9yKGxsIGk9MDtpPG47aSsrKWNpbj4+YXJyW2ldCiNkZWZpbmUgaW5wdmVjKHZlYyxuKSBmb3IobGwgaT0wO2k8bjtpKyspe2xsIHZhcjtjaW4+PnZhcjt2ZWMucHVzaF9iYWNrKHZhcik7fQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGZhc3RpbyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTtjaW4udGllKE5VTEwpOwojZGVmaW5lIG1vZCAxMDAwMDAwMDA3CiNkZWZpbmUgbmV3bGluZSBjb3V0PDxlbmRsCiNkZWZpbmUgdW1wIHVub3JkZXJlZF9tYXA8bGwsbGw+CiNkZWZpbmUgdmVjIHZlY3RvcjxsbD4KI2RlZmluZSBta3AgbWFrZV9wYWlyCiNkZWZpbmUgZGlzcCh2YXIpIGNvdXQ8PHZhcjw8IiAiCmJvb2wgcHJpbWUobGwgbikgCnsgCiAgICBpZiAobiA8PSAxKSAgcmV0dXJuIGZhbHNlOyAKICAgIGlmIChuIDw9IDMpICByZXR1cm4gdHJ1ZTsgCiAgICBpZiAobiUyID09IDAgfHwgbiUzID09IDApIHJldHVybiBmYWxzZTsgCiAgCiAgICBmb3IgKGxsIGk9NTsgaSppPD1uOyBpPWkrNikgCiAgICAgICAgaWYgKG4laSA9PSAwIHx8IG4lKGkrMikgPT0gMCkgCiAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAKICAKICAgIHJldHVybiB0cnVlOyAKfQpsbCBwb3dlcihsbCB4LGxsIHkpIAp7IAogICAgbGwgdGVtcDsgCiAgICBpZih5PT0wKSAKICAgICAgICByZXR1cm4gMTsgCiAgICB0ZW1wPXBvd2VyKHgseS8yKTsgCiAgICBpZiAoeSUyPT0wKSAKICAgICAgICByZXR1cm4gdGVtcCp0ZW1wOyAKICAgIGVsc2UKICAgICAgICByZXR1cm4geCp0ZW1wKnRlbXA7IAp9IApsbCBub19vZl9mYWN0b3JzKGxsIG4pIAp7IAogICAgbGwgY250ID0gMDsgCiAgICBmb3IgKGxsIGkgPSAxOyBpIDw9IHNxcnQobik7IGkrKykgCiAgICB7IAogICAgICAgIGlmIChuICUgaSA9PSAwKSAKICAgICAgICB7IAogICAgICAgICAgICBpZiAobiAvIGkgPT0gaSkgCiAgICAgICAgICAgICAgICBjbnQrKzsgCiAgCiAgICAgICAgICAgIGVsc2UgCiAgICAgICAgICAgICAgICBjbnQgPSBjbnQgKyAyOyAKICAgICAgICB9IAogICAgfSAKICAgIHJldHVybiBjbnQ7IAp9IApsbCBnY2QobGwgYSxsbCBiKSAKeyAKICAgIGlmIChiPT0wKSAKICAgICAgICByZXR1cm4gYTsgCiAgICByZXR1cm4gZ2NkKGIsYSViKTsgICAgICAKfSAKYm9vbCBzdWJzZXF1ZW5jZV9jaGVja2VyKHN0cmluZyBzdHIxLCBzdHJpbmcgc3RyMiwgbGwgbSwgbGwgbikgCnsgCiAgICBpZiAobSA9PSAwKSByZXR1cm4gdHJ1ZTsgCiAgICBpZiAobiA9PSAwKSByZXR1cm4gZmFsc2U7IAogICAgaWYgKHN0cjFbbS0xXSA9PSBzdHIyW24tMV0pIAogICAgICAgIHJldHVybiBzdWJzZXF1ZW5jZV9jaGVja2VyKHN0cjEsIHN0cjIsIG0tMSwgbi0xKTsgCiAgICByZXR1cm4gc3Vic2VxdWVuY2VfY2hlY2tlcihzdHIxLCBzdHIyLCBtLCBuLTEpOyAKfQpib29sIGlzUG93ZXJPZlR3byAobGwgeCkgIAp7ICAKICAgIHJldHVybiB4ICYmICghKHgmKHgtMSkpKTsgIAp9ICAKYm9vbCBpbmNzKGxsICphLGxsIG4pCnsKICAgIGlmKG49PTEpCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICBmb3IobGwgaT0wO2k8bi0xO2krKykKICAgIHsKICAgICAgICBpZihhW2krMV08PWFbaV0pCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwp9CmJvb2wgZGVjcyhsbCAqYSxsbCBuKQp7CiAgICBpZihuPT0xKQogICAgICAgIHJldHVybiB0cnVlOwogICAgZm9yKGxsIGk9MDtpPG4tMTtpKyspCiAgICB7CiAgICAgICAgaWYoYVtpKzFdPj1hW2ldKQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfQpzdHJ1Y3QgdGVzdAp7CnB1YmxpYzoKICAgIGxsIHgseSx6Owp9Owpib29sIGNvbXBhcmUoY29uc3QgdGVzdCAmYWEsY29uc3QgdGVzdCAmYmIpCnsKICAgIGlmKGFhLng9PWJiLngpCiAgICB7CiAgICAgICAgaWYoYWEueT09YmIueSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhYS56PGJiLno7CiAgICAgICAgfQogICAgICAgIHJldHVybiBhYS55PGJiLnk7CiAgICB9CiAgICByZXR1cm4gYWEueDxiYi54Owp9CiAKbGwgbW0obGwgYSwgbGwgbT1tb2QpIAp7IAogICAgbGwgbTAgPSBtOyAKICAgIGxsIHkgPSAwLCB4ID0gMTsgCiAgCiAgICBpZiAobSA9PSAxKSAKICAgICAgcmV0dXJuIDA7IAogIAogICAgd2hpbGUgKGEgPiAxKSAKICAgIHsgCiAgICAgICAgLy8gcSBpcyBxdW90aWVudCAKICAgICAgICBsbCBxID0gYSAvIG07IAogICAgICAgIGxsIHQgPSBtOyAKICAKICAgICAgICAvLyBtIGlzIHJlbWFpbmRlciBub3csIHByb2Nlc3Mgc2FtZSBhcyAKICAgICAgICAvLyBFdWNsaWQncyBhbGdvIAogICAgICAgIG0gPSBhICUgbSwgYSA9IHQ7IAogICAgICAgIHQgPSB5OyAKICAKICAgICAgICAvLyBVcGRhdGUgeSBhbmQgeCAKICAgICAgICB5ID0geCAtIHEgKiB5OyAKICAgICAgICB4ID0gdDsgCiAgICB9IAogIAogICAgLy8gTWFrZSB4IHBvc2l0aXZlIAogICAgaWYgKHggPCAwKSAKICAgICAgIHggKz0gbTA7IAogIAogICAgcmV0dXJuIHg7IAp9IApsbCBicz0yMjQ7CmxsIGNudHQ9MDsKbGwgZlsxMDAwMDAxXT17MH07CmxsIGFbMjAwMDAxXTsKc3RydWN0IHF1ZXJ5CnsKICAgIGxsIGwscixpOwp9OwpxdWVyeSBxdVsyMDAwMDFdOwpsbCBhbnNbMjAwMDAxXTsKbGwgY250WzJdPXswfTsKYm9vbCBjb21wKHF1ZXJ5IGEscXVlcnkgYikKewogICAgaWYoYS5sL2JzIT1iLmwvYnMpCiAgICB7CiAgICAgICAgcmV0dXJuIGEubC9iczxiLmwvYnM7CiAgICB9CiAgICByZXR1cm4gYS5yPGIucjsKfQp2b2lkIGFkZChsbCBwb3MpCnsKICAgIGlmKGFbcG9zXT09MSkKICAgICAgICBjbnRbMF0rKzsKICAgIGlmKGFbcG9zXT09LTEpCiAgICAgICAgY250WzFdKys7Cn0Kdm9pZCByZW1vdmUobGwgcG9zKQp7CiAgICBpZihhW3Bvc109PTEgJiYgY250WzBdIT0wKQogICAgICAgIGNudFswXS0tOwogICAgaWYoYVtwb3NdPT0tMSAmJiBjbnRbMV0hPTApCiAgICAgICAgY250WzFdLS07Cn0Kdm9pZCBBY0RlZ2FZZSgpCnsKICAgIGxsIG4scTsKICAgIGNpbj4+bj4+cTsKICAgIGZvcihsbCBpPTA7aTxuO2krKykKICAgICAgICBjaW4+PmFbaV07CiAgICAvL2xsIHE7CiAgICAvL2Npbj4+cTsKICAgIGZvcihsbCBpPTA7aTxxO2krKykKICAgIHsKICAgICAgICBjaW4+PnF1W2ldLmw+PnF1W2ldLnI7CiAgICAgICAgcXVbaV0ubC0tOwogICAgICAgIHF1W2ldLnItLTsKICAgICAgICBxdVtpXS5pPWk7CiAgICB9CiAgICBzb3J0KHF1LHF1K3EsY29tcCk7CiAgICAvL2xsIGFuc1txXTsKICAgIGxsIG1sPTAsbXI9LTE7CiAgICAvL2NudD1jbnQrZlthW21sXV0qZlthW21sXV0qYVttbF07CiAgICBmb3IobGwgaT0wO2k8cTtpKyspCiAgICB7CiAgICAgICAgbGwgbGVmdD1xdVtpXS5sOwogICAgICAgIGxsIHJpZ2h0PXF1W2ldLnI7CiAgICAgICAgd2hpbGUobWw+bGVmdCkKICAgICAgICB7CiAgICAgICAgICAgIG1sLS07CiAgICAgICAgICAgIGFkZChtbCk7CiAgICAgICAgfQogICAgICAgIHdoaWxlKG1yPHJpZ2h0KQogICAgICAgIHsKICAgICAgICAgICAgbXIrKzsKICAgICAgICAgICAgYWRkKG1yKTsKICAgICAgICB9CiAgICAgICAgd2hpbGUobWw8bGVmdCkKICAgICAgICB7CiAgICAgICAgICAgIHJlbW92ZShtbCk7CiAgICAgICAgICAgIG1sKys7CiAgICAgICAgfQogICAgICAgIHdoaWxlKG1yPnJpZ2h0KQogICAgICAgIHsKICAgICAgICAgICAgcmVtb3ZlKG1yKTsKICAgICAgICAgICAgbXItLTsKICAgICAgICB9CiAgICAgICAgYW5zW3F1W2ldLmldPW1pbihjbnRbMF0sY250WzFdKSoyOwogICAgfQogICAgZm9yKGxsIGk9MDtpPHE7aSsrKQogICAgewogICAgICAgIGNvdXQoYW5zW2ldKTsKICAgIH0KfQogCmludCBtYWluKCkKeyAgIAogICAgZmFzdGlvOwogICAgLy9sbCB0OwogICAgLy9jaW4+PnQ7CiAgICBsbCB0PTE7CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgQWNEZWdhWWUoKTsKICAgIH0KICAgIGNlcnIgPDwgIlxuVGltZSBlbGFwc2VkOiAiIDw8IDEwMDAgKiBjbG9jaygpIC8gQ0xPQ0tTX1BFUl9TRUMgPDwgIm1zXG4iOwogICAgcmV0dXJuIDA7Cn0=