fun main(args: Array<String>) {
    val n = readLine()!!.toInt()

    val ans = IntArray(n + 1) { 0 }

    for (x in 1..n) {
        if ((x * x) + (x) + 1 + (1 * x) >= n) break

        for (y in 1..n) {
            if ((x * x) + (y * y) + (x * y) + (y) + (x) >= n) break

            for (z in 1..n) {
                if ((x * x) + (y * y) + (z * z) + (x * y) + (y * z) + (z * x) > n) break

                val count = (x * x) + (y * y) + (z * z) + (x * y) + (y * z) + (z * x)
                if (count <= n) {
                    ans[count]++
                }
            }
        }
    }
    ans.takeLast(n).forEach {
        println(it)
    }
}