Оригинальный подход. Правда немножко затянуто в некоторых местах.