// Problem: why买外卖
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/67741/G
// Memory Limit: 524288 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<string>
#include<map>
#include<cmath>
using namespace std;
#define endl '\n'
int _;
const int N=2e5+10;
using ll=long long;
using ULL=unsigned long long;
#define int long long
void solve(){
ll n,m; //n是个数,m是初始金钱
cin>>n>>m;
map<ll,ll> mapm;
vector<ll> cnt(n+10);//记录数字,离散化
for(int i=1;i<=n;++i){
ll a,b;cin>>a>>b;
cnt[i]=a;
mapm[a]+=b;
}
ll lens=unique(cnt.begin()+1,cnt.begin()+1+n)-(cnt.begin()+1);
sort(cnt.begin()+1,cnt.begin()+1+lens);
vector<ll> ans(lens+1);//前缀和
for(int i=1;i<=lens;++i){
ans[i]=ans[i-1]+mapm[cnt[i]];
}
for(int i=lens;i>=1;--i){
if(cnt[i]<=ans[i]+m){
cout<<ans[i]+m<<endl;return;
}
}
cout<<m<<endl;
}
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>_;
while(_--){
solve();
}
return 0;
}