#include #include #include #include using namespace std; int main(){ios::sync_with_stdio(false);cin.tie(nullptr);int T;cin>>T;while(T--){int n,m;long long L,V;cin>>n>>m>>L>>V;struct Car{long long d,v,a;};vectorcars(n);for(auto&x:cars)cin>>x.d>>x.v>>x.a;vectorp(m);for(auto&x:p)cin>>x;vector>intervals;long long limit=V*V;for(auto car:cars){int first=lower_bound(p.begin(),p.end(),car.d)-p.begin();if(first==m)continue;auto fast=[&](int idx){return car.v*car.v+2*car.a*(p[idx]-car.d)>limit;};int l=-1,r=-1;if(car.a>=0){if(car.a==0){if(car.v>V)l=first,r=m-1;}else{int lo=first,hi=m-1;while(loV){int lo=first,hi=m-1;while(lo