Solved Unique Binary Search Trees II, Very tough problem