a[1] = {1, 1}; nn = 28;
Do[Which[ListQ[m], k = m; Clear[m],
FreeQ[#3, #2], Set[k, #1~Join~#3],
True, Set[k, #1~Join~#3];
Set[m, DeleteCases[#1~Join~#3, #2]]] & @@
{#, First[#], IntegerDigits@ Total[#]} &[a[n - 1]];
Set[a[n], k], {n, 2, nn}];
Array[(1 - 2 Boole[First[#] == 0])*FromDigits@ # &@ a[#] &, nn] (*
Michael De Vlieger, Mar 16 2023 *)