private int rank(STNode<Key, Value> x, Key key)
	{
		if (x == null)
			return 0;

		int cmp = key.compareTo(x.key);
		if (cmp < 0)
			return rank(x.left, key);
		else if (cmp > 0)
			return rank(x.right, key) + size(x.left) + 1;
		else
			return size(x.left);
	}