class ArrayList {
	ArrayList(int capacity) {
		this.capacity = capacity;
		arr = new int [capacity];
	}
	ArrayList() {this(100);}

	void add(int val) {
		checkSize();
		arr[size++] = val;
	}
	int get(int index) {return arr[index];}
	void set(int index, int val) {arr[index] = val;}
	int size() {return size;}
	void checkSize() {
		if (size < capacity) return;
		capacity *= 2;
		int [] newArr = new int[capacity];
		for (int i = 0; i < size; i++)
			newArr[i] = arr[i];
		arr = newArr;
	}

	int [] arr;
	int size = 0, capacity;
}
