practice code for CtCI by FredYim