node *findlastnode(node *p){node *q=p->right;if(q!=NULL){while(q->left!=NULL) q=q->left; return q;}
node *par=p->parent;while(par->left!=p){p=par;par=par->parent;}return par;}