public AVL rotD(AVL pere){
		int a, b;
		boolean pos = false;
		AVL tmp = new AVL();
		if(pere != null){
			if(pere.filsD_ == this){
				pos = true;
			}
		}
		tmp = filsG_;
		a = balance_;
		b = tmp.balance_;
		filsG_ = tmp.filsD_;
		balance_ = a - Math.min(b,0) + 1;
		tmp.balance_ = Math.max(a+2, Math.max(a+b+2, b+1));
		tmp.filsD_ = new AVL(racine_);
		tmp.filsD_.balance_ = balance_;
		tmp.filsD_.filsD_ = filsD_; 
		tmp.filsD_.filsG_ = filsG_;
		racine_ = tmp.racine_;
		balance_ = tmp.balance_;
		filsD_ = tmp.filsD_;
		filsG_ = tmp.filsG_;
		if(pere != null){
			if(pos){
				pere.filsD_ = tmp;
			}
			else{
				pere.filsG_ = tmp;
			}
		}
		return tmp;
	}