public void insert (BSTNode_with_rank node, int x){//OVERLOAD
		if(root == null) {
			System.out.println("the root is null");
			BSTNode_with_rank temp = new BSTNode_with_rank(x);
			root=temp;
			size++;
		}
		else if(node == null) {
			System.out.println("the node is null");
			BSTNode_with_rank temp = new BSTNode_with_rank(x);
			node = temp;
			size++;
		}
		else if (x < node.data) {
			node.rank++;
			if (node.left == null) {
				node.left=new BSTNode_with_rank(x);
				size++;
			}
			else insert(node.left, x);
		}
		else{
			if (node.right == null) {
				node.right = new BSTNode_with_rank(x);
				size++;
			}
			else insert(node.right, x);
		}
	}