solve 16
solve 17
solve 18