modified recursive part
modified test part
added enum ChopType
modified chop to select chop type by enum ChopType
cleaned code
write iterative chop. test succeeded