#include<bits/stdc++.h>
#define N 1000000
#define inf int(1e9+7)
#define pii pair<int,int>
#define pll pair<ll,ll>
#define fi first
#define se second
#define pb push_back
#define all(x) x.begin(),x.end()
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<long long, int> li;
typedef pair<long long, li> loli;
// loli
loli gspvhcute;
//:333
const int M = 1e9+7;
int n,L;
int h[N+3],w[N+3];
deque<int> dq;
ll dp[N+3];
multiset<ll> ms;
void Solve(){
int j = 1;
ll cur = 0;
for(int i=1; i<=n; i++){
cur += w[i];
while(cur > L){
cur -= w[j];
j++;
}
while(!dq.empty() && dq.front() < j){
if(dq.size() >= 2)
ms.erase(ms.find(dp[ dq[0] ] + h[dq[1]]));
dq.pop_front();
}
while(!dq.empty() && h[dq.back()] <= h[i]){
if(dq.size() >= 2)
ms.erase(ms.find(dp[ dq[dq.size()-2] ] + h[dq.back()]));
dq.pop_back();
}
if(!dq.empty())
ms.insert(dp[ dq.back() ] + h[i]);
dq.push_back(i);
dp[i] = dp[j-1] + h[dq.front()];
if(!ms.empty())
dp[i] = min(dp[i],*ms.begin());
}
cout << dp[n] << "\n";
ms.clear();
dq.clear();
}
void Inp(){
cin >> n >> L;
for(int i=1; i<=n; i++){
cin >> h[i] >> w[i];
}
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
freopen("BOOKS.inp","r",stdin);
freopen("BOOKS.out","w",stdout);
int T=1;
cin >> T;
while(T--){
Inp();
Solve();
}
}
//-----YEU CODE HON CRUSH-----//
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBOIDEwMDAwMDAKI2RlZmluZSBpbmYgaW50KDFlOSs3KQojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgcGxsIHBhaXI8bGwsbGw+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBhbGwoeCkgeC5iZWdpbigpLHguZW5kKCkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgZG91YmxlIGRiOwp0eXBlZGVmIHBhaXI8bG9uZyBsb25nLCBpbnQ+IGxpOwp0eXBlZGVmIHBhaXI8bG9uZyBsb25nLCBsaT4gbG9saTsKLy8gbG9saQpsb2xpIGdzcHZoY3V0ZTsKLy86MzMzCgoKY29uc3QgaW50IE0gPSAxZTkrNzsKaW50IG4sTDsKaW50IGhbTiszXSx3W04rM107CmRlcXVlPGludD4gZHE7CmxsIGRwW04rM107Cm11bHRpc2V0PGxsPiBtczsKCgp2b2lkIFNvbHZlKCl7CiAgICBpbnQgaiA9IDE7CiAgICBsbCBjdXIgPSAwOwogICAgZm9yKGludCBpPTE7IGk8PW47IGkrKyl7CiAgICAgICAgY3VyICs9IHdbaV07CiAgICAgICAgd2hpbGUoY3VyID4gTCl7CiAgICAgICAgICAgIGN1ciAtPSB3W2pdOwogICAgICAgICAgICBqKys7CiAgICAgICAgfQoKICAgICAgICB3aGlsZSghZHEuZW1wdHkoKSAmJiBkcS5mcm9udCgpIDwgail7CiAgICAgICAgICAgIGlmKGRxLnNpemUoKSA+PSAyKQogICAgICAgICAgICAgICAgbXMuZXJhc2UobXMuZmluZChkcFsgZHFbMF0gXSArIGhbZHFbMV1dKSk7CiAgICAgICAgICAgIGRxLnBvcF9mcm9udCgpOwogICAgICAgIH0KICAgICAgICB3aGlsZSghZHEuZW1wdHkoKSAmJiBoW2RxLmJhY2soKV0gPD0gaFtpXSl7CiAgICAgICAgICAgIGlmKGRxLnNpemUoKSA+PSAyKQogICAgICAgICAgICAgICAgbXMuZXJhc2UobXMuZmluZChkcFsgZHFbZHEuc2l6ZSgpLTJdIF0gKyBoW2RxLmJhY2soKV0pKTsKICAgICAgICAgICAgIGRxLnBvcF9iYWNrKCk7CiAgICAgICAgfQoKICAgICAgICBpZighZHEuZW1wdHkoKSkKICAgICAgICAgICAgbXMuaW5zZXJ0KGRwWyBkcS5iYWNrKCkgXSArIGhbaV0pOwogICAgICAgIGRxLnB1c2hfYmFjayhpKTsKICAgICAgICBkcFtpXSA9IGRwW2otMV0gKyBoW2RxLmZyb250KCldOwogICAgICAgIGlmKCFtcy5lbXB0eSgpKQogICAgICAgICAgICBkcFtpXSA9IG1pbihkcFtpXSwqbXMuYmVnaW4oKSk7CiAgICB9CiAgICBjb3V0IDw8IGRwW25dIDw8ICJcbiI7CiAgICBtcy5jbGVhcigpOwogICAgZHEuY2xlYXIoKTsKfQoKdm9pZCBJbnAoKXsKICAgIGNpbiA+PiBuID4+IEw7CiAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKXsKICAgICAgICBjaW4gPj4gaFtpXSA+PiB3W2ldOwogICAgfQp9CgppbnQgbWFpbigpewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApOwoJZnJlb3BlbigiQk9PS1MuaW5wIiwiciIsc3RkaW4pOwoJZnJlb3BlbigiQk9PS1Mub3V0IiwidyIsc3Rkb3V0KTsKCWludCBUPTE7CgljaW4gPj4gVDsKCXdoaWxlKFQtLSl7CglJbnAoKTsKCVNvbHZlKCk7Cgl9Cn0KLy8tLS0tLVlFVSBDT0RFIEhPTiBDUlVTSC0tLS0tLy8=