#include using namespace std; //#include //using namespace atcoder; using ll = long long; using pp = pair; #define rep(i, n) for (i = 0; (i) < (n); ++(i)) #define reps(i, a, n) for (i = (a); (i) < (n); ++(i)) #define rrep(i, n) for (i = (n-1); (i) >= (0); --(i)) #define all(a) (a).begin(), (a).end() #define oor(a,b,h,w) (a<0||a>=h||b<0||b>=w)//out of range #define fi first #define se second #define mkpr(a,b) make_pair(a,b) #define mktpl(a,b,c) make_tuple(a,b,c) #define fixp(a) fixed< dx={1,0,-1,0};//{1,1,0,-1,-1,-1,0,1}; vector dy={0,-1,0,1};//{0,-1,-1,-1,0,1,1,1}; //ll keta_calc(ll x){ll ans=0;while(x){x/=10;ans++;}return ans;} //ll powll(ll x,ll y){ll ans=1;while(y){ans*=x;y--;}return ans;} //alias g++='g++ -std=c++17' #define chmin(a,b) a=min(a,(b)) #define chmax(a,b) a=max(a,(b)) int main(){ int i=0,j=0; int n,m,k; cin >> n ; vector a(n); rep(i,n){ cin >> a[i]; } sort(all(a)); reverse(all(a)); // rep(i,n){ // cout << a[i] << " "; // }cout << endl; ll ans = 1001001001001001001; ll sum = 0; rep(i,n-1){ if(a[i] < 0 && a[i+1] < 0){ sum += -a[i] -a[i+1]; // cout << -a[i] -a[i+1] << " "; }else{ sum += abs(a[i] - a[i+1]); // cout << abs(a[i] - a[i+1]) << " "; } }//cout << endl; chmin(ans,sum); rrep(i,n-2){ swap(a[i],a[i+1]); } sum = 0; rep(i,n-1){ if(a[i] < 0 && a[i+1] < 0){ sum += -a[i] -a[i+1]; // cout << -a[i] -a[i+1] << " "; }else{ sum += abs(a[i] - a[i+1]); // cout << abs(a[i] - a[i+1]) << " "; } }//cout << endl; chmin(ans,sum); //sort(aitem.begin(),aitem.end(), //[](const vector &alpha,const vector &beta){return alpha[1] < beta[1];}); cout << ans << endl ; //if(flag==0)printf("Yes\n"); //else printf("No\n"); return 0; }