/* Subfactorial numbers */ subfactorial(n):=block( subf[0]:1, subf[n]:n*subf[n-1]+(-1)^n, subf[n])$ /* Bell numbers implementation */ my_bell(n):=if n=0 then 1 else block( makelist((1/((n-1)!))*subfactorial(j)*binomial(n-1,j)*(n-j)^(n-1),j,0,n-1), apply("+",%%))$ /* First 50 */ block( makelist(my_bell(u),u,0,49), table_form(%%));