Где то по всей видимости есть логическая ошибка, но я ее не вижу