pub fn div_rem(u: &BigUint, d: &BigUint) -> (BigUint, BigUint)