The art of problem solving prealgebra richard rusczyk david patrick ravi boppana July 8, 2019 16 32 64 128