Author: Nepomniaschii Nikolai.