requires 'Math::Combinatorics';