factorial problem with recursive solution