That works only if you have enough RAM to store 2^28 keys. Otherwise that program cannot retrieve #57.
Besides if you want to retrieve only #57 and you don't modify the code, it starts always from 1 to 2^57 - 1 (instead from 2^56 to 2^57 - 1)
Could you please show us how to change the code so it can search only range 2^56 to 2^57 - 1?