промежуточный вариант
промежуточный вариант
финишный вариант (не тестирован)