N=6; x='x+O('x^N); Vec(prod(k=1, N, (1+x^(k*(k+1)/2))))

の出力結果は
[1, 1, 0, 1, 1, 0]
で、0次から5次までの6項出力されますが、

N=6; x='x+O('x^N); Vec(prod(k=1, N, (1+x^(k*(3*k+1)/2))))

の出力結果は
[1, 0, 1, 0, 0, 0, 0]
で、0次から6次までの7項出力されます。

なぜ似たコードなのに、出力される項数が異なるのか教えてください。