using System;
using System.Text;
using System.Collections.Generic;
using System.Collections;
using static System.Math;
using System.Linq;
using static System.Array;

namespace ConsoleApp2
{
    class Program
    {
        static int N;
        static long mod = 1000000007;
        static char[] az = Enumerable.Range('a', 'z' - 'a' + 1).Select(i => (Char)i).ToArray();
        static void Main(string[] args)
        {
            //var NK = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
            var N = long.Parse(Console.ReadLine());
            var A = new int[N];
            for (int i = 0; i < N; i++)
            {
                A[i] = int.Parse(Console.ReadLine());
            }
            Sort(A);
            var st = 0;
            var ed = (int)N-1;
            var ans = new List<int>();
            ans.Add(A[ed]);
            ed--;
            var up = true;
            while (st <= ed)
            {
                if (up)
                {
                    
                    ans.Add(A[st]);
                    st++;
                    if (st <= ed)
                    {
                        ans.Insert(0, A[st]);
                        st++;
                    }
                    up = false;
                }
                else
                {
                    ans.Add(A[ed]);
                    ed--;
                    if (st <= ed)
                    {
                        ans.Insert(0, A[ed]);
                        ed--;
                    }
                    up = true;
                }
            }

            long sum1 = 0;
            for (int i = 1; i < N; i++)
            {
                sum1 += Abs(ans[i]- ans[i-1]);
            }

            st = 0;
            ed = (int)N - 1;
            ans = new List<int>();
            ans.Add(A[st]);
            st++;
            up = false;
            while (st <= ed)
            {
                if (up)
                {
                    
                    ans.Add(A[st]);
                    st++;
                    if (st <= ed)
                    {
                        ans.Insert(0, A[st]);
                        st++;
                    }
                    up = false;
                }
                else
                {
                    ans.Add(A[ed]);
                    ed--;
                    if (st <= ed)
                    {
                        ans.Insert(0, A[ed]);
                        ed--;
                    }
                    up = true;
                }
            }

            long sum2 = 0;
            for (int i = 1; i < N; i++)
            {
                sum2 += Abs(ans[i] - ans[i - 1]);
            }

            Console.WriteLine(Max(sum1,sum2));
            //R = Console.ReadLine().Split(' ').Select(x => long.Parse(x)).ToArray();
            //var S = Console.ReadLine();

        }
        // ユークリッドの互除法 
        public static int Gcd(int a, int b)
        {
            if (a < b)
                // 引数を入替えて自分を呼び出す
                return Gcd(b, a);
            while (b != 0)
            {
                var remainder = a % b;
                a = b;
                b = remainder;
            }
            return a;
        }
    }
}


Measured memory_bytes: 33964