#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() { int n, q; cin>>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=-20; i<=20; 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<=20 || d2<=20)){ pr[i+1][y]=x; } } } } if(pr[q].empty()){ mt19937 mt(334); uniform_int_distribution rndn(0, n-1); { for(int l=0; l<50; l++){ int s=rndn(mt); vector ans; bool dame=0; ans.push_back(s+1); for(int i=0; i v; if(s-1>=0 && a[i]!=s-1 && b[i]!=s-1){ v.push_back(s-1); } if(a[i]!=s && b[i]!=s){ v.push_back(s); } if(s+1first; 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<