void push(){ if(!tag)return; if(!l)l=new node(); if(!r)r=new node(); l->addtag(tag); r->addtag(tag); tag=0; }
void push(){ if(!tag)return; if(l)l->addtag(); if(r)r->addtag(); tag=0; }
void push(){ l->addtag(tag); r->addtag(tag); tag=data(0,1); }