#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,k,i;
    scanf("%d %d",&n,&k);
    int sor[n];
    for(i=0;i<n;i++)
    {
        scanf("%d",&sor[i]);
    }
    if(k==2)
    {
        int max=sor[0],min=sor[0];
        for(i=0;i<n;i++)
        {
            if(sor[i]>max)
            {
                max=sor[i];
            }
            else if(sor[i]<min)
            {
                min=sor[i];
            }

        }
        printf("%d",max-min);

    }
    else if(k==3)
    {
        int i,max=sor[0],min1=sor[0],min2=sor[0],maxi=0,mini1=0,mini2=0,p=0;
        for(i=0;i<n;i++)
        {
             if(sor[i]>max)
            {
                max=sor[i];
                maxi=i;
            }
           else if(sor[i]<min1)
           {
               min2=min1;
               mini2=i-(i-p);
               min1=sor[i];
               mini1=i;
               p++;

           }

        }
        int kul1,kul2;
        if((mini2>maxi)&&(mini1>mini2))
        {
            kul1=max-min1;
            kul2=kul1-min2;
        }
        else if((mini2<mini1)&&(mini1>maxi))
        {
            kul1=min2-min1;
            kul2=max-kul1;
        }
        else{
            kul1=max-min2;
            kul2=kul1-min1;

        }

        printf("%d",kul2);

    }

    return 0;
}