protected boolean removerElemento(int x) {
		NoB elem = busca(raiz,x);//busca 
		NoB temp;
		
		if (elem == null) return(false); //nao achou
		else {
			if (elem.chave != x) return(false); //elemento nao encontrado
			else {
				if (elem.pagina != null) { //busca da chave maior do que x
					
					temp = elem.pagina;
					while (temp.pagina != null) temp = temp.pagina;
					elem.chave = temp.proximo.chave; //substituicao de x pela chave maior do que x
					elem = temp.proximo; //o nó a ser removido é folha
					
				}
				temp = elem.anterior;
				temp.proximo = elem.proximo;
				elem.proximo = null;
				elem.anterior = null;
				elem = elem.proximo;
				if (elem != null) elem.anterior = temp;
				elem = temp;
				while (temp != null && temp.pagina != elem) {//pesquisa
					elem = temp;
					temp = temp.anterior;
				}
				elem.chave = elem.chave -1;
				
				if (elem != raiz && elem.chave < MIN_CHAVES ){//necessita concatenacao
					cocatenacaoArvoreB(elem);
				}
				return(true);
			}
		}
	}