<Problem>
http://ntucoder.net/Problem/Details/3348
Uses Crt;
Var n,t,k,i:longint; a:array[1..100000] of longint;
Begin
readln(n,t);
for i:=1 to n do read(a[i]);
readln(k);
if (a[k]-a[1]<=t) or (a[n]-a[k]<=t) then writeln(a[n]-a[1]) else
if ((a[k]-a[1])+(a[n]-a[1]))<=((a[n]-a[k])+(a[n]-a[1]))
then writeln((a[k]-a[1])+(a[n]-a[1])) else
writeln((a[n]-a[k])+(a[n]-a[1]));
readln;
End.