#include #include #include #include using namespace std; using ll=long long; #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() template bool chmax(T &a, T b){if (a < b){a = b;return true;} else return false;} template bool chmin(T &a, T b){if (a > b){a = b;return true;} else return false;} int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int T; cin>>T; while(T--){ int N; ll L; cin>>N>>L; vectorX(N),Y(N); for(int i=0;i>X[i]>>Y[i]; int sq=sqrt(N),ma=L/(L/sq); vector V(ma+1,vector>>(ma+1)); for(int i=0;ians; for(int i=0;i<=ma;i++){ if(i%2==0){ for(int j=0;j<=ma;j++){ sort(all(V[i][j])); for(auto[x,k]:V[i][j])ans.push_back(k); } }else{ for(int j=ma;j>=0;j--){ sort(all(V[i][j])); for(auto[x,k]:V[i][j])ans.push_back(k); } } } cout<