using System;

namespace Upoznavanje
{
    class Program
    {

        public static int Min(int[] numbers)
        {
            int min = numbers[0];

            for (int i = 0; i < numbers.Length; i++)
            {
                int number = numbers[i];

                if (number < min)
                {
                    min = number;
                }
            }

            return min;
        }

        public static int Max(int[] numbers)
        {
            int max = numbers[0];

            for (int i = 0; i < numbers.Length; i++)
            {
                int number = numbers[i];

                if (number > max)
                {
                    max = number;
                }
            }

            return max;
        }

        static void Main(string[] args)
        {
            string[] unos = Console.ReadLine().Split(' ');
            int n = Convert.ToInt32(unos[0]);
            int x = Convert.ToInt32(unos[1]);
            int[] koordinate = new int[n];

            unos = Console.ReadLine().Split(' ');

            for (int i = 0; i < n; i++)
            {
                koordinate[i] = Convert.ToInt32(unos[i]);
            }

            int min = Min(koordinate);
            int maks = Max(koordinate);

            if (x >= maks)
            {
                Console.WriteLine(x - min);
                return;
            }

            if (x <= min)
            {
                Console.WriteLine(maks - x);
                return;
            }

            int udaljenostMaks = maks - x;
            int udaljenostMin = x - min;

            if (udaljenostMaks > udaljenostMin)
            {
                Console.WriteLine(2 * udaljenostMin + udaljenostMaks);
                return;
            }

            Console.WriteLine(2 * udaljenostMaks + udaljenostMin);

            Console.ReadKey();
        }
    }
}