Author: S.K. Godunov and V.S. Ryabenki