Author: Iaroshevsky Efim.