#include <iostream>
using namespace std;
#define max(a,b) a>b?a:b
const int Int_Max=2147483647;
int n,c;
int coord[52];
int power[52];
void Input(){
cin>>n>>c;
cin>>coord[1]>>power[1];
for(int i=2;i<=n;i++){
cin>>coord[i]>>power[i];
power[i]+=power[i-1];
}
}
int f[52][52][2];
void dp(){
f[c][c][0]=0;
f[c][c][1]=0;
for(int len=2;len<=n;len++){
for(int L=max(c+1-len,1);L<=c&&L+len-1<=n;L++){
int R=L+len-1;
if(L+1<c){
f[L][R][0]=min(f[L+1][R][0]+(coord[L+1]-coord[L])*(power[n]-power[R]+power[L]),f[L+1][R][1]+(coord[R]-coord[L])*(power[n]-power[R]+power[L]));
}else if(L+1==c){
f[L][R][0]=f[L+1][R][1]+(coord[R]-coord[L])*(power[n]-power[R]+power[L]);
}
if(R-1>c){
f[L][R][1]=min(f[L][R-1][0]+(coord[R]-coord[L])*(power[n]-power[R-1]+power[L-1]),f[L][R-1][1]+(coord[R]-coord[R-1])*(power[n]-power[R-1]+power[L-1]));
}else if(R-1==c){
f[L][R][1]=f[L][R-1][0]+(coord[R]-coord[L])*(power[n]-power[R-1]+power[L-1]);
}
}
}
}
int main(){
Input();
dp();
cout<<min(f[1][n][0],f[1][n][1]);
return 0;
}