#include<bits/stdc++.h>
using namespace std;
int n,c,gl,mp[5005];long long ans=9999999;
struct node{
int g;
bool k;
}deng[1000005];
void dfs(bool dt,int w,long long hao){
long long z=0,nn=0;
while(!deng[w].k){w=w+dt*2-1;
if(!w||w>mp[n])return;
for(int i=1;i<=n;i++) z+=deng[mp[i]].g*deng[mp[i]].k;
}deng[w].k=0;
for(int i=1;i<=n;i++)nn+=deng[mp[i]].k;
if(!nn)ans=min(ans,hao+z);
dfs(1,w,hao+z);
dfs(0,w,hao+z);
deng[w].k=1;
}
int main(){
cin>>n>>c;
for(int i=1;i<=n;i++){
scanf("%d%d",&mp[i],&gl);
deng[mp[i]].k=1,deng[mp[i]].g=gl;
}
dfs(1,mp[c],0);
cout<<ans;
}