problem 174, add some test cases