https://stepik.org/lesson/237240/step/9 solution
https://stepik.org/lesson/237240/step/9?unit=209628 solution