Слишком монстуозное условие. Нужно идти с другой стороны.