class UInt256 implements UInt256Value<UInt256> {

  @Override
  public UInt256 divide(UInt256 value) {
    if (value.isZero()) {
      throw new ArithmeticException("divide by zero");
    }
    if (value.equals(UInt256.ONE)) {
      return this;
    }
    return UInt256.valueOf(toBigInteger().divide(value.toBigInteger()));
  }

  private  UInt256(Bytes32 bytes);
  private  UInt256(long value);
  private  UInt256(int[] ints);

}