|
MAPLE
|
s:= proc(n, i) option remember; `if`(i=0, [[]],
map(x-> seq([j, x[]], j=1..n), s(n, i-1)))
end:
a:= proc(n) (l-> add(add(`if`([true$n]=[seq(evalb(
f[f[g[i]]]=g[g[f[i]]]), i=1..n)], 1, 0), g=l), f=l))(s(n$2))
end:
seq(a(n), n=0..5); # Alois P. Heinz, Jul 16 2014
|