class QueueTest {
    public static void main (String [] args) {
	// Der Code des try-Blocks darf nicht verändert werden!
	try {
	    // Warteschlange q erzeugen.
	    Queue q = new ListQueue();

	    // Kommandozeilenargumente verarbeiten.
	    for (String a : args) {
		// "-" bedeutet: erstes Element von q entfernen und ausgeben.
		if (a.equals("-")) {
		    System.out.println(q.dequeue());
		}
		// "@NNN" bedeutet: NNN-tes Element von q abfragen und ausgeben.
		else if (a.charAt(0) == '@') {
		    int j = Integer.parseInt(a.substring(1));
		    System.out.println(q.elem(j));
		}
		// Andere Argumente bedeuten: a am Ende von q anfügen.
		else {
		    q.enqueue(a);
		}
	    }
	}
	// An dieser Stelle sollen catch-Klauseln ergänzt werden!
	// Leerer finally-Block nur, damit der Code auch ohne
	// catch-Klauseln syntaktisch korrekt ist.
	finally {}
    }
}
