class Bag {
int[] a;
//@ invariant a != null;
int n;
//@ invariant 0 <= n && n <= a.length;
Bag(/*@ non_null */ int[] input) {
n = input.length;
a = new int[n];
System.arraycopy(input, 0, a, 0, n);
}
//@ requires n >= 1;
int extractMin() {
int m = Integer.MAX_VALUE;
int mindex = 0;
for (int i = 0; i < n; i++) {
if (a[i] < m) {
mindex = i;
m = a[i];
}
}
n--;
a[mindex] = a[n];
return m;
}
}