added solution prob 19, prob 18 not finished yet