#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> h;
for(int i = 0; i < n; i++) {
int x;
cin >> x;
h.push_back(x);
}
sort(h.begin(), h.end(), greater<int>());
int max = h[0];
int min = h[n-1];
int maxIdx = 1;
int minIdx = n-2;
int sum = max - min;
while(minIdx > maxIdx) {
sum += max - h[minIdx] + h[maxIdx] - min;
max = h[maxIdx++];
min = h[minIdx--];
}
if(minIdx == maxIdx) {
sum += max - h[minIdx] > h[maxIdx] - min ?
max - h[minIdx] : h[maxIdx] - min;
}
cout << sum << endl;
return 0;
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Integer[] h = new Integer[n];
for(int i = 0; i < n; i++) {
h[i] = sc.nextInt();
}
Arrays.sort(h, Collections.reverseOrder());
int max = h[0];
int min = h[n-1];
int maxIdx = 1;
int minIdx = n-2;
int sum = max - min;
while(minIdx > maxIdx) {
sum += max - h[minIdx] + h[maxIdx] - min;
max = h[maxIdx++];
min = h[minIdx--];
}
if(minIdx == maxIdx) {
sum += Math.max(max - h[minIdx], h[maxIdx] - min);
}
System.out.println(sum);
}
}
n = int(input())
h = list(map(int, input().split()))
h.sort(reverse=True)
max_val = h[0]
min_val = h[n-1]
max_idx = 1
min_idx = n-2
sum_val = max_val - min_val
while min_idx > max_idx:
sum_val += max_val - h[min_idx] + h[max_idx] - min_val
max_val = h[max_idx]
min_val = h[min_idx]
max_idx += 1
min_idx -= 1
if min_idx == max_idx:
sum_val += max(max_val - h[min_idx], h[max_idx] - min_val)
print(sum_val)