K-ésimo elemento de uma lista binária ordenada

Gere inteiros de 0 até 2^n-1, ordene-os pela quantidade de bits 1 em ordem decrescente e depois pelo valor numérico em ordem crescente, e retorne o valor na posição k contando a partir do início como uma string binária com prefixo 0b e sem zeros à esquerda.