easy, good
finally pass the last sample, refer others' elegant code
add the algorithm idea