#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int M=1e5+5;
int n;
struct node{
int id;
ll d;
}a[M];
bool cmp(node a,node b){
return a.d<b.d;
}
int main(){
scanf("%d",&n);
for(int i=1; i<=n; i++){
scanf("%d",&a[i].d);
a[i].d+=a[i-1].d;
a[i].id=i;
}
for(int i=1; i<=n; i++) printf("%d\n",a[i].d);
sort(a+1,a+1+n,cmp);
for(int i=1; i<=n; i++) printf("%d\n",a[i].d);
ll minn=a[2].d-a[1].d;
int maxx=abs(a[2].id-a[1].id);
for(int i=2; i<n; i++){
if(a[i+1].d-a[i].d<minn){
minn=a[i+1].d-a[i].d;
maxx=abs(a[i+1].id-a[i].id)+1;
}
if(a[i+1].d-a[i].d==minn){
maxx=max(maxx,abs(a[i+1].id-a[i].id)+1);
}
}
printf("%lld\n%d",minn,maxx);
return 0;
}