declare fun {MagicSequence N} Cs = {List.number ~1 N-2 1} in proc {$ S} {FD.tuple sequence N 0#N-1 S} {For 0 N-1 1 proc {$ I} {FD.exactly S.(I+1) S I} end} %redundant constraints {FD.sum S '=:' N} {FD.sumC Cs S '=:' 0} {FD.distribute ff S} end end {ExploreOne {MagicSequence 10}}For N=10, we get
1#sequence(6 2 1 0 0 0 1 0 0 0)