#include using namespace std; const int MAX_N=1e6+5; int t[MAX_N*10],go[MAX_N*10]; int n,q,tot=0; int readint(); void build(int s,int e,int n,int &tot); void search(int t[],int s,int e,int n,int l,int r); int main(int argc,char *argv[]){ #ifdef OITEST #define AS(c){if(!(c)){cerr<<"assert failed: "<<#c<>cans; ss>>myans; AS(cans==myans) #endif } } void build(int s,int e,int n,int &tot){ go[++tot]=n; if(s==e){ return; } int m=s+(e-s)/2; build(s, m, n*2, tot); build(m+1,e,n*2+1,tot); } void search(int t[],int s,int e,int n,int l,int r){ if(l<=s&&e<=r){ t[n]++; return; } if(e