Does not break with negative numbers