%I #18 Nov 27 2017 02:35:04
%S 1,2,2,6,8,6,24,36,36,24,120,192,216,192,120,720,1200,1440,1440,1200,
%T 720,5040,8640,10800,11520,10800,8640,5040,40320,70560,90720,100800,
%U 100800,90720,70560,40320,362880,645120,846720,967680,1008000,967680
%N Table (by antidiagonals) of permutations of two types of objects such that each cycle contains at least one object of each type. Each type of object is labeled from its own label set.
%D F. Bergeron, G. Labelle and P. Leroux, Combinatorial Species and Tree-Like Structures, Cambridge, 1998, p. 114 (2.4.42).
%H Reinhard Zumkeller, <a href="/A091441/b091441.txt">Rows n = 1..125 of triangle, flattened</a>
%F Double e.g.f.: A(x, y) = Sum_{i, j>=0} (x^i*y^j/(i!*j!)) = (1-x)*(1-y)/(1-x-y).
%F T(n,k) = k * T(n-1,k-1) + (n-k+1) * T(n-1,k), T(1,1) = 1. - _Reinhard Zumkeller_, May 07 2013
%e 1, 2, 6, 24, 120; ...
%e 2, 8, 36, 192, 1200; ...
%e 6, 36, 216, 1440, 10800; ...
%e 24, 192, 1440, 11520, 100800; ...
%e 120, 1200, 10800, 100800, 1008000; ...
%o (Haskell)
%o import Data.List (genericLength)
%o a091441 n k = a091441_tabl !! (n-1) !! (k-1)
%o a091441_row n = a091441_tabl !! (n-1)
%o a091441_tabl = iterate f [1] where
%o f xs = zipWith (+)
%o (zipWith (*) ([0] ++ xs) ks) (zipWith (*) (xs ++ [0]) (reverse ks))
%o where ks = [1 .. 1 + genericLength xs]
%o -- _Reinhard Zumkeller_, May 07 2013
%Y Cf. A008292.
%K nonn,tabl
%O 1,2
%A _Christian G. Bower_, Jan 09 2004