program music;
Uses Math;
const
MAXN = 500000;
var
N, i, ricordaid : LongInt;
maxIm,U :Int64;
C,C1,C2 : Array[0..MAXN-1] of Int64;
begin
{
uncomment the two following lines if you want to read/write from files
assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);
}
ReadLn(N);
for i:=0 to N-1 do
Read(C[i]);
ReadLn();
U := 0; maxIm:=0;
C1[0]:=0; C2[0]:=0; C1[N-1]:=0; C2[N-1]:=0;
for i:=1 to N-1 do begin C1[i]:=max(0, C[i-1]-C[i]); if C1[i]>maxIm then maxIm:=C1[i]; end;
for i:=1 to N-2 do C2[i]:=max(0, C[i-1]-C[i+1]);
for i:=0 to N-1 do if (C1[i]>C2[i]) and (C1[i]=maxIm) then ricordaid:=i;
for i:=ricordaid to N-1 do C[i]:=C[i+1];
for i:=0 to N-2 do write(c[i],' '); writeln;
for i:=0 to N-2 do U:=U+max (0,C[i-1]-C[i]);
WriteLn(U);
end.
cHJvZ3JhbSBtdXNpYzsKVXNlcyBNYXRoOwpjb25zdAogICAgTUFYTiA9IDUwMDAwMDsKCnZhcgogICAgTiwgaSwgcmljb3JkYWlkIDogTG9uZ0ludDsKICAgIG1heEltLFUgOkludDY0OwogICAgQyxDMSxDMiAgICAgICAgOiBBcnJheVswLi5NQVhOLTFdIG9mIEludDY0OwogICAgIAoKYmVnaW4KewogICAgdW5jb21tZW50IHRoZSB0d28gZm9sbG93aW5nIGxpbmVzIGlmIHlvdSB3YW50IHRvIHJlYWQvd3JpdGUgZnJvbSBmaWxlcwogICAgYXNzaWduKGlucHV0LCAgJ2lucHV0LnR4dCcpOyAgcmVzZXQoaW5wdXQpOwogICAgYXNzaWduKG91dHB1dCwgJ291dHB1dC50eHQnKTsgcmV3cml0ZShvdXRwdXQpOwp9CgogICAgUmVhZExuKE4pOwoKICAgIGZvciBpOj0wIHRvIE4tMSBkbwogICAgICAgIFJlYWQoQ1tpXSk7CiAgICBSZWFkTG4oKTsKCiAgICBVIDo9IDA7IG1heEltOj0wOwogICBDMVswXTo9MDsgQzJbMF06PTA7IEMxW04tMV06PTA7IEMyW04tMV06PTA7CiAgIGZvciBpOj0xIHRvIE4tMSBkbyBiZWdpbiBDMVtpXTo9bWF4KDAsIENbaS0xXS1DW2ldKTsgaWYgQzFbaV0+bWF4SW0gdGhlbiBtYXhJbTo9QzFbaV07IGVuZDsKICAgZm9yIGk6PTEgdG8gTi0yIGRvIEMyW2ldOj1tYXgoMCwgQ1tpLTFdLUNbaSsxXSk7CiAgIGZvciBpOj0wIHRvIE4tMSBkbyBpZiAoQzFbaV0+QzJbaV0pIGFuZCAoQzFbaV09bWF4SW0pIHRoZW4gcmljb3JkYWlkOj1pOwogICBmb3IgaTo9cmljb3JkYWlkIHRvIE4tMSBkbyBDW2ldOj1DW2krMV07CiAgIGZvciBpOj0wIHRvIE4tMiBkbyB3cml0ZShjW2ldLCcgJyk7IHdyaXRlbG47CiAgIGZvciBpOj0wIHRvIE4tMiBkbyBVOj1VK21heCAoMCxDW2ktMV0tQ1tpXSk7CgogICAgV3JpdGVMbihVKTsKCmVuZC4=