防止卡精度我把原序列乘了 n
typedef __int128 lll;
const int maxn=7e6+10;
int n;
lll k,a[maxn],avg,s,x;
inline lll Abs(lll A){
if(A>0)return A;
else return -A;
}
int main() {
read(n,k);
k*=(lll)(n)*(lll)(n)*(lll)(n);
for(int i(1);i<=n;++i){
read<lll>(a[i]);
avg+=a[i];
a[i]*=(lll)n;
}
for(int i(1);i<=n;++i){
s+=(avg-a[i])*(avg-a[i]);
}
//write(s,avg);
if(s==0){
puts("No answer!");
return 0;
}
x=k/s;
x=sqrt((long double)x);
if(Abs(x*x*s-k)>Abs((x+1)*(x+1)*s-k))write(x+1);
else write(x>0?x:1);
flush();
return 0;
}