Исходные данные хороши, реализация так себе :)