function b = f(r, m, n)
x = factorial(r * m) / factorial(m) ^ r;
if n < 1 || x < n, b = []; return, end
a = repelem(1:r, m);
b = zeros(size(a));
for j = 1:numel(b)
y = x / numel(a);
i
= 1 + floor(mod
(n
- 1, x
) / y
); x = sum(a == a(i)) * y;
n -= sum(a < a(i)) * y;
[a(i) b(j)] = deal([], a(i));
end
end
a = cell2mat(arrayfun(@(n) {f(9, 1, n)}, [1;2;3;123456;234567;362880]))
b = cell2mat(arrayfun(@(n) {f(4, 3, n)}, [1;2;3;123456;234567;369600]))
ZnVuY3Rpb24gYiA9IGYociwgbSwgbikKICB4ID0gZmFjdG9yaWFsKHIgKiBtKSAvIGZhY3RvcmlhbChtKSBeIHI7CiAgaWYgbiA8IDEgfHwgeCA8IG4sIGIgPSBbXTsgcmV0dXJuLCBlbmQKICBhID0gcmVwZWxlbSgxOnIsIG0pOwogIGIgPSB6ZXJvcyhzaXplKGEpKTsKICBmb3IgaiA9IDE6bnVtZWwoYikKICAgIHkgPSB4IC8gbnVtZWwoYSk7CiAgICBpID0gMSArIGZsb29yKG1vZChuIC0gMSwgeCkgLyB5KTsKICAgIHggPSBzdW0oYSA9PSBhKGkpKSAqIHk7CiAgICBuIC09IHN1bShhIDwgYShpKSkgKiB5OwogICAgW2EoaSkgYihqKV0gPSBkZWFsKFtdLCBhKGkpKTsKICBlbmQKZW5kCmEgPSBjZWxsMm1hdChhcnJheWZ1bihAKG4pIHtmKDksIDEsIG4pfSwgWzE7MjszOzEyMzQ1NjsyMzQ1Njc7MzYyODgwXSkpCmIgPSBjZWxsMm1hdChhcnJheWZ1bihAKG4pIHtmKDQsIDMsIG4pfSwgWzE7MjszOzEyMzQ1NjsyMzQ1Njc7MzY5NjAwXSkpCg==