#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define pb push_back
#define pf push_front
typedef long long ll;
string s;
ll seg_len[10000005];
ll seg_left[1000005];
ll seg_right[10000005];
ll min(ll a,ll b){return a<b?a:b;}
typedef struct {ll left;ll right;ll length;} scratch;
void make(int ss,int se,int si)
{
if(ss==se){seg_len[si]=0;seg_left[si]=(s[ss]=='(')?1:0;seg_right[si]=(s[ss]==')')?1:0;/*if(ss==17){puts("sup");}*/return;}
// if((qs<=ss)&&(qe>=se)){return;}
int mid=(ss+se)/2;
make(ss,mid,(2*si)+1);
make(mid+1,se,(2*si)+2);
seg_left[si] = seg_left[(2*si)+1]+seg_left[(2*si)+2]-min(seg_left[(2*si)+1],seg_right[(2*si)+2]);
seg_right[si]= seg_right[(2*si)+1]+seg_right[(2*si)+2]-min(seg_left[(2*si)+1],seg_right[(2*si)+2]);
seg_len[si]=seg_len[(2*si)+1]+seg_len[(2*si)+2]+2*min(seg_left[(2*si)+1],seg_right[(2*si)+2]);
}
const scratch sup={0,0,0};
scratch create(scratch sc1,scratch sc2)
{
scratch sc3;
sc3.left=sc1.left+sc2.left-min(sc1.left,sc2.right);
sc3.right=sc1.right+sc2.right-min(sc1.left,sc2.right);
sc3.length= sc1.length+sc2.length+2*min(sc1.left,sc2.right);
return sc3;
}
scratch sct;
scratch get(int ss,int se,int si,int qs, int qe)
{
if(qs>se||qe<ss)
{
sct.length=0;
sct.left=0;
sct.right=0;
return sct;
}
if((qs<=ss)&&(qe>=se))
{sct.length=seg_len[si];
sct.left=seg_left[si];
sct.right=seg_right[si];
return sct;
}
int mid=(ss+se)/2;
return create(get(ss,mid,(2*si)+1,qs,qe),get(mid+1,se,(2*si)+2,qs,qe));
}
int main()
{
memset(seg_len,0,sizeof seg_len);
memset(seg_left,0,sizeof seg_left);
memset(seg_right,0,sizeof seg_right);
cin>>s;
int n=s.length();
int m ;scanf("%d",&m);
make(0,n-1,0);
// for(int i=0;i<30;i++){printf("%lld %lld %lld -->%d\n",seg_left[i],seg_right[i],seg_len[i],i);}
// puts("___________________________________________");
while(m--)
{
int start,end;
scanf("%d%d",&start,&end);start=start-1;end=end-1;
scratch res=get(0,n-1,0,start,end);
printf("%lld\n",res.length);
}
/*scratch res=get(0,n-1,0,1,2);
printf("%lld\n",res.length);*/
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBwZiBwdXNoX2Zyb250CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpzdHJpbmcgczsKbGwgc2VnX2xlblsxMDAwMDAwNV07CmxsIHNlZ19sZWZ0WzEwMDAwMDVdOwpsbCBzZWdfcmlnaHRbMTAwMDAwMDVdOwoKbGwgbWluKGxsIGEsbGwgYil7cmV0dXJuIGE8Yj9hOmI7fQp0eXBlZGVmIHN0cnVjdCB7bGwgbGVmdDtsbCByaWdodDtsbCBsZW5ndGg7fSBzY3JhdGNoOwp2b2lkIG1ha2UoaW50IHNzLGludCBzZSxpbnQgc2kpCnsKICAgIGlmKHNzPT1zZSl7c2VnX2xlbltzaV09MDtzZWdfbGVmdFtzaV09KHNbc3NdPT0nKCcpPzE6MDtzZWdfcmlnaHRbc2ldPShzW3NzXT09JyknKT8xOjA7LyppZihzcz09MTcpe3B1dHMoInN1cCIpO30qL3JldHVybjt9CiAvLyBpZigocXM8PXNzKSYmKHFlPj1zZSkpe3JldHVybjt9IAogICAgaW50IG1pZD0oc3Mrc2UpLzI7CiAgICBtYWtlKHNzLG1pZCwoMipzaSkrMSk7CiAgICBtYWtlKG1pZCsxLHNlLCgyKnNpKSsyKTsKICAgIHNlZ19sZWZ0W3NpXSA9IHNlZ19sZWZ0WygyKnNpKSsxXStzZWdfbGVmdFsoMipzaSkrMl0tbWluKHNlZ19sZWZ0WygyKnNpKSsxXSxzZWdfcmlnaHRbKDIqc2kpKzJdKTsgIAogICAgc2VnX3JpZ2h0W3NpXT0gc2VnX3JpZ2h0WygyKnNpKSsxXStzZWdfcmlnaHRbKDIqc2kpKzJdLW1pbihzZWdfbGVmdFsoMipzaSkrMV0sc2VnX3JpZ2h0WygyKnNpKSsyXSk7CiAgICBzZWdfbGVuW3NpXT1zZWdfbGVuWygyKnNpKSsxXStzZWdfbGVuWygyKnNpKSsyXSsyKm1pbihzZWdfbGVmdFsoMipzaSkrMV0sc2VnX3JpZ2h0WygyKnNpKSsyXSk7Cn0KY29uc3Qgc2NyYXRjaCBzdXA9ezAsMCwwfTsKc2NyYXRjaCBjcmVhdGUoc2NyYXRjaCBzYzEsc2NyYXRjaCBzYzIpCnsKIHNjcmF0Y2ggc2MzOwogICAgc2MzLmxlZnQ9c2MxLmxlZnQrc2MyLmxlZnQtbWluKHNjMS5sZWZ0LHNjMi5yaWdodCk7CiAgICBzYzMucmlnaHQ9c2MxLnJpZ2h0K3NjMi5yaWdodC1taW4oc2MxLmxlZnQsc2MyLnJpZ2h0KTsKICAgIHNjMy5sZW5ndGg9IHNjMS5sZW5ndGgrc2MyLmxlbmd0aCsyKm1pbihzYzEubGVmdCxzYzIucmlnaHQpOyAKcmV0dXJuIHNjMzsKfQpzY3JhdGNoIHNjdDsKc2NyYXRjaCBnZXQoaW50IHNzLGludCBzZSxpbnQgc2ksaW50IHFzLCBpbnQgcWUpCnsKICAgICBpZihxcz5zZXx8cWU8c3MpCiAgICB7CiAgICAgICAgc2N0Lmxlbmd0aD0wOwogICAgc2N0LmxlZnQ9MDsKICAgIHNjdC5yaWdodD0wOwogICAgIHJldHVybiBzY3Q7ICAKICAgIH0KICAgIAogICBpZigocXM8PXNzKSYmKHFlPj1zZSkpCiAgIHtzY3QubGVuZ3RoPXNlZ19sZW5bc2ldOwogICAgc2N0LmxlZnQ9c2VnX2xlZnRbc2ldOwogICAgc2N0LnJpZ2h0PXNlZ19yaWdodFtzaV07CiAgICAgcmV0dXJuIHNjdDsgIAogICB9IAogIAogICBpbnQgbWlkPShzcytzZSkvMjsKICAgcmV0dXJuIGNyZWF0ZShnZXQoc3MsbWlkLCgyKnNpKSsxLHFzLHFlKSxnZXQobWlkKzEsc2UsKDIqc2kpKzIscXMscWUpKTsKfQoKaW50IG1haW4oKQp7CiAgbWVtc2V0KHNlZ19sZW4sMCxzaXplb2Ygc2VnX2xlbik7CiAgbWVtc2V0KHNlZ19sZWZ0LDAsc2l6ZW9mIHNlZ19sZWZ0KTsKICAgIG1lbXNldChzZWdfcmlnaHQsMCxzaXplb2Ygc2VnX3JpZ2h0KTsKICAgIGNpbj4+czsKICAgIGludCBuPXMubGVuZ3RoKCk7CiAgICBpbnQgbSA7c2NhbmYoIiVkIiwmbSk7CiAgICBtYWtlKDAsbi0xLDApOwogICAvLyBmb3IoaW50IGk9MDtpPDMwO2krKyl7cHJpbnRmKCIlbGxkICVsbGQgJWxsZCAtLT4lZFxuIixzZWdfbGVmdFtpXSxzZWdfcmlnaHRbaV0sc2VnX2xlbltpXSxpKTt9CiAgIC8vIHB1dHMoIl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18iKTsKICAgIHdoaWxlKG0tLSkKICAgIHsKICAgICAgICBpbnQgc3RhcnQsZW5kOwogICAgICAgIHNjYW5mKCIlZCVkIiwmc3RhcnQsJmVuZCk7c3RhcnQ9c3RhcnQtMTtlbmQ9ZW5kLTE7CiAgICAgICAgc2NyYXRjaCByZXM9Z2V0KDAsbi0xLDAsc3RhcnQsZW5kKTsKICAgICAgICBwcmludGYoIiVsbGRcbiIscmVzLmxlbmd0aCk7CiAgICB9Ci8qc2NyYXRjaCByZXM9Z2V0KDAsbi0xLDAsMSwyKTsKICAgICAgICBwcmludGYoIiVsbGRcbiIscmVzLmxlbmd0aCk7Ki8KICAgIHJldHVybiAwOwp9