=ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
{QUERY(QUERY(TRANSPOSE(QUERY(TRANSPOSE({
QUERY( A2:A, "limit "&COUNTA(A2:A)),
QUERY(OFFSET(A2:A, -1, 0), "limit "&COUNTA(A2:A)-1)}),
"select "®EXREPLACE(JOIN(, IF(LEN(A2:A),
"max(Col"&ROW(A2:A)-ROW(A2)+1&"),", )), ".\z", "")&"")),
"select Col2"),
"limit "&COUNTA(A2:A)),
{""; QUERY(TRANSPOSE(QUERY(TRANSPOSE({
QUERY( A2:A, "limit "&COUNTA(A2:A)),
QUERY(OFFSET(A2:A, -1, 0), "limit "&COUNTA(A2:A)-1)}),
"select "®EXREPLACE(JOIN(, IF(LEN(A2:A),
"max(Col"&ROW(A2:A)-ROW(A2)+1&"),", )), ".\z", "")&"")),
"select Col2
limit "&COUNTA(A2:A)-1)}}),
"select "®EXREPLACE(JOIN(, IF(LEN(A2:A),
"max(Col"&ROW(A2:A)-ROW(A2)+1&"),", )), ".\z", "")&"")),
"select Col2"))

demo spreadsheet