recursive sol
iterative sol:
sol of q145