package java_problems.data_structures;

import java.util.ArrayList;
import java.util.Scanner;

/*
 * Given a list, L, of N integers, perform Q queries on the list. Once all queries
 * are completed, print the modified list as a single line of space-separated
 * integers.
 * 
 * Input Format: 
 * The first line contains an integer, N (the initial number of elements in L).
 * The second line contains N space-separated integers describing L.
 * The third line contains an integer, Q (the number of queries).
 * The 2Q subsequent lines describe the queries, and each query is described over
 * two lines:
 * 
 * If the first line of a query contains the String Insert, then the second line
 * contains two space separated integers x and y , and the value y must be inserted into
 * L at index x.
 * If the first line of a query contains the String Delete, then the second line
 * contains index x, whose element must be deleted from L.
 * 
 * Constraints:
 * 1 <= N <= 4000
 * 1 <= Q <= 4000 
 * Each element in is a 32-bit integer.
 * 
 * Output Format: 
 * Print the updated list as a single line of space-separated integers.
 * 
 * Sample Input: 
 * 5
 * 12 0 1 78 12
 * 2
 * Insert
 * 5 23
 * Delete
 * 0
 * 
 * Sample Output: 
 * 0 1 78 12 23
 */
public class JavaList {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int numElements = sc.nextInt();
        
        ArrayList<Integer> aList = new ArrayList<>();
        for (int i = 0; i < numElements; i++) {
            aList.add(sc.nextInt());
        }
        int numQueries = sc.nextInt();
        for (int i = 0; i < numQueries; i++) {
            String command = sc.next();
            if (command.equals("Insert")) {
                int index = sc.nextInt();
                int value = sc.nextInt();
                aList.add(index, value);
            } else {
                int index = sc.nextInt();
                aList.remove(index);
            }
        }
        for (int num : aList) {
            System.out.print(num + " ");
        }
        sc.close();
    }
}
Add JavaList