#include <bits/stdc++.h>
using namespace std;
#define mod 1000000007
#define int long long
int n;
int arr[200001];
int sum=0;
signed main()
{
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    sort(arr,arr+n);
    int ans=0;
    for(int i=0;i<n-1;i++){
        ans=max(arr[i+1]-arr[i],ans);
    }
    for(int i=0;i<n;i++){
        if(i+2<n) ans=max(arr[i+2]-arr[i],ans);
    }
    cout<<ans<<endl;
    int idx=0;
    while(idx<n){
        cout<<arr[idx]<<" ";
        idx+=2;
    }
    idx-=2;
    if(idx==n-1) idx--;
    else idx++;
    while(idx>0){
        cout<<arr[idx]<<" ";
        idx-=2;
    }
    return 0;
}
//g++ -std=c++17 template.cpp -o executable.exe
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |