solution19
solution20
almost got 21