process.stdin.resume(); process.stdin.setEncoding("utf-8"); let inputString = ''; let currentLine = 0; process.stdin.on('data', (inputStdin) => { inputString += inputStdin; }) process.stdin.on('end', (_) => { inputString = inputString.trim().split('\n').map(string => { return string.trim(); }); main(); }) function readLine() { return inputString[currentLine++]; } function main() { const [N, M] = readLine().split(' ').map(Number); const freq = new Map(); // Step 1: enumerate (a, b) for (let a = 0; a <= M; a++) { for (let b = 0; b <= M; b++) { const s = a + b; const v = s * s + a * a + b * b; freq.set(v, (freq.get(v) || 0) + 1); } } const ans = new Array(N + 1).fill(0); const entries = [...freq.entries()]; // Step 2: combine (a,b) with (c,d) for (const [v1, c1] of entries) { for (const [v2, c2] of entries) { const total = v1 + v2; if ((total & 1) === 0) { const n = total >> 1; if (n <= N) ans[n] += c1 * c2; } } } console.log(ans.join(' ')); }