struct Tree{
static const int N=1010;
int c[N];
int n;
//求出x最有边第一个1后面有几个0
inline int lowbit(int x){
return x&(-x);
}
//后缀更新
void add(int k,int x){
while(k<=n){
c[k]+=x;
k+=lowbit(k);
}
}
//前缀求和
int sum(int x){
int sum=0;
while(x>0){
sum+=c[x];
x-=lowbit(x);
}
return sum;
}
}T;