#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int Z;
struct ismall{
int t;
int b;
int h;
};
struct ibig{
int t;
int b;
};
vector<ismall> a1;
vector<ibig> a2;
bool cmp1(ismall x,ismall y){
return x.h>y.h;
}
bool cmp2(ibig x,ibig y){
return x.t<y.t;
}
int main(){
cin>>Z;
while(Z--){
int n,T;
bool sf=0;
cin>>n>>T;
for(int i=1;i<=n;i++){
int x,y;
cin>>x>>y;
if(y<0){
ismall s;
s.t=x,s.b=y,s.h=x+y;
a1.push_back(s);
}
else{
ibig s;
s.t=x,s.b=y;
a2.push_back(s);
}
}
sort(a1.begin(),a1.end(),cmp1);
sort(a2.begin(),a2.end(),cmp2);
for(int i=0;i<a2.size();i++){
if(T>a2[i].t){
T+=a2[i].b;
}else{
sf=1;
break;
}
}
for(int i=0;i<a1.size();i++){
if(T>a1[i].t){
T+=a1[i].b;
}else{
sf=1;
break;
}
if(T<=0){
sf=1;
break;
}
}
if(!sf){
cout<<"+1s\n";
}
else{
cout<<"-1s\n";
}
}
return 0;
}