/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
	      List list2 = Arrays.asList("1", "2", "3", "4", "5","6","7","8","9","10"); 
          List list3 = Arrays.asList("1", "2", "3", "4", "5","6","7","8","9","10", "11");
          
          
        
          arraysList(list2);          
          linkedList(list2);
          
          arraysList(list3);          
          linkedList(list3);
	}
	
	private static void linkedList(List list){
    LinkedList<String> in = new LinkedList<String>(list);
    LinkedList<String> out = new LinkedList<String>();

    out.addFirst(in.getFirst());

    Iterator<String> it = in.iterator();
    it.next();

    Iterator<String> rit = in.descendingIterator();
    rit.next();

    int median = in.size() / 2 - 1;

    for (int i = 0; i < median; i++) {
        out.add(rit.next());
        out.add(it.next());
    }

    if (in.size() % 2 == 1) {
        out.addLast(it.next());
    }

    out.addLast(in.getLast());
    System.out.println("LinkedList: "+out + ".size("+out.size()+")");
}

    private static void arraysList(List list) {
        ArrayList<String> in  = new ArrayList<String>(list);
        ArrayList<String> out = new ArrayList<String>(in.size()); 
        
        out.add(in.get(0));
        int last = in.size() - 1;
       
        int median =  in.size() / 2 ;
        for (int i = 1; i < median ; i++) {
            String r = in.get(in.size() - i - 1);
            String l = in.get(i);
            out.add(r);
            out.add(l);
        }
      
        if (in.size() % 2 == 1) {
                out.add(in.size() - 2, in.get(median));
        }
         out.add(last, in.get(last)); 

         System.out.println("ArrayList : "+out + ".size("+out.size()+")");
    }
	
}