GCD handles negatives, zero