<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import java.io.*;
import java.util.*;
import java.text.*;

public class Lists {
    static int SIZE = 10000;

    public static void main(String args[]) {
	int n = Integer.parseInt(args[0]);
	int result = 0;
	for (int i = 0; i &lt; n; i++) {
	    result = test_lists();
	}
	System.out.println(result);
    }
    public static int test_lists() {
	int result = 0;
	// create a list of integers (Li1) from 1 to SIZE
	LinkedList Li1 = new LinkedList();
	for (int i = 1; i &lt; SIZE+1; i++) {
	    Li1.addLast(new Integer(i));
	}
	// copy the list to Li2 (not by individual items)
	LinkedList Li2 = new LinkedList(Li1);
	LinkedList Li3 = new LinkedList();
	// remove each individual item from left side of Li2 and
	// append to right side of Li3 (preserving order)
	while (! Li2.isEmpty()) {
	    Li3.addLast(Li2.removeFirst());
	}
	// Li2 must now be empty
	// remove each individual item from right side of Li3 and
	// append to right side of Li2 (reversing list)
	while (! Li3.isEmpty()) {
	    Li2.addLast(Li3.removeLast());
	}
	// Li3 must now be empty
	// reverse Li1
    Collections.reverse(Li1);

	// check that first item is now SIZE
	if (((Integer)Li1.getFirst()).intValue() != SIZE) {
	    System.err.println("first item of Li1 != SIZE");
	    return(0);
	}
	// compare Li1 and Li2 for equality
	if (! Li1.equals(Li2)) {
	    System.err.println("Li1 and Li2 differ");
	    System.err.println("Li1:" + Li1);
	    System.err.println("Li2:" + Li2);
	    return(0);
	}
	// return the length of the list
	return(Li1.size());
    }
}

</pre></body></html>