import java.util.ArrayList;

public class PriorityQueue<T extends Comparable<? super T>> extends ArrayList<T> {
	
	public boolean offer(T e){
		return add(e);
	}
	
	public T peek(){
		return findMin();
	}
	
	public T poll(){
		T temp = findMin();
		remove(temp);
		return temp;
	}

	private T findMin(){
		if (size() == 0) return null;
		T temp = get(0);
		for (int i = 1; i < size(); i++) {
			if (temp.compareTo(get(i)) > 0) {
				temp = get(i);
			}
		}
		return temp;
	}
	
}