numperm = @(a) factorial(numel(a)) / prod(arrayfun(@(u) factorial(sum(a == u)), unique(a)));
f = @(a) sum(arrayfun(@(i) sum(a(i:end) < a(i)) * numperm(a(i:end)) / numel(a(i:end)), 1:numel(a))) + 1;
n = [];
n = [n; f([1, 2, 3, 4, 5, 6, 7, 8, 9])];
n = [n; f([1, 2, 3, 4, 5, 6, 7, 9, 8])];
n = [n; f([1, 2, 3, 4, 5, 6, 8, 7, 9])];
n = [n; f([4, 1, 6, 5, 8, 9, 7, 3, 2])];
n = [n; f([6, 8, 4, 7, 5, 3, 2, 1, 9])];
n = [n; f([9, 8, 7, 6, 5, 4, 3, 2, 1])];
n = [n; f([1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4])];
n = [n; f([1, 1, 1, 2, 2, 2, 3, 3, 4, 3, 4, 4])];
n = [n; f([1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 3, 4])];
n = [n; f([2, 2, 2, 3, 3, 1, 4, 3, 4, 1, 1, 4])];
n = [n; f([3, 2, 4, 4, 2, 4, 3, 3, 1, 1, 1, 2])];
n = [n; f([4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1])];
n = [n; f([3, 1, 4, 1, 5, 9])];
n
bnVtcGVybSA9IEAoYSkgZmFjdG9yaWFsKG51bWVsKGEpKSAvIHByb2QoYXJyYXlmdW4oQCh1KSBmYWN0b3JpYWwoc3VtKGEgPT0gdSkpLCB1bmlxdWUoYSkpKTsKZiA9IEAoYSkgc3VtKGFycmF5ZnVuKEAoaSkgc3VtKGEoaTplbmQpIDwgYShpKSkgKiBudW1wZXJtKGEoaTplbmQpKSAvIG51bWVsKGEoaTplbmQpKSwgMTpudW1lbChhKSkpICsgMTsKbiA9IFtdOwpuID0gW247IGYoWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDldKV07Cm4gPSBbbjsgZihbMSwgMiwgMywgNCwgNSwgNiwgNywgOSwgOF0pXTsKbiA9IFtuOyBmKFsxLCAyLCAzLCA0LCA1LCA2LCA4LCA3LCA5XSldOwpuID0gW247IGYoWzQsIDEsIDYsIDUsIDgsIDksIDcsIDMsIDJdKV07Cm4gPSBbbjsgZihbNiwgOCwgNCwgNywgNSwgMywgMiwgMSwgOV0pXTsKbiA9IFtuOyBmKFs5LCA4LCA3LCA2LCA1LCA0LCAzLCAyLCAxXSldOwpuID0gW247IGYoWzEsIDEsIDEsIDIsIDIsIDIsIDMsIDMsIDMsIDQsIDQsIDRdKV07Cm4gPSBbbjsgZihbMSwgMSwgMSwgMiwgMiwgMiwgMywgMywgNCwgMywgNCwgNF0pXTsKbiA9IFtuOyBmKFsxLCAxLCAxLCAyLCAyLCAyLCAzLCAzLCA0LCA0LCAzLCA0XSldOwpuID0gW247IGYoWzIsIDIsIDIsIDMsIDMsIDEsIDQsIDMsIDQsIDEsIDEsIDRdKV07Cm4gPSBbbjsgZihbMywgMiwgNCwgNCwgMiwgNCwgMywgMywgMSwgMSwgMSwgMl0pXTsKbiA9IFtuOyBmKFs0LCA0LCA0LCAzLCAzLCAzLCAyLCAyLCAyLCAxLCAxLCAxXSldOwpuID0gW247IGYoWzMsIDEsIDQsIDEsIDUsIDldKV07Cm4K