import java.util.*;

public class Main {
	List l1, l2, l3, l4, l5, l6, l7, l8;
	
	Main() {
		System.out.println(f(l1));
		System.out.println(f(l2));
		System.out.println(f(l3));
		System.out.println(f(l4));
		System.out.println(f(l5));
		System.out.println(f(l6));
		System.out.println(f(l7));
		System.out.println(f(l8));
	}
	
	public static void main(String[] args){
		new Main();
	}
	
	List f(List l){
		l.sort(Comparator.comparing(o -> {
			if (o instanceof Integer)
				return (Integer) o;
			f((List) o);
			return ((List) o).stream().filter(i -> i instanceof Integer).mapToInt(i -> (Integer) i).sum();
		}));
		return l;
	}
	
	{
		l1 = new ArrayList(Arrays.asList(1, 2, 3));
		
		l2 = new ArrayList(Arrays.asList(1, 2, 6, 3, 9, 8));
		
		l3 = new ArrayList(Arrays.asList(4, 3, new ArrayList(Arrays.asList(2)), new ArrayList(Arrays.asList(1))));
		
		l4 = new ArrayList(Arrays.asList(4, 3, new ArrayList(Arrays.asList(2)),
				new ArrayList(Arrays.asList(
					new ArrayList(Arrays.asList(1))
				))
			));
		
		l5 = new ArrayList(Arrays.asList(5,
				new ArrayList(Arrays.asList(1, 2,
					new ArrayList(Arrays.asList(9, 8))
				))
			));
		
		l6 = new ArrayList(Arrays.asList(3,
				new ArrayList(Arrays.asList(1, 2)),
				new ArrayList(Arrays.asList(2, 1))
			));
		
		l7 = new ArrayList(Arrays.asList(3,
				new ArrayList(Arrays.asList(1, 2,
					new ArrayList(Arrays.asList(99))
				)),
				new ArrayList(Arrays.asList(2, 1,
					new ArrayList(Arrays.asList(34))
				))
			));
		
		l8 = new ArrayList(Arrays.asList(7, 2, 
				new ArrayList(Arrays.asList(1,
					new ArrayList(Arrays.asList(9, 12))
				)),
				new ArrayList(Arrays.asList(4, 3, 2, 
					new ArrayList(Arrays.asList(1, 2))
				))
			));
	}
}