Не понимаю, что не так. Логика вроде верная. Ошибку в реализации не могу сам найти. Подскажите, пожалуйста.