#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int LL; typedef pair P; typedef pair LP; const int INF=1<<30; const LL MAX=1e9+7; void array_show(int *array,int array_n,char middle=' '){ for(int i=0;i &vec_s,int vec_n=-1,char middle=' '){ if(vec_n==-1)vec_n=vec_s.size(); for(int i=0;i &vec_s,int vec_n=-1,char middle=' '){ if(vec_n==-1)vec_n=vec_s.size(); for(int i=0;i ostream& operator<<(ostream& os,const vector& v1){ int n=v1.size(); for(int i=0;i ostream& operator<<(ostream& os,const pair& p){ os< istream& operator>>(istream& is,vector& v1){ int n=v1.size(); for(int i=0;i>v1[i]; return is; } template istream& operator>>(istream& is,pair& p){ is>>p.first>>p.second; return is; } namespace sol{ void solve(){ LL n,m; int i,j,k; LL a,b,c; cin>>n>>m; vector v1(n),v2(2*n),vs(2*n); cin>>v1>>v2; auto dis=[&](int pos){ pos%=n; if(pos==n-1)return v1[0]+m-v1.back(); return v1[pos+1]-v1[pos]; }; for(i=0;i<2*n;i++){ a=v2[(i+1)%(2*n)]-v2[i]; if(abs(a)%dis(i)){ cout<<"No"<=0)a+=vs[i]/2*(v1[i]-v1[0]); else a+=vs[n+i]/2*(m-(v1[i]-v1[0])); if(a>=INF){ cout<<"No"<