Well, for 6-7 years, all possible options have already been sorted out, or combinatorics to sort out (shuffle 111112233... 222221133.. 332222211... etc) or to be smart about something with collisions.
for example, we can choose from a random house any number of times
random.seed(36893488147419103232,73786976294838206464)
random.randrange(36893488147419103232,73786976294838206464,1)
etc
36893488147419103232×36893488147419103232 = 1361129467683753853853498429727072845824
random.seed(36893488147419103232,1361129467683753853853498429727072845824)
random.randrange(36893488147419103232,73786976294838206464,1)
etc
in other words, there 1361129467683753853853498429727072845824 are so many collisions 36893488147419103232
now we take this number and we need to fish out the collisions we need
random.seed(36893488147419103232,73786976294838206464)
random.randrange(1,1361129467683753853853498429727072845824 ,1)
to
random.seed(random.randrange(1,1361129467683753853853498429727072845824 ,1))
random.seed(36893488147419103232,73786976294838206464)
1361129467683753853853498429727072845824×1361129467683753853853498429727072845824 = 1852673427797059126777135760139006525652319754650249024631321344126610074238976
there will be such sections in this number where the first step by step will be collisions (36893488147419103232×36893488147419103232 = 1361129467683753853853498429727072845824)
36893488147419103232×36893488147419103232 = 1361129467683753853853498429727072845824
****************** ___________________ ****************** ___________________
there will be areas
****************** ___________________
**********___________________*********
_______*******_______********_________
*_*_*_*_*_*_*_*_**__**__**__***___***
etc...
well, according to the law of uniform distribution, somehow jump there, random means uniform distribution over space.
from os import system
system("title "+__file__)
import random
import time
#from bit import Key
#from combi import *
import gmpy2
import secp256k1 as ice
list2 = ["13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so"]
F1="01"
aa1=F1[0]*70
aa2=F1[1]*70
def find_permutation(lst,K,numberbit1,numberbit0):
l = lst
N = numberbit0
M = numberbit1
if N == len(l):
return F1[1] * N
if M == len(l):
return F1[1] * M
result = ''
for i in range (0, len(lst)-1):
K0 = gmpy2.comb(len(l)-1, M)
if (K < K0):
result += F1[0]
l.remove (F1[0])
else:
result += F1[1]
l.remove (F1[1])
M -=1
K = K - K0
result += l[0]
return result
#count = 0
#5444517870735015415413993718908291383296 2^66×2^66
#93820969697840041204785894580506297666600 140!/70!/70!
while True:
random.seed()
sssakkki = random.randrange(1,73786976294838206464,1)
saki = 73786976294838206464 * sssakkki
print("")
print("")
print("")
print(sssakkki,saki,"step",5444517870735015415413993718908291383296//saki)
#time.sleep(random.randrange(1,10,1))
X2=0 #X=10
while X2 <= 5444517870735015415413993718908291383296:
X=X2 #X=10
while X <= X2: #+1000
a3 = list(aa1+aa2)
K = X #perm_int
numberbit1 = len(aa1)
numberbit0 = len(aa2)
aa = find_permutation(a3,K,numberbit1,numberbit0)
random.seed(aa)
b = random.randrange(36893488147419103232,73786976294838206464,1)
if b >= 36893488147419103232:
#key = Key.from_int(b)
addr = ice.privatekey_to_address(0, True, b) #key.address
if addr in list2:
print ("found!!!",b,addr)
s1 = str(b)
s2 = addr
f=open("a.txt","a")
f.write(s1)
f.write(s2)
f.close()
pass
else:
#pass
print(b,addr) #print(X,r1,b,addr)
X=X+1
X2=X2+saki
#print("")
#print(X2)
#print("")