#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; map pr[100010]; int main() { cout<<"NO"<>n>>q; int a[100010], b[100010]; for(int i=0; i>a[i]; a[i]--; } for(int i=0; i>b[i]; b[i]--; } for(int i=-5; i<=5; i++){ int x=a[0]+i; if(x>=0 && x=n) continue; int d1=abs(y-a[i]), d2=abs(y-b[i]); if(d1>0 && d2>0 && (d1<=5 || d2<=5)){ pr[i+1][y]=x; } } } } if(pr[q].empty()){ cout<<"NO"<first; vector ans; for(int i=q; i>=0; i--){ ans.push_back(x); x=pr[i][x]; } reverse(ans.begin(), ans.end()); for(auto y:ans) cout<