#!/usr/bin/env python3
from math import factorial
def getJthPermutation(initList, j):
j -= 1
result = ""
fac = factorial(len(initList) - 1)
for div in range(len(initList) - 1, 0, -1):
k = j // fac
result += initList[k]
del initList[k]
j %= fac
fac //= div
result += initList[0]
return result
def fct(i, j, n):
list = [str(k) for k in range(n+1)]
permutation = getJthPermutation(list[:], j)
print(permutation)
return permutation[i]
if __name__ == "__main__":
print(fct(3,1000000,9))
print(fct(3,1,9))
print(fct(1, factorial(10), 9))
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKZnJvbSBtYXRoIGltcG9ydCBmYWN0b3JpYWwKCmRlZiBnZXRKdGhQZXJtdXRhdGlvbihpbml0TGlzdCwgaik6CiAgICBqIC09IDEKCiAgICByZXN1bHQgPSAiIgogICAgZmFjID0gZmFjdG9yaWFsKGxlbihpbml0TGlzdCkgLSAxKQogICAgZm9yIGRpdiBpbiByYW5nZShsZW4oaW5pdExpc3QpIC0gMSwgMCwgLTEpOgogICAgICAgIGsgPSBqIC8vIGZhYwogICAgICAgIHJlc3VsdCArPSBpbml0TGlzdFtrXQogICAgICAgIGRlbCBpbml0TGlzdFtrXQoKICAgICAgICBqICU9IGZhYwoKICAgICAgICBmYWMgLy89IGRpdgogICAgcmVzdWx0ICs9IGluaXRMaXN0WzBdCgogICAgcmV0dXJuIHJlc3VsdAoKZGVmIGZjdChpLCBqLCBuKToKICAgIGxpc3QgPSBbc3RyKGspIGZvciBrIGluIHJhbmdlKG4rMSldCgogICAgcGVybXV0YXRpb24gPSBnZXRKdGhQZXJtdXRhdGlvbihsaXN0WzpdLCBqKQogICAgcHJpbnQocGVybXV0YXRpb24pCgogICAgcmV0dXJuIHBlcm11dGF0aW9uW2ldCgoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIHByaW50KGZjdCgzLDEwMDAwMDAsOSkpCiAgICBwcmludChmY3QoMywxLDkpKQogICAgcHJpbnQoZmN0KDEsIGZhY3RvcmlhbCgxMCksIDkpKQo=