Lab #3 by Kirill Nikolaev