Elementary divisor domain