The problem is the condition and its OR operator (

`||`

) you use, Actually your define the **union**of sets {

`x < 1`

} and {`x > 3`

}, which is the set `outside`

of the segment [`1, 3`

]. Should initial value be 3 or more, it will grow infinitely. Did you really mean AND (

`&&`

) operator?