import java.util.*; import java.io.*; public class Problem1768F { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws Exception {
long start = System.nanoTime();
int n =400000; //Integer.parseInt(br.readLine());
long[] a = new long[n];
long[] dp=new long[n];
int mod=640;// also tested for 1000 and 320
for (int i = 0; i < n; i++) {
//Simulate the test case: 1 2 3 4 5 ...
a[i] =(i%mod)+1; //readInt();
dp[i]=2L*n*n;
}
dp[0]=0;
for(int i=0;i<n;i++) {
int lb=(int)Math.max(0,i-n/a[i]);
for(int j=i-1;j>=lb;j--) {
dp[i]=Math.min(dp[i], dp[j]+a[i]*(i-j)*(i-j));
if(a[i]>=a[j]) break;
}
int ub=(int)Math.min(n-1, i+n/a[i]);
for(int j=i+1;j<=ub;j++) {
dp[j]=Math.min(dp[j], dp[i]+a[i]*(j-i)*(j-i));
if(a[i]>=a[j]) break;
}
}
StringBuilder sb = new StringBuilder();
for(int i=0;i<n;i++) sb.append(dp[i]).append(' ');
long end = System.nanoTime();
//Tested for dozens of times. Max time cost is 0.63s
System.out.println((end - start) / 1E9);
//System.out.println(sb);
}
public static int readInt() {
int input = 0;
int c;
int sign = 1;
try {
while ((c = br.read()) == '-') {
sign = -sign;
}
input *= 10;
input += (c - 48);
while ((c = br.read()) > 32) {
input *= 10;
input += (c - 48);
}
} catch (IOException e) {
e.printStackTrace();
}
return (sign == 1) ? input : -input;
}
public static long readLong() {
long input = 0;
int c;
int sign = 1;
try {
while ((c = br.read()) == '-') {
sign = -sign;
}
input *= 10;
input += (c - 48);
while ((c = br.read()) > 32) {
input *= 10;
input += (c - 48);
}
} catch (IOException e) {
e.printStackTrace();
}
return (sign == 1) ? input : -input;
}
}