struct Tree
{
int left, right;
int max, sum;
};
void update(int id, int pos, int val)
{
if(tree[id].left == tree[id].right)
{
tree[id].sum = tree[id].max = val;
}
else
{
int mid = (tree[id].left == tree[id].right)/2;
if(pos <= m
{
int left, right;
int max, sum;
};
void update(int id, int pos, int val)
{
if(tree[id].left == tree[id].right)
{
tree[id].sum = tree[id].max = val;
}
else
{
int mid = (tree[id].left == tree[id].right)/2;
if(pos <= m