#include<bits/stdc++.h>
using namespace std;
#define int long long
#define N 50
int x,y;//小明好感,小红好感
int n,v,a[N],b[N];//如题目
int ans;
void dfs(int pos,int s)// pos是上一个数的下标,s是两人好感度之和
{
if(ans==0) return;//剪枝
if(s>v)
{
ans=min(abs(x-y),ans);//更新
}
if(pos==n) return;
for(int i=pos+1;i<=n;i++)
{
x+=a[i];
y+=b[i];
dfs(i,s+a[i]+b[i]);
//回溯
x-=a[i];
y-=b[i];
}
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n>>v;
ans=1919888810;
for(int i=1;i<=n;i++)
{
cin>>a[i]>>b[i];
}
dfs(0,0);
if(ans==1919888810) cout<<"-1";
else cout<<ans;
return 0;
}