Написал первым пришедшим в голову способом. Пускай кривой огромный код, но почему проверку не проходит?