P06 non-api solution
P07 solution