Новый вариант решения, с самого начала.