#Symetric Chain Decomposition: SDC:=proc(n): if n=0 then RETURN ({[{}]}): fi: CD:={}: X:=SDC(n-1): for i from 1 to nops(X) do k:=nops(X[i]): CD:=CD union {[op(X[i]),op(k,X[i]) union {n}]}: if k<>1 then CD:=CD union {[seq(op(j,X[i]) union {n},j=1..k-1)]} : fi: od: CD: end: