type arr=array[1..100] of 0..1;
var d,w:array[1..100] of integer;
n,c,i,t:longint;
min:longint;
bb:arr;
input,output:text;
procedure search(bp,t,wt,fx:integer;bb:arr);
var i,j,tl,tr:longint;
wl,wr:longint;
b:arr;
begin
for i:=1 to n do b:=bb;
if fx=1 then
begin
i:=bp+1; wr:=wt; tr:=t+d-d[i-1];
while b=0 do
begin
i:=i+1; tr:=tr+d-d[i-1]
end;
wr:=wr+tr*w; b:=0;
if wr>=min then exit
else
if (i<n) then
begin
search(i,tr,wr,1,b);
search(i,tr,wr,-1,b);
end
else
begin
j:=n;
while (j>1) and (wr<min) do
begin
j:=j-1;
tr:=tr+(d[j+1]-d[j]);
wr:=wr+b[j]*tr*w[j];
end;
if (j=1) and (wr<min) then min:=wr;
end;
end
else
begin
i:=bp-1;wl:=wt;tl:=t+d[i+1]-d;
while b=0 do
begin
i:=i-1; tl:=tl+d[i+1]-d;
end;
wl:=wl+tl*w;b:=0;
if wl>=min then exit
else
if i>1 then
begin
search(i,tl,wl,1,b);
search(i,tl,wl,-1,b);
end
else
begin
j:=1;
while (j<n) and (wl<min) do
begin
j:=j+1;
tl:=tl+(d[j]-d[j-1]);
wl:=wl+b[j]*tl*w[j];
end;
if (j=n) and (wl<min) then min:=wl;
end;
end;
end;
begin {main}
assign(input,'power.in');reset(input);
readln(input,n,c);
for i:=1 to n do readln(input,d,w);
close(input);
for i:=c-1 downto 1 do
begin
t:=t+d[i+1]-d;
min:=min+t*w;
end;
t:=2*t;
for i:=c+1 to n do begin t:=t+d-d[i-1];min:=min+t*w;end;
for i:=1 to n do bb:=1;
bb[c]:=0;
search(c,0,0,1,bb); search(c,0,0,-1,bb);
assign(output,'power.out'); rewrite(output);
writeln(output,min); close(output)
end.