This repository has been archived by the owner on Feb 23, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PESrank.py
181 lines (153 loc) · 52.3 KB
/
PESrank.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
import ESrank
import BS
import math
import uuid
import time
def keyBoard(word):
for w in word:
if not (w.isdigit() or w.isalpha() or isSymbol(w)):
return False
return True
def isSymbol(c):
return (c in "!~@#$%^&*()_+?><.,;:'{}[]=-|\/ ") or (c=='"')
def isShifted(c):
if c.isalpha():
return c.isupper()
return False
def unShiftLetter(c):
if c.isalpha():
return c.lower()
def unShiftWord(word):
p=""
lst=[]
for i in range(len(word)):
if isShifted(word[i]):
p=p+unShiftLetter(word[i])
if i>len(word)//2:
lst.append(i-len(word))
else:
lst.append(i)
else:
p=p+word[i]
return p,str(tuple(lst))
def unLeetWord(word):
lst=[]
if "0" in word:
word=word.replace("0","o")
lst.append(1)
if "1" in word:
word=word.replace("1","i")
lst.append(12)
elif "!" in word:
word=word.replace("!","i")
lst.append(13)
if "@" in word:
word=word.replace("@","a")
lst.append(2)
elif "4" in word:
word=word.replace("4","a")
lst.append(3)
if "3" in word:
word=word.replace("3","e")
lst.append(6)
if "$" in word:
word=word.replace("$","s")
lst.append(4)
elif "5" in word:
word=word.replace("5","s")
lst.append(5)
if "2" in word:
word=word.replace("2","z")
lst.append(11)
if "%" in word:
word=word.replace("%","x")
lst.append(14)
if "7" in word:
word=word.replace("7","t")
lst.append(10)
elif "+" in word:
word=word.replace("+","t")
lst.append(9)
if "9" in word:
word=word.replace("9","g")
lst.append(8)
elif "6" in word:
word=word.replace("6","g")
lst.append(7)
return word,str(tuple(sorted(lst)))
def main(username,password,path):
r=rank(password,path)
y=str(uuid.uuid1())
f=open(path+"/out/"+str(y)+".txt","w")
f.write(username+","+str(math.log2(r))+","+str(time.asctime())+"\n")
f.close()
def rank(password,path):
L1=[(0.9013789702333921, 1), (0.007678149750106778, 2), (0.007100850134125253, 3), (0.0061580445104521715, 4), (0.0049842763912974495, 5), (0.00485701416138583, 6), (0.0034037530820471918, 7), (0.00317720244699303, 8), (0.0029555664012655474, 9), (0.0028530461674852953, 10), (0.0022771055768796276, 11), (0.0017914771945437633, 12), (0.0016219404362535319, 13), (0.0013660304334861253, 14), (0.0010928939554057126, 15), (0.0010706037294442867, 16), (0.0010135169293675056, 17), (0.000923212455388459, 18), (0.0008520647147156085, 19), (0.0008256487970847089, 20), (0.0007646639144664432, 21), (0.0007452386907811142, 22), (0.0007314760728285258, 23), (0.0006905340522574625, 25), (0.0006541121721844756, 27), (0.0006492627718798906, 29), (0.0006324064376245366, 31), (0.0006047850755342382, 33), (0.0005781095067136422, 35), (0.0005744699704631745, 38), (0.0005568247385506153, 41), (0.000546091752777378, 44), (0.0005327478914243425, 47), (0.0004931958333921646, 51), (0.0004235054540776525, 55), (0.00026027324765298557, 59), (0.00019735479234549134, 64), (0.00017617167486098383, 69), (0.0001626554493139371, 75), (0.00015138216808639537, 81), (0.00013870566553581356, 88), (0.00012463588575030768, 95), (0.00011688502151320044, 103), (0.00010899825473850743, 112), (0.00010137776854558816, 122), (9.633501097208032e-05, 132), (7.913063363266523e-05, 143), (6.699884613110607e-05, 155), (5.4999646471093996e-05, 168), (4.899452214769016e-05, 183), (4.3904253930961285e-05, 199), (4.006804571553202e-05, 216), (3.6014172460229594e-05, 235), (3.162661980370032e-05, 256), (2.9885299484715143e-05, 279), (2.753517999329289e-05, 304), (2.3251487812642173e-05, 331), (1.9863868461113902e-05, 360), (1.5006733865772001e-05, 392), (1.2108584629288423e-05, 427), (9.21595988620264e-06, 465), (3.5058435102410953e-06, 506), (2.391000742565941e-06, 551), (1.7269566361509082e-06, 600), (1.2783677722499047e-06, 654), (9.535275604595227e-07, 712), (4.894701150446912e-07, 776), (2.276091279891792e-07, 845), (1.0165067851943926e-07, 921), (5.966452869619261e-08, 1003), (4.309104850280577e-08, 1093), (3.204206170721455e-08, 1191), (2.0993074911623324e-08, 1298), (1.5468581513827712e-08, 1414), (1.1048986795591224e-08, 1541), (7.734290756913856e-09, 1679), (5.524493397795612e-09, 1830), (4.419594718236489e-09, 1994), (2.2097973591182447e-09, 2173), (1.1048986795591223e-09, 2368), (1.1048986795591223e-09, 2581), (1.1048986795591223e-09, 2704)]
L2=[(0.0020733671781465106, 1, 1), (0.0017705664575961148, 2, 2), (0.0014298296510662355, 3, 3), (0.0007110275795086627, 4, 4), (0.000677380438572671, 5, 5), (0.0006277332101577101, 6, 6), (0.0006274395543231035, 7, 7), (0.00062492316391649, 8, 8), (0.0006234668895417268, 9, 9), (0.0006232392600976056, 10, 10), (0.0006228597237830666, 11, 11), (0.0006218106891034656, 12, 12), (0.0006011841370604105, 13, 13), (0.0005484008859588955, 14, 14), (0.0005471722410282536, 15, 15), (0.0005361370610799846, 16, 16), (0.0005143829814455625, 17, 17), (0.0004654135624098509, 18, 18), (0.00040219444782755047, 19, 19), (0.0004001504000605636, 20, 20), (0.00039988906483668415, 21, 21), (0.0003693700972960699, 22, 22), (0.00035806250077167215, 23, 23), (0.000329710399318808, 25, 25), (0.000302421645958867, 27, 27), (0.00028676554212263674, 29, 29), (0.000282675137973611, 31, 31), (0.0002769280716633138, 33, 33), (0.0002605151462871073, 35, 34), (0.00026009411242758427, 36, 36), (0.00025429810347818595, 39, 39), (0.00023049166506258992, 42, 42), (0.00022246873808624707, 45, 43), (0.00020656471694128264, 49, 49), (0.00019596263317675746, 53, 53), (0.00018783769336296296, 57, 57), (0.00017424733827520785, 62, 62), (0.00015490022069393738, 67, 67), (0.00014574471512095728, 72, 72), (0.00013354922524758375, 78, 78), (0.00011922380712729121, 84, 84), (0.00011218483983392889, 91, 91), (0.00010637405574819815, 98, 98), (0.0001006703914008774, 106, 106), (9.537535191774987e-05, 115, 115), (9.059882737528786e-05, 125, 125), (8.684224896277255e-05, 136, 136), (8.121904545692361e-05, 148, 138), (7.887363646785553e-05, 161, 150), (7.739124066314424e-05, 168, 168), (7.426860794389141e-05, 183, 183), (7.055866355542527e-05, 198, 198), (6.890566154195458e-05, 215, 200), (6.539706202229981e-05, 218, 218), (6.220701774353034e-05, 237, 237), (5.958350759850676e-05, 256, 256), (5.6010050052697305e-05, 278, 258), (5.183348686914718e-05, 303, 303), (5.024539759410709e-05, 330, 306), (4.6517331945109924e-05, 359, 333), (4.49899592082132e-05, 390, 362), (4.158975412545985e-05, 424, 392), (4.103240048714488e-05, 427, 426), (3.923675969974665e-05, 463, 462), (3.710267594573413e-05, 503, 502), (3.479555279006004e-05, 548, 508), (3.268039373906759e-05, 596, 552), (3.195213482996123e-05, 649, 601), (2.911902337311832e-05, 706, 704), (2.7557014428976328e-05, 769, 767), (2.6316293052964955e-05, 837, 772), (2.6193901801789237e-05, 912, 773), (2.4622379763186486e-05, 914, 846), (2.457839702545877e-05, 995, 917), (2.3128167313336345e-05, 1007, 1004), (2.311456059672794e-05, 1097, 1006), (2.1622026853451273e-05, 1104, 1100), (2.0161135248584205e-05, 1203, 1199), (1.8949612775649705e-05, 1311, 1202), (1.8075549262098375e-05, 1428, 1317), (1.6780238598648077e-05, 1552, 1437), (1.595236303861048e-05, 1690, 1559), (1.4980273577224228e-05, 1838, 1701), (1.4731713927580241e-05, 2003, 1704), (1.3716405469591e-05, 2036, 2028), (1.3190844145029392e-05, 2218, 2030), (1.1983754743937206e-05, 2416, 2235), (1.1383592359271774e-05, 2629, 2431), (1.091158451377753e-05, 2863, 2647), (1.0413611256829991e-05, 3119, 2651), (9.458395867794515e-06, 3165, 3146), (8.865579021269476e-06, 3449, 3190), (8.489809367792191e-06, 3756, 3461), (8.091663315538932e-06, 4094, 3769), (7.47160175409572e-06, 4168, 4136), (6.994836028913601e-06, 4532, 4193), (6.738241841942627e-06, 4939, 4545), (6.344997608749438e-06, 5001, 4961), (6.0209427518349526e-06, 5431, 5019), (5.778673238218438e-06, 5906, 5462), (5.308429450428779e-06, 6034, 5981), (5.075607412829728e-06, 6570, 6052), (4.863328800816382e-06, 7160, 6595), (4.609047161083632e-06, 7261, 6689), (4.346753665641134e-06, 7876, 6789), (4.095200329253209e-06, 8044, 7405), (3.874107658113895e-06, 8716, 8068), (3.65875697934366e-06, 9476, 8769), (3.4232143990153054e-06, 9698, 9571), (3.249972051099916e-06, 10570, 9583), (3.0794838144016235e-06, 11516, 10595), (2.8423668519474265e-06, 11782, 11614), (2.6940097660731794e-06, 12841, 11805), (2.5348583960834835e-06, 13937, 12809), (2.4018358468125492e-06, 15188, 13040), (2.1737919329058617e-06, 15754, 15480), (2.0590492021429276e-06, 17133, 15726), (1.9495214183364077e-06, 18648, 17103), (1.8159565998553e-06, 19089, 18699), (1.7141459960113621e-06, 20761, 19057), (1.604803468788322e-06, 22530, 20807), (1.5116131919871152e-06, 24525, 20877), (1.4454626799508603e-06, 26727, 21163), (1.3668440976336655e-06, 29129, 23058), (1.2138697943095815e-06, 30042, 29339), (1.1771007288801477e-06, 32743, 29435), (1.079478073712409e-06, 35656, 30687), (1.0056327166246743e-06, 36723, 35841), (9.507070964407096e-07, 39651, 36276), (9.059889112532594e-07, 43167, 39523), (8.46989573477848e-07, 47046, 43147), (7.972384233999394e-07, 50813, 44048), (7.299840794231451e-07, 53046, 51644), (6.893746463881194e-07, 57297, 52443), (6.597655109962277e-07, 62145, 56769), (6.133317284372115e-07, 67582, 62138), (5.748451479328372e-07, 70096, 67467), (5.544690148491572e-07, 74980, 67951), (5.145551275698942e-07, 81451, 74405), (4.83331858917258e-07, 88781, 74614), (4.5283078212897595e-07, 96758, 83247), (4.003138500062409e-07, 101310, 97926), (3.7863278433472284e-07, 110146, 100298), (3.569315764723918e-07, 119718, 109278), (3.380316168477475e-07, 130492, 109581), (3.015051257832472e-07, 136516, 130561), (2.779415069294081e-07, 148373, 135268), (2.637790532086688e-07, 161098, 146815), (2.4823347252791375e-07, 175572, 147272), (2.2670599810042016e-07, 182702, 175742), (2.1204922764967628e-07, 197679, 179855), (2.0000106847261326e-07, 214900, 195419), (1.8745954221745535e-07, 221921, 211588), (1.7569802201751083e-07, 241831, 217799), (1.6474204325121632e-07, 263551, 238406), (1.5252072588549272e-07, 286180, 261088), (1.4272019608060603e-07, 311862, 262543), (1.2835899688781425e-07, 327827, 313224), (1.2085343281751934e-07, 355722, 322646), (1.1398785043840314e-07, 387670, 350414), (1.0481112335803538e-07, 402425, 382772), (9.949534862003862e-08, 436666, 391795), (9.338292046889974e-08, 475630, 393329), (8.588047993213472e-08, 496458, 467074), (8.10635158576045e-08, 536192, 480610), (7.585434680783324e-08, 584415, 483656), (7.181939781812161e-08, 636775, 529683), (6.68989364460247e-08, 692943, 577592), (5.7715376298477634e-08, 743099, 697299), (5.360213182089146e-08, 809898, 723259), (4.973753111854671e-08, 882641, 791135), (4.6482061747846476e-08, 960357, 855066), (4.324924312193582e-08, 1046640, 891683), (3.8784732872576966e-08, 1102445, 1033194), (3.671509803369644e-08, 1193314, 1068816), (3.412484306203157e-08, 1300675, 1070953), (3.1553169522019506e-08, 1417639, 1255250), (2.9369866341305346e-08, 1544951, 1261341), (2.6892249814687277e-08, 1682313, 1335837), (2.4009596540166696e-08, 1797648, 1671406), (2.2488580489126496e-08, 1948694, 1745001), (2.1169654644716377e-08, 2104846, 1865312), (1.9550964101715878e-08, 2288814, 2046411), (1.800719740512502e-08, 2410759, 2219574), (1.6532115423863928e-08, 2623546, 2333674), (1.543389095630354e-08, 2845985, 2523906), (1.4417722987432565e-08, 3102048, 2542747), (1.3169343771778946e-08, 3367448, 3004665), (1.237946143397776e-08, 3669121, 3234618), (1.1193328871080274e-08, 3995130, 3546618), (1.0422464878856294e-08, 4354655, 3564815), (9.717488907942746e-09, 4745912, 3731378), (8.818239001367399e-09, 5164408, 4426608), (7.849291176592959e-09, 5536400, 5075787), (7.3875681662051376e-09, 5928760, 5463895), (6.925845155817315e-09, 6405454, 5918475), (6.478794389722256e-09, 6955472, 6123685), (6.020471695335034e-09, 7531708, 6654407), (5.614086009772352e-09, 8186944, 7219180), (5.1781757220541355e-09, 8872087, 7842525), (4.800388749189888e-09, 9622626, 8506353), (4.617230103878211e-09, 10243666, 9449594), (4.285370248802374e-09, 11116613, 9832336), (3.9643210493818865e-09, 12050107, 10673855), (3.6937840831025688e-09, 13079872, 11987844), (3.4698907622706534e-09, 14135172, 12425691), (3.2320610727147477e-09, 15243217, 14088351), (2.9863395391064533e-09, 16604727, 14165193), (2.7703380623269267e-09, 18012311, 16515817), (2.7703380623269267e-09, 18776665, 17280171), (2.578472647799598e-09, 20456275, 17916192), (2.3086150519391056e-09, 21484554, 19788216), (2.3086150519391056e-09, 23382543, 21686205), (2.3086150519391056e-09, 24461491, 22765153), (2.157769770100247e-09, 26587166, 23442448), (1.8468920415512844e-09, 28671016, 26383392), (1.8468920415512844e-09, 29952914, 27665290), (1.8468920415512844e-09, 31350183, 29062559), (1.7029183482265184e-09, 34099695, 30204823), (1.50256868258631e-09, 37167696, 30342586), (1.3851690311634633e-09, 39431782, 36571376), (1.3851690311634633e-09, 41241286, 38380880), (1.3851690311634633e-09, 43213645, 40353239), (1.3851690311634633e-09, 45363516, 42503110), (1.2794900021810055e-09, 49238664, 43691402), (1.1716231707251539e-09, 53669647, 43860631), (9.234460207756422e-10, 57751310, 53371558), (9.234460207756422e-10, 60305572, 55925820), (9.234460207756422e-10, 63089718, 58709966), (9.234460207756422e-10, 66124437, 61744685), (9.234460207756422e-10, 69432280, 65052528), (9.234460207756422e-10, 73037829, 68658077), (9.234460207756422e-10, 76967878, 72588126), (9.234460207756422e-10, 81251631, 76871879), (9.234460207756422e-10, 85920922, 81541170), (8.560616561354931e-10, 93479285, 83634008), (7.868773720025115e-10, 101892102, 83834694), (6.924843339250439e-10, 102481651, 89559456), (6.227415446595622e-10, 111703253, 89955194), (4.617230103878211e-10, 121663888, 112629915), (4.617230103878211e-10, 127211473, 118177500), (4.617230103878211e-10, 133258340, 124224367), (4.617230103878211e-10, 139849425, 130815452), (4.617230103878211e-10, 147033708, 137999735), (4.617230103878211e-10, 154864576, 145830603), (4.617230103878211e-10, 163400222, 154366249), (4.617230103878211e-10, 172704077, 163670104), (4.617230103878211e-10, 182845279, 173811306), (4.617230103878211e-10, 193899189, 184865216), (4.617230103878211e-10, 205947951, 196913978), (4.617230103878211e-10, 219081101, 210047128), (4.617230103878211e-10, 233396235, 224362262), (4.617230103878211e-10, 248999731, 239965758), (4.617230103878211e-10, 266007541, 256973568), (4.229804023196986e-10, 289866158, 260772509), (3.911750026940314e-10, 315950367, 261393970), (2.891639765020138e-10, 344320782, 287236931), (2.2890441657778764e-10, 347842948, 328471814), (2.0770704285404303e-10, 379147356, 329566832), (1.9076141388161525e-10, 413122000, 338993236), (1.6574486385074242e-10, 416707638, 370707652), (1.5086386713641863e-10, 454196469, 371956814), (1.2782904701482927e-10, 494559280, 404415217), (1.1602946054430789e-10, 498382832, 443089554), (1.0591145846025717e-10, 543230400, 444957565), (1.00661285104333e-10, 546488467, 480754740), (8.781273676202283e-11, 595630300, 483428040), (8.272035723932592e-11, 601994528, 527927301), (7.509805910305293e-11, 656152884, 530338345), (6.096554498868128e-11, 707438056, 631615542), (5.801473027215394e-11, 766141727, 670826668), (5.801473027215394e-11, 820191491, 724876432), (5.801473027215394e-11, 875292033, 779976974), (5.395962259395609e-11, 950363126, 831581600), (5.102893702976714e-11, 1035160665, 840947208), (4.441333581094464e-11, 1052537800, 916185397), (3.921755320510949e-11, 1144655165, 924187673), (3.467131705007376e-11, 1235721899, 1090801346), (3.401929135317809e-11, 1346225487, 1105622796), (3.11106960354819e-11, 1386933565, 1193866920), (2.7801466228888543e-11, 1504431502, 1296444499), (2.551077787256076e-11, 1631281749, 1307194221), (2.272101397594695e-11, 1778088303, 1412748946), (1.9961322464926026e-11, 1931624227, 1539617001), (1.8086860139611097e-11, 2099824404, 1801569156), (1.7984787762658786e-11, 2269056650, 1949925866), (1.7009645676589044e-11, 2471305943, 1980839680), (1.5581912021960496e-11, 2662854681, 2282088366), (1.4022452102428836e-11, 2850792079, 2455258411), (1.2574333939367717e-11, 3082595836, 2636924362), (1.160433284682477e-11, 3330798584, 2832676927), (1.0845651341530734e-11, 3598639725, 3081172469), (1.0359053990671401e-11, 3907289792, 3359570218), (9.559514229480547e-12, 4228057202, 3614777906), (8.916312072611957e-12, 4574402419, 3910661570), (7.781957805918145e-12, 4965583431, 4282483489), (7.1865181003877955e-12, 5409571651, 4605802416), (6.546244051806957e-12, 5821730906, 4988325800), (6.172507699901665e-12, 6297085568, 5348243223), (5.69795584094248e-12, 6863217051, 5402348745), (5.128875351167e-12, 7450172272, 6305344470), (4.729701633739884e-12, 8085571245, 6366670558), (4.593421120637317e-12, 8784767074, 7505346022), (4.237589819552639e-12, 9574390614, 7574526084), (3.8626655593703626e-12, 10397537524, 8871165348), (3.6194904603373894e-12, 11322109919, 9661924378), (3.4755441419258706e-12, 12262225067, 10493769358), (3.0998077965610376e-12, 13328197846, 11413746618), (2.9008261879152056e-12, 14527081031, 11507019250), (2.5389376208917287e-12, 15834272548, 12331083956), (2.313176922917996e-12, 17225368804, 14590414093), (2.1403256376962954e-12, 18759650094, 15892769617), (2.1372337608285074e-12, 20390489663, 16040028923), (1.937753301311961e-12, 20699517784, 17522065625), (1.8395614609062204e-12, 22421048840, 18888082462), (1.646354382954644e-12, 24366536100, 20646097198), (1.5182953747256954e-12, 26542489399, 22320718236), (1.3880894566574182e-12, 28902724920, 22566737582), (1.201933494845647e-12, 31493408377, 26525130423), (1.102760851029095e-12, 34257991956, 28666854038), (1.0190048975339995e-12, 37339550947, 28948069581), (9.513953509262396e-13, 40700074509, 31599728750), (8.759137702518831e-13, 44237450108, 34367082600), (8.378167441387686e-13, 48217667212, 37239757530), (7.642536731504997e-13, 52554877783, 40626431877), (6.857774890104942e-13, 53332755532, 44493050309), (6.468378013406915e-13, 58122079387, 44920663921), (5.740298761257541e-13, 63284273813, 49048980222), (5.165801495985979e-13, 68940194625, 53382230365), (4.991106981933116e-13, 69855435744, 58306451101), (4.575563342857538e-13, 76138700332, 58952165994), (4.1470810393321415e-13, 82985601697, 64142265561), (3.8162238823223277e-13, 90428515332, 70150905693), (3.477842794442404e-13, 91825000075, 76213518854), (3.142247275986184e-13, 100068307708, 77167441548), (2.8090521455071213e-13, 109065638990, 83855334545), (2.534633820592345e-13, 118875531907, 91390519861), (2.2739210857859886e-13, 129458001607, 100266919265), (2.065876423947932e-13, 141059933121, 109506467300), (1.8754635107283938e-13, 143168126184, 117891781972), (1.6984208849191053e-13, 156027034653, 128368525859), (1.5479189256584518e-13, 169946220825, 130888538882), (1.422986748632412e-13, 185105331078, 142241022343), (1.3278641685869256e-13, 188526494919, 154619787509), (1.2319880882240876e-13, 205492969492, 157043382330), (1.1076556459337054e-13, 223956512576, 171322523516), (9.820343987660328e-14, 244112408156, 185528448416), (8.895282364769309e-14, 266062610761, 202976592511), (7.894686671990247e-14, 289993315389, 220747477062), (7.186399291538234e-14, 316031562419, 241055120881), (6.776852776741895e-14, 343073910906, 262265839778), (6.226118863086286e-14, 373944252972, 284632671428), (5.594804720745923e-14, 407579687970, 310346241394), (5.029848733923743e-14, 444238937208, 338737544968), (4.568514595876291e-14, 484174734680, 368516665626), (4.114099913018015e-14, 527732364424, 401343493952), (3.7401209959696825e-14, 575181120650, 437234743654), (3.4315710893860306e-14, 626566131104, 478680240653), (3.1843178164863e-14, 682287506972, 520169259074), (2.860145596727503e-14, 743557321504, 564104219833), (2.526370104719634e-14, 808305840561, 624378629860), (2.331148186454171e-14, 880983972583, 675392386309), (2.1279364225410853e-14, 960047541694, 728224257413), (1.9570493381653634e-14, 1046438657823, 794028185593), (1.7523304764856157e-14, 1140531844512, 863125849222), (1.5640854841038877e-14, 1243091940768, 944576650117), (1.411745778590666e-14, 1345035353612, 1103218657372), (1.28220314324769e-14, 1454816010204, 1195020663687), (1.1711229409869935e-14, 1583126222560, 1289367903712), (1.0627895467066142e-14, 1725172922975, 1308112107711), (9.761444908740775e-15, 1880427422616, 1425310891839), (8.77076903160418e-15, 2049456843099, 1548634820604), (7.838479999900473e-15, 2225086732406, 1692470080560), (7.151873147605175e-15, 2425061807537, 1838901869906), (6.448947525264762e-15, 2643219827297, 1997388406713), (5.9069358391907215e-15, 2881077742633, 2177717362161), (5.373889062409901e-15, 3140225260998, 2368892167980), (4.891785444119566e-15, 3410561383142, 2581292773296), (4.441491999823776e-15, 3717384663173, 2805028732567), (3.9385372461814636e-15, 4050912178132, 3072183810778), (3.555576255945184e-15, 4415226070210, 3368318658099), (3.227798601738888e-15, 4811837004146, 3646371643103), (2.883072240164323e-15, 5236212963072, 3949395971200), (2.617031160161225e-15, 5706971112156, 4286103033602), (2.3706975884695685e-15, 6220374792242, 4689950971266), (2.153254098715641e-15, 6759938668261, 5509553366363), (1.948182279790342e-15, 7364051506905, 5986844323930), (1.825792717282109e-15, 7973339156934, 6433480223905), (1.6548099565109313e-15, 8690821705096, 6530342511066), (1.5233091986980425e-15, 9472661059045, 7123784267081), (1.3857306747677515e-15, 10325172359690, 7731048592230), (1.2666410461180386e-15, 11254382524823, 8472946182180), (1.1527098585320645e-15, 12266405663465, 9244316903806), (1.0464808205781984e-15, 13369873603538, 10041528810299), (9.46740018940697e-16, 14572451268647, 10980822381131), (8.610450429426296e-16, 15881863560200, 11952444488933), (7.822337356222897e-16, 17282455564722, 13027954353415), (7.131248955576325e-16, 18836538267357, 14098223274908), (6.472858607246139e-16, 20530105144040, 15406690590842), (5.906483617730169e-16, 22377804093629, 16798542265815), (5.285871281171836e-16, 24387232665752, 18265199430365), (4.800666619114881e-16, 26581460318602, 19934460357520), (4.378235526471289e-16, 28972447778072, 21656627572374), (3.9111686781114484e-16, 31560690929588, 23714389043575), (3.541020096676555e-16, 34391169108041, 27612489064294), (3.2488422518478386e-16, 37485523173794, 28031338313867), (2.9664339875003595e-16, 40818228295005, 32826473291053), (2.7489463383798054e-16, 44358658630243, 35700664915485), (2.5848301390735484e-16, 47889172925791, 38564864309076), (2.430971202223932e-16, 51884473021356, 41891334473543), (2.2258259530911104e-16, 56433563986623, 45581510402057), (2.0719670162414948e-16, 61300511065370, 49630925829731), (1.8689066808579693e-16, 66810841751811, 50328488356809), (1.6957556406224505e-16, 72817808103982, 54613964687360), (1.532781841827624e-16, 79365255207114, 59407312960456), (1.3743028192354189e-16, 86237527648368, 64634559417413), (1.2611880783310917e-16, 93882703523271, 70493798806280), (1.1282988702305169e-16, 95726878931516, 76577495400870), (1.0257262456641064e-16, 104324963551596, 83685346903310), (9.215774983370495e-17, 113712851028345, 85063134731218), (8.305863185060798e-17, 123930773068325, 92558863255669), (7.42139867908455e-17, 135079169298802, 100568110432318), (6.74277260292527e-17, 147225497766303, 109882974126905), (6.02651439353557e-17, 160470491759718, 119584722936219), (5.5335546444686154e-17, 163525761138892, 130803751678767), (4.9958799359061006e-17, 177843155174583, 141948977188520), (4.5684777854564917e-17, 193463838204976, 144774303425681), (4.137099623715427e-17, 210867134084201, 156256481435704), (3.8076358138930677e-17, 229217195300747, 171135389386102), (3.322712986170695e-17, 249815101313184, 187032671382236), (3.0181716058175914e-17, 272270543959260, 204811635916417), (2.730394389920853e-17, 296758247499942, 220216613591712), (2.4610187878733548e-17, 323459753664362, 239799995128670), (2.223930346650158e-17, 352565184791926, 260918196603614), (1.961069306662697e-17, 382329426403167, 306433794621762), (1.7929776518058944e-17, 414100609878533, 332636930756909), (1.6411619930625704e-17, 450657165399701, 358737072871963), (1.4567943420922892e-17, 487715766610783, 391363043959491), (1.3447332388544209e-17, 526660595493951, 421969465382425), (1.2308714947969277e-17, 572857820401416, 453061593045080), (1.1288535246354535e-17, 623255341788017, 493131897483666), (1.0257262456641065e-17, 678137336865091, 537195689920282), (9.522385458519733e-18, 736647685086259, 547405252903767), (8.884808839163359e-18, 802868075622259, 593365813925308), (8.052748416870291e-18, 874693439122416, 697630198874454), (7.180083719648744e-18, 953333896383891, 760460232213704), (6.473950295996275e-18, 1038997146619350, 773279307422681), (6.1543574739846386e-18, 1119974150389112, 895411368211109), (5.540805759162495e-18, 1220756070817393, 909870182293294), (5.0666860983672895e-18, 1328865451622406, 1062458601713011), (4.482444129514736e-18, 1432746602372358, 1157298294121948), (4.102904982656426e-18, 1557759641026302, 1241766640734935), (4.0972000306458495e-18, 1670671624976744, 1340233574364961), (3.622431455409269e-18, 1820781331031577, 1364327515230069), (3.2933161251282034e-18, 1984538291050510, 1494853707765909), (2.947405022875156e-18, 2156843198332749, 1608609247887422), (2.656436100724597e-18, 2350673901224980, 1756490571662369), (2.3050218768639038e-18, 2558498110904452, 1925765970031509), (2.0595337758680107e-18, 2788514622685859, 2102139726006422), (2.051452491328213e-18, 2993816757957782, 2396666692682491), (2.051452491328213e-18, 3212163273844356, 2581868763765469), (1.8123923856662393e-18, 3501119107799607, 2632359262234935), (1.624851486969637e-18, 3811829043087596, 2903896536143228), (1.4644184772573472e-18, 4152926037851027, 3117027336047714), (1.173065091014197e-18, 4315659635550578, 3439220261651327), (1.120611032378684e-18, 4589718306029825, 3723983105353284), (1.0257262456641065e-18, 4998613589668008, 3987968081124852), (1.0257262456641065e-18, 5354520096310588, 4289724012923472), (1.0257262456641065e-18, 5737451529052501, 4620167012361652), (9.663033756624557e-19, 6224827007984274, 5141394463121955), (8.691066093093408e-19, 6763319786326273, 5210823688111914), (7.430793354683269e-19, 6940499069354932, 5672108203397963), (6.659301823664543e-19, 7564605685405760, 5760594858464729), (5.950214835482055e-19, 7736988140401668, 6264959079053533), (5.60305516189342e-19, 8358330286783726, 6893070353998494), (5.129003818569921e-19, 9110375557738464, 7013975446415363), (4.585836714359355e-19, 9929436803311077, 7645867342442956), (4.1586401463270505e-19, 10815258733490144, 8316055433233156), (3.5200729290512814e-19, 11177113577560593, 9077973576464173), (3.1954198471679166e-19, 12181582003053086, 9248544455053181), (2.9374737393687493e-19, 12462116244568233, 10012279930171751), (2.645107071811037e-19, 13543903280340820, 10236761652136297), (2.3858632644035666e-19, 14761038132898246, 11151515742531489), (2.1379132737853636e-19, 15194216164637424, 12154190195647288), (1.947814307132541e-19, 16560630259469802, 12412983478944111), (1.733357496798517e-19, 18050011099493742, 13482204784611846), (1.5580511896588873e-19, 19671725870172226, 14641341801145887), (1.4080291716205127e-19, 20250152384121222, 15967488674467453), (1.274279505758221e-19, 21937264867771308, 17201873338229667), (1.1481415054976304e-19, 23910498001104886, 17614595361568863), (1.0756204988511106e-19, 26059520381909669, 19112962687991197), (9.373369064025014e-20, 28404032809457496, 20728663334398226), (8.423837774864617e-20, 30954989741265592, 22515174791754133), (7.629540341423309e-20, 31779433219790470, 24499567109914790), (7.296415380101561e-20, 34637342518373941, 25144183402633659), (6.401042303701605e-20, 37746780544721390, 27510516353164501), (5.76327163840648e-20, 41137242460708326, 29904143842723121), (5.1677795024673923e-20, 44839092239204335, 32424567265057574), (4.498494980809587e-20, 48872313800295020, 35281667514583304), (4.12827521548639e-20, 53057731286630196, 38484341777370470), (3.778724388301482e-20, 57619292990069120, 41647435723738885), (3.555849711196109e-20, 59909590590231800, 45719567589430283), (3.170880699950833e-20, 64914834370157750, 49473281186465268), (2.836321039538918e-20, 70457286748570129, 53579989102696392), (2.5773750630765394e-20, 76729743372159638, 58219706071719748), (2.3072199275255662e-20, 83272537577062439, 63048528530996249), (2.1299123106329313e-20, 90365735149234808, 68527765627126039), (1.9174826008907186e-20, 98490616128887269, 70505401004653974), (1.7330775762203708e-20, 107332067284883234, 76812694691805249), (1.555591652831534e-20, 116965659242703943, 83437375247369787), (1.3922432058168942e-20, 127105351569727200, 95827869260324731), (1.2669030794319783e-20, 138516498765526679, 98361921119464356), (1.1440214419803694e-20, 150151034598600627, 113311223309190126), (1.0358805268254344e-20, 163646197582208955, 116293178114861480), (9.326293049010821e-21, 177508350155316034, 126746076778299130), (8.479461918363251e-21, 193423044361668178, 145808565579178195), (7.646910696578603e-21, 210822639047181561, 149636309965521529), (6.879352684727404e-21, 228712734563734341, 171954226752250674), (6.2446346737149996e-21, 249247606769273433, 176425157317619703), (5.636137553936506e-21, 271645744202543028, 192372387429909187), (5.1191433105986525e-21, 296083181667561278, 210043405857878095), (4.622286784584949e-21, 322727680416188639, 229008010630106787), (4.1461130154382944e-21, 351186851245407090, 265431532310193964), (3.745200082264857e-21, 382314543077047214, 288863137925156300), (3.399838462259945e-21, 416686020252178685, 296271298862026694), (3.102042437370123e-21, 454141987636366108, 322112669076056619), (2.7742415973541554e-21, 494981534556993328, 350892984313291587), (2.4857354498741262e-21, 539486675719623771, 383632510022622652), (2.266558974839963e-21, 587966681444994101, 417855396741028454), (2.0343582351112444e-21, 640852828567915145, 456250548451911648), (1.834576452689028e-21, 698476593629608953, 497734763970953869), (1.650976663105437e-21, 761298344141548150, 542300771088817445), (1.5007837256104372e-21, 829656891843691050, 590421202764911218), (1.3425206732641427e-21, 904220542176417958, 643892379763810008), (1.2139113454163958e-21, 985298911395164618, 702560782653974004), (1.111157131904252e-21, 1073736318160571707, 766047546891826543), (1.0033201258322329e-21, 1103830996376599072, 835468284787610241), (8.967205817591985e-22, 1203054835622414521, 857982209154174722), (8.043937972357769e-22, 1311277484954530834, 935733171496585848), (7.271493646517286e-22, 1429181380790613650, 1019429587639405860), (6.494842120428103e-22, 1557765548705050420, 1110124058205007884), (5.846148320349083e-22, 1697790578792116339, 1210682784574612389), (5.3112850011591385e-22, 1849964579028036113, 1320008760970531658), (4.696578814230577e-22, 2016411503124722851, 1438067200496980575), (4.218518164581496e-22, 2197849319373932539, 1565892988809532019), (3.806255850645855e-22, 2392789833967643075, 1710811501522696038), (3.431112621635514e-22, 2602810870578588299, 1857711512107656234), (3.12379152683644e-22, 2830644474629665917, 2018145676415203366), (2.830236473469254e-22, 3085340570798151083, 2191878838665587493), (2.534340763878102e-22, 3362116795686763715, 2385932527305552514), (2.255767714717177e-22, 3660254504025273723, 2603625739871530949), (2.0444675694331562e-22, 3775384029824901835, 2828700998021518083), (1.8301003214527732e-22, 4112130048188829598, 3077893212530189024), (1.655346577519399e-22, 4464010416658710860, 3340652253474671869), (1.4993716836479412e-22, 4865642564728114309, 3436005666687653142), (1.3437810795731267e-22, 5303341689119419440, 3742627654452321730), (1.1964621034214799e-22, 5778543815263083533, 4074087890502260303), (1.075036015802148e-22, 6296964251517461292, 4436177596518400171), (9.607752847222024e-23, 6863145732116578411, 5111079689809349562), (8.660345127929534e-23, 7480693406313731579, 5259123275261485347), (7.799970518779865e-23, 8116474659590833682, 6045579454819279050), (7.042677325937776e-23, 8844285790829381563, 6588369177548291885), (6.332631202666256e-23, 9639000465033442120, 6775914242559375567), (5.667562837456022e-23, 10506186539257869793, 7821895189528817030), (5.092871152744674e-23, 11409203301007589047, 8053941903818396784), (4.6205350750890304e-23, 12406820006245053939, 8762449854277438757), (4.149783294608603e-23, 13508977643466579230, 9540222305867099978), (3.724295561132059e-23, 14723538915126786513, 10355581394393390791), (3.3085719559405386e-23, 16048039107882590472, 11276056218871695875), (2.960363624267717e-23, 17491390925114012342, 12303937338425402316), (2.65486103402639e-23, 19064415161731348835, 13412897661783611825), (2.3866112293094563e-23, 20778650170064941194, 14621799658443073707), (2.129071534386254e-23, 22644582680962224474, 15954201252426753746), (1.9071505207307593e-23, 24682038146431763031, 17374118896595716048), (1.7095768120781764e-23, 26895943346787601365, 18943728626446486972), (1.5227989407080486e-23, 29311433331883323834, 20644058314825643659), (1.3605174603335967e-23, 31949012615793610691, 22502081744775793429), (1.2337754976086113e-23, 34732947193203777143, 25952300219662576336), (1.1101504951211023e-23, 37851149807720617614, 26678874921093662098), (9.908860696850647e-24, 41257212116935695731, 29093510103713409397), (8.896780424535319e-24, 44962145113294191364, 31664567237045423215), (7.974912084382547e-24, 49006225996335946390, 34512599730043631469), (7.080019199352082e-24, 53400554424287834888, 39841435823794289044), (6.3532437187713695e-24, 58204525818659996265, 40971243457878938147), (5.710417111173029e-24, 63433496490824264444, 44626519111810527429), (5.1755836552225636e-24, 69002865110224610227, 51397823031752995007), (4.642188513213547e-24, 75207970591290478411, 52847317011954267563), (4.180670035961221e-24, 81965524832824256733, 57579091072705803462), (3.733880871812694e-24, 89327245602188417854, 62727872672303658358), (3.3719711693116704e-24, 97254297692753493243, 72423131151939457932), (3.0321601212415022e-24, 105783923635072075911, 78823381958685358265), (2.7122770503047207e-24, 115294493944287011073, 81052622755610790005), (2.439669063067876e-24, 125545029659038732303, 93562059720274110829), (2.2125059997975244e-24, 136217143205201846621, 101600738850838224117), (1.989277407751785e-24, 148459266782127296913, 104401281584602420197), (1.8003105011619877e-24, 161808423013768556073, 113898117479442019815), (1.6116233549449386e-24, 176362253127674759867, 124046852478025865871), (1.4543456437435707e-24, 192217140741726162869, 135492304807581859856), (1.2986344386514894e-24, 209488365051728497235, 147606966056166202088), (1.1538638885020003e-24, 228288059437055682469, 170667831630024803263), (1.0410863002874764e-24, 248787151781872409031, 175389595268824399692), (9.279467255392494e-25, 271147760429902447484, 191194684469522411229), (8.350247550711248e-25, 295534044570902554427, 208607220172862412221), (7.50952903419968e-25, 322102945052473702353, 227093462675979908317), (6.722508743031788e-25, 351077747433569245733, 247560904586805010808), (6.074278075393487e-25, 382623280763326952206, 286306265430943761716), (5.426519614224996e-25, 416997585293702275205, 294324574885848526888), (4.856971469340715e-25, 454458426842436905173, 320777390201176606439), (4.337169940352519e-25, 495319057920775239452, 349952630917356150369), (3.8916980238846965e-25, 539822283223222547538, 382320424486832260976), (3.4953277023486903e-25, 588392347016587875455, 417044848085546774984), (3.126477965106666e-25, 641155913195831448353, 456145806237148799159), (2.8103042788503816e-25, 698772649998689145740, 499070446636897362223), (2.5054587625670933e-25, 761553449200050292535, 545595319101192999777), (2.2490940254741287e-25, 830073007731782802567, 596215500532900200588), (2.011480991303486e-25, 904752626665698448785, 650363632242478865825), (1.7935729883922435e-25, 986140814548229369884, 709335384125739906162), (1.6006151717293228e-25, 1074804245647193399325, 774673996394425427242), (1.428151503825475e-25, 1171374702460677489004, 845352971469278097784), (1.2696236960863436e-25, 1210876687377204890437, 925918895179384548115), (1.1292473379578169e-25, 1319561334393253223420, 953425476643003462214), (1.0165341970174071e-25, 1438299053058225119931, 1036974965702740247285), (9.086732531602218e-26, 1567425259803142237641, 1129250387290668737506), (8.150761878268296e-26, 1705619346445599915658, 1235102135701271454955), (7.309437343623158e-26, 1858747372384626421760, 1340584060349238160921), (6.472591391812732e-26, 1933862358493677378302, 1468636368885652624599), (5.974699746288675e-26, 2082010108981109423380, 1581850332582579720769), (5.333247833642213e-26, 2269199637539496302452, 1630786268317966511655), (4.7597915871690803e-26, 2473117123866961451443, 1780253257659507248163), (4.275098891661192e-26, 2695189276676277210069, 1941156032491676946737), (3.8197381966793196e-26, 2932385118008892777223, 2117825654305270121349), (3.411626912760402e-26, 3195693322394295390428, 2308734671332972966300), (3.031543351884307e-26, 3483263725124710377661, 2501284814795513583326), (2.7237989061554815e-26, 3786330684354312788158, 2727570375181115784769), (2.444587274136394e-26, 4126604733988755192847, 2968937708762377668983), (2.210230106530814e-26, 4497629860149080449227, 3239457811439819672914), (1.9822651401848332e-26, 4902003808942357922339, 3526536951764782590313), (1.742497616732463e-26, 5342062285563260303573, 3863953227199328464723), (1.493674936572169e-26, 5606116589729140204780, 4259109145799337779492), (1.493674936572169e-26, 5900152160406021287590, 4481186848568874096203), (1.3447647014103887e-26, 6430400461620339835135, 4624248762468768798958), (1.202965088846629e-26, 7007147679748227455473, 5066000224463810686663), (1.0727898620285258e-26, 7637049369598944139172, 5533470783799408445216), (9.587949075633347e-27, 8322793570439590825545, 6042707097564726795364), (8.562744549948768e-27, 9071261720466923257984, 6581337570686830844968), (7.468374682860844e-27, 9450598177424791786266, 7262636693010118567613), (7.468374682860844e-27, 9932738777677428383409, 7633274195662867664374), (6.642530878225996e-27, 10825903169158357289547, 7884475655273642495733), (5.945017608357059e-27, 11800059858219133934847, 8645797941745499282487), (4.978916455240563e-27, 12431741650711815482433, 9627858035266056376520), (4.978916455240563e-27, 13067687612995549486406, 10116033586487160799910), (4.500218466868109e-27, 14242144235649626346848, 10450483184929496570388), (3.734187341430422e-27, 15073374273835792595344, 11668730332548357482045), (3.734187341430422e-27, 15812370724291830354012, 12300883382120810897442), (3.354726808045563e-27, 17235174570984514855947, 12720330788773473728330), (2.6134602060213804e-27, 18785956600661152793194, 13776424397927577838195), (2.4894582276202813e-27, 19928090663250120965379, 15677391835077640275577), (2.4894582276202813e-27, 20894587893141243278272, 16440013756774048168052), (2.4894582276202813e-27, 21927417125443874181313, 17263317091559511638951), (2.251824669620619e-27, 23898851425047759234590, 17851019214639908296652), (1.7366919345259002e-27, 26047607971442993096814, 19314189833583001966387), (1.375656013209839e-27, 28377579490652670075059, 20996367575930728526879), (1.2447291138101407e-27, 30847257102989481050375, 24480929186790422373397), (1.1922352114485273e-27, 33471874807763476600014, 26364753455324129043035), (9.512963716939447e-28, 36479569331306420064434, 28288485650836685679031), (7.789517697927392e-28, 39759152279977703364773, 30518488472949609211159), (6.547150484331714e-28, 43336774090831763233023, 32979035225612783881107), (5.46096633449936e-28, 47205244151769724968955, 37692187795077166535153), (4.569537408458133e-28, 51415578465057820291472, 40575552245711711580068), (3.8329230699677188e-28, 56042455676214483393401, 43701967786038103687062), (3.276830798725793e-28, 61084060682416468411123, 47121478103459938558682), (2.7778885929272424e-28, 66552998518506764864455, 50896081075695660918053), (2.4111871943907203e-28, 72534756748219979201306, 54981381689377350191588), (2.086234404346456e-28, 79053412544459202653856, 59455040028811252161536), (1.8290772521333816e-28, 86160792064653182085188, 64431961783617496100302), (1.5591807919945643e-28, 93860299839850010838298, 69615045129827002468144), (1.3756560132098392e-28, 101581148485153370497171, 75545519384952201234224), (1.193677499044275e-28, 110708549035639402233492, 81170819102064904090868), (1.0288777151955316e-28, 120591010930577412511512, 87878490895097985317145), (9.171040088065595e-29, 131163448687562335610910, 96184002143249830550546), (8.217661375616823e-29, 142947565998816520141960, 103609083751008804556464), (7.05553291789317e-29, 155767990010431269337933, 112223865298309354950101), (6.120644735961055e-29, 169728028458252992367763, 121610228994293963703577), (5.35499693698492e-29, 184907015663230400425517, 131867549975929115923399), (4.6824582194695e-29, 201461726661380713336633, 143002100235990637960403), (4.202818284703454e-29, 219515071084455321533995, 157135277238017860172534), (3.669651914890828e-29, 239269507015391080010051, 170518793730302408762686), (3.2224863672040104e-29, 260720918474818182893780, 185006928619323337956642), (2.7994440966708004e-29, 284072143530468272298491, 200829233535116574661484), (2.4754428976241255e-29, 309481928321020259069311, 218099510689654970743989), (2.1880628929967647e-29, 337332590947976563027832, 239043461025242678099703), (1.9336600609434775e-29, 367692126265795393642188, 259660798452734504579816), (1.7033142226649764e-29, 400761086517153918753590, 282221280672626297341779), (1.5101573071167372e-29, 436669087487897733431020, 306733862825164513609004), (1.3272750600426062e-29, 475699860998102869426335, 333413995564554615523107), (1.1710385078268475e-29, 518503198246382530745911, 362756236255717639717765), (1.0379804339515436e-29, 565020836193676088874674, 394579137166607512918942), (9.139074816916266e-30, 615780387464420305795779, 429703254407186178495370), (8.136536477998114e-30, 670913737692541400458261, 467137987309428051445537), (7.14691520562207e-30, 731282853390429620215212, 508924551184419763306348), (6.331625177598187e-30, 796609520424349186381304, 553587916701776493758824), (5.6094506359457745e-30, 867931084107998046361753, 602324728989658699756567), (4.96525960661026e-30, 945835440563258652900452, 656538994438319183992708), (4.389574311177502e-30, 1030835879435431454983506, 714977634063085514475420), (3.893977211528428e-30, 1123565560664286098590346, 779562924876997102419179), (3.442743800750455e-30, 1224032064501504491775932, 848709441551300560889229), (3.0339615426996647e-30, 1334025972163509098904589, 923800913399835784388439), (2.7119285876254006e-30, 1453475627082153122971828, 1008793709568272593683812), (2.409357624183885e-30, 1583583469426062298187815, 1099340700625116648308944), (2.1066972898945232e-30, 1725636390558355631551107, 1196880624299205676938759), (1.8525057454206864e-30, 1880187907760070793002211, 1306909803136284668875238), (1.643690759426879e-30, 2048701036167403627995308, 1421967906977326319849379), (1.4423173860304405e-30, 2231135910338629138821463, 1548579962076645858700100), (1.2769664223727434e-30, 2430604502082612156718821, 1696098351108021775463039), (1.129307907560431e-30, 2649298767028553158175609, 1847593235103756329690805), (9.877266104016936e-31, 2886943525146841099463289, 2015391857420874218871693), (8.597028708613004e-31, 3145849639621792915287581, 2199102078392976027251942), (7.614634558799497e-31, 3428169445867978313958287, 2396336894565887360140153), (6.787417991130471e-31, 3735524302756222992448087, 2617480834160620465974049), (5.891147548358563e-31, 4071541306174083061025911, 2856856785607805029459415), (5.155089245493168e-31, 4434326411111936603984813, 3110599303746768375069072), (4.505720665039069e-31, 4829649260973190307639505, 3387114948256238512768618), (3.970448867002585e-31, 5260741334255834601850007, 3691597268392062476606360), (3.4704487635829327e-31, 5730799696420068083155532, 4019520463370477617114298), (3.0650923880329317e-31, 6243855724926536058571081, 4389213999042327945002418), (2.7119285876254007e-31, 6805093057967221867590537, 4781010003513431065132680), (2.3392819423872903e-31, 7412911929927019796962607, 5207991898339206874149792), (2.0535633418214e-31, 8077322800497056184029531, 5677298258214607889809509), (1.8064529475252837e-31, 8803901898839918560893608, 6187307460081377719408441), (1.5811490401037607e-31, 9592459907428609568698540, 6742426509119087232369495), (1.3772494507415218e-31, 10454682794305646947374665, 7349190174982437777330821), (1.2137156943233746e-31, 11387686458190288175441718, 8012507342237786377140296), (1.0564825826784191e-31, 12405046820320750036101367, 8731515423774973231141111), (9.33389134910902e-32, 13520601224018905158644221, 9509122934111108972959430), (8.10831912230465e-32, 14735062634314000836111890, 10379649575768869579775983), (7.002205928788697e-32, 16050959564864796435909527, 11313507126908366298669145), (6.139181441415762e-32, 17480792734973480157743522, 12356762279784521371961824), (5.411404837117494e-32, 19043058762423202100537183, 13458673777775068595516966), (4.689288386516184e-32, 20755219511404880911226046, 14703520412082713439550868), (4.068160993981641e-32, 22619129033471129088963324, 16030675951262600403101341), (3.539085574729196e-32, 24631651480273078702137928, 17452184650737163967293498), (3.114574047457385e-32, 26833165845045404755275552, 19072686338598251933846199), (2.712107329321094e-32, 29240090468023735495348563, 20787310269278492181018473), (2.3340686429295662e-32, 31865398379946493802010614, 22680127278759996544381899), (2.0376553309046883e-32, 34706268387248413391515060, 24690991082985435805221690), (1.782948414541602e-32, 37803101926974020768697886, 26876601353773675861448975), (1.5419450281816766e-32, 41183527386821711276913547, 29339837398530876362713095), (1.3477123855281887e-32, 44825492690387102212827576, 31964320428476744134712400), (1.169864398313262e-32, 48805912903280825333084539, 34788674404968668392372849), (1.0277647502370137e-32, 53155468863038723253984594, 37890636887725668464279129), (8.90729450205412e-33, 57907718811224369164492355, 41253656903649002498735007), (7.726109796346943e-33, 63071745928117355002810943, 44923285084701554684338329), (6.792184436348961e-33, 68698858506047624864738183, 48922304331294576132336356), (5.899965472012771e-33, 74858922918006987495429923, 53340197094793506293586403), (5.1120124968310604e-33, 81558525973659986020740934, 58202758924659065630292190), (4.4610948216809515e-33, 88871330504080286045085130, 63362579007189170645147019), (3.8876318813313134e-33, 96852461922409550459466457, 69148924291760837142003347), (3.3737495062128065e-33, 105475677423955700003470011, 75313107767917289155579751), (2.949237978940996e-33, 114838227558047860962585095, 82126807938532956897859599), (2.5857965310310955e-33, 125057886575596992582950330, 89554836209832484368344004), (2.246187309213648e-33, 136158663142663271537494346, 97636235940706950756511996), (1.94977399718877e-33, 148347092674279140943173326, 106483948766812209755507433), (1.7040041656103537e-33, 161695710634858651246577138, 116242418630419811150888207), (1.4895141307782808e-33, 176157617501333068663592919, 126769920328326775400038165), (1.2780031242077651e-33, 191982481284206596201465046, 138220819726148875137787507), (1.1081985132990411e-33, 209068804364784326423494936, 150873787317946118532884322), (9.652051567443262e-34, 227544548077626801687438373, 164564738382284497686470079), (8.47533540412842e-34, 248021877719254056825182155, 179582731652706523902066520), (7.298619240813574e-34, 270215302441901744339421839, 196088914051029866900253201), (6.434701044962174e-34, 294325006712011823991229996, 214105048859884654615764585), (5.421831436032943e-34, 320767023073930966110251609, 233693894986578150919341257), (4.677074370643803e-34, 349179745766855289093020965, 255265662204654956608331371), (4.111059000948055e-34, 380520475685630803962573900, 279566932316798010128124679), (3.485463066021177e-34, 414308072129535513252968155, 305102766487627268280712483), (2.979028261556562e-34, 451510878842379709612852395, 334058548847300381870377056), (2.5917545875542087e-34, 491812212520115135595896872, 364276859433196867715483911), (2.2044809135518558e-34, 535365629450307140887459189, 397504605399817977231248543), (1.876787804780634e-34, 583102826065690514152786698, 435518030958347077653462867), (1.5788849786249779e-34, 634922989989205526157036154, 475916334663763838897836614), (1.3405627177004529e-34, 691150018941677097553320543, 520794635802779243990327168), (1.161821022007059e-34, 752939641266552150301936720, 567611922256303407167321293), (9.532890436980999e-35, 819113644280390922838546757, 622723045099489646340784408), (7.894424893124889e-35, 892200001843944268884653157, 681287850135106544317838622), (6.702813588502264e-35, 971788635010956945316842170, 747685250229912224196740094), (5.362250870801812e-35, 1056991198166323801061801996, 821682998310451271397096667), (4.4685423923348433e-35, 1149956320429184126187683408, 899333867036186320625410878), (3.87273674002353e-35, 1252317231951158999292886654, 984452365711087882348426338), (2.979028261556562e-35, 1362804073394576305894889767, 1078952537061019279751697447), (2.3832226092452496e-35, 1484106547974935592891831402, 1188512629660770599825236756), (2.0853197830895929e-35, 1616656557362776302689749266, 1297926210057315489218836508), (1.7874169569339372e-35, 1757796561133596979479234847, 1404080308528733427842487167), (1.340562717700453e-35, 1915541419546474937281032110, 1554947617292674489531089412), (1.0426598915447966e-35, 2085552600524260440295924113, 1699741233126597252181411135), (8.937084784669686e-36, 2272388044264806691030486646, 1851216310745734114921743289), (7.447570653891405e-36, 2469187626795270003107666413, 2029760513607800817057866087), (5.958056523113124e-36, 2683404207841930519091632267, 2212310005041052879940313716), (4.468542392334843e-36, 2920741413441640248572196477, 2441321853640675755089894478), (2.979028261556562e-36, 3180632343961085898297545615, 2722933189432968471196898141), (2.979028261556562e-36, 3466550453950861829026838444, 2946501750497284535307690701), (1.489514130778281e-36, 3771960878903431321649883013, 3353348167892932229984250008), (1.489514130778281e-36, 4097471237815681731784782300, 3744056922416308616311455640), (7.447570653891405e-37, 4137130726522957528358862624, 4137130726522957528358862624)]
first=True
last=True
f=len(password)
l=-1
if (password.isascii()):
for i in range(len(password)):
if (not (password[i].isdigit() or isSymbol(password[i]) )) and (first==True):
f=i
first=False
if (not (password[-(i+1)].isdigit() or isSymbol(password[-(i+1)]))) and (last==True):
l=-(i+1)
last=False
if f==len(password):
p=password[0:f]
maxProb=0
for i in range(0,len(p)+1):
for j in range(i,len(p)+1):
P1=p[:i]
unLeetP2=p[i:j]
P3=p[j:]
pp1=BS.main(path+"/a1.txt",P1)
pp2=BS.main(path+"/a2.txt",unLeetP2)
pp3=BS.main(path+"/a3.txt",P3)
if (pp1!=None and pp2!=None and pp3!=None ):
if float(pp1)*float(pp2)*float(pp3)>maxProb:
maxProb=float(pp1)*float(pp2)*float(pp3)
pos1="()"
pos2="()"
if maxProb>0:
pp4=BS.main4(path+"/a4.txt",pos1)
pp5=BS.main4(path+"/a5.txt",pos2)
prob=maxProb*float(pp4)*float(pp5)
L=ESrank.main2(L1,L2,prob,14)
L=sum(L)/2
else:
L=-5
else:
if f!=0:
P1=password[0:f]
if l!=-1:
P2=password[f:l+1]
P3=password[l+1:]
else:
P2=password[f:]
P3=""
else:
P1=""
if l!=-1:
P2=password[f:l+1]
P3=password[l+1:]
else:
P2=password[f:]
P3=""
unShiftP2,pos1=unShiftWord(P2)
unLeetP2,pos2=unLeetWord(unShiftP2)
pp1=BS.main(path+"/a1.txt",P1)
pp2=BS.main(path+"/a2.txt",unLeetP2)
pp3=BS.main(path+"/a3.txt",P3)
pp4=BS.main4(path+"/a4.txt",pos1)
pp5=BS.main4(path+"/a5.txt",pos2)
if (pp1!=None and pp2!=None and pp3!=None and pp4!=None and pp5!=None):
prob=float(pp1)*float(pp2)*float(pp3)*float(pp4)*float(pp5)
L=ESrank.main2(L1,L2,prob,14)
L=sum(L)/2
else:
L=-5
return L