class A<T> extends ArrayList<T> {
int i;
A(int lowerBound) { i = lowerBound; }
public void add(int i, T x) {
super.add(i - this.i, x);
}
public T set(int i, T x) {
return super.set(i - this.i, x);
}
public T get(int i) {
return super.get(i - this.i);
}
}
class A<T> extends ArrayList<T> {
int i;
A(int lowerBound) { i = lowerBound; }
public void add(int i, T x) {
super.add(i - this.i, x);
}
public T set(int i, T x) {
return super.set(i - this.i, x);
}
public T get(int i) {
return super.get(i - this.i);
}
}