=ARRAYFORMULA(IF(A2:A;
MMULT(TRANSPOSE((ROW(INDIRECT("B2:B"&COUNTA(A1:A)))<=
TRANSPOSE( ROW(INDIRECT("B2:B"&COUNTA(A1:A)))))*
{B2; TRANSPOSE(SPLIT(REPT(J5*-1&"♦"; COUNTA(A3:A)); "♦"))});
SIGN({B2; TRANSPOSE(SPLIT(REPT(J5*-1&"♦"; COUNTA(A3:A)); "♦"))})^2); IFERROR(1/0)))