// Path: src/main/java/org/jheaps/Constants.java
// public class Constants {
// 
//     /**
//      * Library name
//      */
//     public static final String NAME = "JHeaps";
// 
//     /**
//      * Global debug flag which affects compiled code
//      */
//     public static final boolean DEBUG = false;
// 
//     /**
//      * Global level one debug flag which affects compiled code.
//      */
//     public static final boolean DEBUG_LEVEL1 = false;
// 
//     /**
//      * Global level two debug flag which affects compiled code
//      */
//     public static final boolean DEBUG_LEVEL2 = false;
// 
//     /**
//      * Global benchmarking flag. This flag enables sanity checks when the code
//      * is not for benchmarking performance. When benchmarking we assume that the
//      * user provided the correct input.
//      */
//     public static final boolean NOT_BENCHMARK = true;
// 
//     private Constants() {
//     }
// 
// }
// 
// Path: src/main/java/org/jheaps/ValueHeap.java
// public interface ValueHeap<K, V> extends Heap<K> {
// 
//     /**
//      * Insert an element into the heap.
//      *
//      * @param key
//      *            the key to insert
//      * @param value
//      *            the value to insert
//      */
//     void insert(K key, V value);
// 
//     /**
//      * Find the value of an element with the minimum key.
//      *
//      * @return the value of an element with the minimum key
//      * @throws NoSuchElementException
//      *             if the heap is empty
//      */
//     V findMinValue();
// 
// }


import java.io.Serializable;
import java.lang.reflect.Array;
import java.util.Comparator;
import java.util.NoSuchElementException;
import org.jheaps.Constants;
import org.jheaps.ValueHeap;
import org.jheaps.annotations.ConstantTime;
import org.jheaps.annotations.LogarithmicTime;
     */
    @Override
    @ConstantTime
    public long size() {
        return size;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    @ConstantTime
    public void clear() {
        size = 0;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Comparator<? super Integer> comparator() {
        return null;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    @ConstantTime
    public Integer findMin() {
// Path: src/main/java/org/jheaps/Constants.java
// public class Constants {
// 
//     /**
//      * Library name
//      */
//     public static final String NAME = "JHeaps";
// 
//     /**
//      * Global debug flag which affects compiled code
//      */
//     public static final boolean DEBUG = false;
// 
//     /**
//      * Global level one debug flag which affects compiled code.
//      */
//     public static final boolean DEBUG_LEVEL1 = false;
// 
//     /**
//      * Global level two debug flag which affects compiled code
//      */
//     public static final boolean DEBUG_LEVEL2 = false;
// 
//     /**
//      * Global benchmarking flag. This flag enables sanity checks when the code
//      * is not for benchmarking performance. When benchmarking we assume that the
//      * user provided the correct input.
//      */
//     public static final boolean NOT_BENCHMARK = true;
// 
//     private Constants() {
//     }
// 
// }
// 
// Path: src/main/java/org/jheaps/ValueHeap.java
// public interface ValueHeap<K, V> extends Heap<K> {
// 
//     /**
//      * Insert an element into the heap.
//      *
//      * @param key
//      *            the key to insert
//      * @param value
//      *            the value to insert
//      */
//     void insert(K key, V value);
// 
//     /**
//      * Find the value of an element with the minimum key.
//      *
//      * @return the value of an element with the minimum key
//      * @throws NoSuchElementException
//      *             if the heap is empty
//      */
//     V findMinValue();
// 
// }


// Path: src/main/java/org/jheaps/array/BinaryArrayIntegerValueHeap.java
import java.io.Serializable;
import java.lang.reflect.Array;
import java.util.Comparator;
import java.util.NoSuchElementException;
import org.jheaps.Constants;
import org.jheaps.ValueHeap;
import org.jheaps.annotations.ConstantTime;
import org.jheaps.annotations.LogarithmicTime;

     */
    @Override
    @ConstantTime
    public long size() {
        return size;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    @ConstantTime
    public void clear() {
        size = 0;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Comparator<? super Integer> comparator() {
        return null;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    @ConstantTime
    public Integer findMin() {
        if (Constants.NOT_BENCHMARK && size == 0) {