#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000001 pair NG(-1,-1); long long get(long long n){ long long ok = 0,ng = 1000000005; while(ng-ok>1){ long long mid = (ok+ng)/2; if(mid*mid<=n)ok = mid; else ng = mid; } if(ok*ok!=n)return -1; return ok; } pair get(long long a,long long b){ long long t = a*a - b*4; if(t<0)return NG; t = get(t); if(t<0)return NG; pair ret; ret.first = a+t; ret.second = a-t; if(ret.first%2!=0)return NG; ret.first /= 2; ret.second /= 2; //if(a==36)cout<>N>>K; vector ans(N,1); for(int i=N;true;i++){ int S = i; pair p = get(S-(N-2),K*S); if(p==NG)continue; ans[0] = p.first; ans[1] = p.second; break; } rep(i,N){ if(i!=0)cout<<' '; cout<