import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
List<Integer> list=new ArrayList<Integer>();
int sum=0;
int i=0,j=0;
int left=0,right=0;
boolean flag=true;
int num=sc.nextInt();
for (i = 0; i <num ; i++) {
list.add(sc.nextInt());
}
int len=list.size();
if(len%2!=0){
i=len/2;
j=len/2+1;
}else{
i=len/2-1;
j=len/2;
}
//先确定第一次是左增还是右增,
while(i>=0&&j<=(len-1)){
left=list.get(i);
right=list.get(j);
if(left!=right){
if(left>right){
list.add(i,right);
flag=false;
break;
}
if(left<right){
list.add(j,left);
flag=true;
break;
}
}
i--;
j++;
}
//flag为true左增,flag为false右增
while(i>=0&&j<list.size()){
left=list.get(i);
right=list.get(j);
if(left!=right){
if(flag){
list.add(++i,right);
j++;
flag=false;
}else{
list.add(j,left);
flag=true;
}
}
i--;
j++;
}
//判断是否需要进行最后一次左增或是右增
if(list.size()%2!=0){
if(flag){
list.add(++i,right);
}else{
list.add(j,left);
}
}
for (int k = 0; k <list.size() ; k++) {
System.out.print(list.get(k)+" ");
sum+=list.get(k);
}
System.out.println();
System.out.println(sum);
}
}
}