Подскажите,где ошибка и верна ли логика?