-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbenchmark.sagews.html
233 lines (225 loc) · 252 KB
/
benchmark.sagews.html
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Benchmark</title>
<meta name="description" content="automatically generated from '8060ce0b-6c33-41d9-b47f-e55326e9b359:benchmark.sagews' on CoCalc">
<meta name="date" content="2018-03-06T13:54:31">
<meta data-name="smc-generated" content="version:2">
<style>
html {
font-family: sans-serif;
display: flex;
align-items: center;
justify-content: center;
margin: 0; padding: 0;
}
body {
width: 50rem;
counter-reset: line;
padding: .5rem;
}
@media print {
body { width: 100%; margin: 1rem 1rem 1rem 6rem; font-size: 10pt; }
}
pre { margin: 0; }
div.output + pre.input { margin-top: 1rem; }
div.output {
border-left: .2rem solid #33a;
padding: .3rem;
margin-left: -.5rem;
line-height: 1.5;
}
div.output img {
max-width: 70%;
width: auto;
height: auto;
}
div.output.stdout,
div.output.stderr,
div.output.javascript { font-family: monospace; white-space: pre-wrap; }
div.output.stderr { color: #F00; border-color: #F33; }
span.sagews-output-image > img,
span.sagews-output-html > img
{ vertical-align: top; }
pre.input {
border-left: .2rem solid #3a3;
padding: .5rem;
margin-left: -.5rem;
}
pre.input > code {
display: block;
line-height: 1.1rem;
}
pre.input > code:before {
margin-left: -3rem;
counter-increment: line;
content: counter(line);
display: inline-block;
padding: 0 .3rem 0 0;
margin-right: .5rem;
color: #888;
min-width: 2rem;
text-align: right;
user-select: none;
}
div.header { margin-bottom: 1rem; }
table.header td { border: 0; }
table.header tr>td:nth-child(2) {
font-weight: bold;
font-family: monospace;
}
table {
border-spacing: 0;
border-collapse: collapse;
margin-top: .5rem;
margin-bottom: .5rem;
border-color: #888;
}
table td, table th {
padding: .5rem;
}
table tr>td {
vertical-align: top;
border-top: .05rem solid #888;
}
table tr>th {
vertical-align: bottom;
border-bottom: .1rem solid #888;
}
footer {
margin-top: 1rem;
border-top: .1rem solid #888;
font-size: 70%;
color: #888;
text-align: center;
}
</style>
<!-- the styling of the highlighted code; should be printer friendly -->
<style>
.cm-keyword { font-weight: bold; color: #339; }
.cm-atom { color: #666; }
.cm-number { color: #333; }
.cm-def { color: #333; font-weight: bold; }
.cm-variable { color: black; }
.cm-variable-2 { color:black; }
.cm-variable-3 { color: black; }
.cm-property { color: black; }
.cm-operator { color: black; font-weight: bold; }
.cm-comment { color: #777; }
.cm-string { color: #333; }
.cm-meta { color: #039; }
.cm-qualifier { color: #666; }
.cm-builtin { color: #393; font-weight: bold; }
.cm-bracket { color: #666; }
.cm-tag { color: #444; font-weight: bold; }
.cm-attribute { color: #777; }
.cm-error { color: #000; }
.cm-header { font-weight: bold; }
.cm-header-1 { font-size: 1.2rem; }
.cm-header-2 { font-size: 1.15rem; }
.cm-header-3 { font-size: 1.12rem; }
.cm-header-4 { font-size: 1.1rem; }
.cm-header-5 { font-size: 1rem; }
.cm-em { font-style: italic; }
.cm-strong { font-weight: bold; }
</style>
<script type="text/javascript">window.MathJax = {"skipStartupTypeset":false,"extensions":["tex2jax.js","asciimath2jax.js"],"jax":["input/TeX","input/AsciiMath","output/SVG"],"tex2jax":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]],"processEscapes":true,"ignoreClass":"tex2jax_ignore","skipTags":["script","noscript","style","textarea","pre","code"]},"TeX":{"MAXBUFFER":100000,"extensions":["autoload-all.js","noUndefined.js","noErrors.js"],"Macros":{"Bold":["\\mathbb{#1}",1],"ZZ":["\\Bold{Z}",0],"NN":["\\Bold{N}",0],"RR":["\\Bold{R}",0],"CC":["\\Bold{C}",0],"FF":["\\Bold{F}",0],"QQ":["\\Bold{Q}",0],"QQbar":["\\overline{\\QQ}",0],"CDF":["\\Bold{C}",0],"CIF":["\\Bold{C}",0],"CLF":["\\Bold{C}",0],"RDF":["\\Bold{R}",0],"RIF":["\\Bold{I} \\Bold{R}",0],"RLF":["\\Bold{R}",0],"CFF":["\\Bold{CFF}",0],"GF":["\\Bold{F}_{#1}",1],"Zp":["\\ZZ_{#1}",1],"Qp":["\\QQ_{#1}",1],"Zmod":["\\ZZ/#1\\ZZ",1]},"noErrors":{"inlineDelimiters":["$","$"],"multiLine":true,"style":{"font-size":"85%","text-align":"left","color":"red","padding":"1px 3px","background":"#FFEEEE","border":"none"}},"noUndefined":{"attributes":{"mathcolor":"red","mathbackground":"#FFEEEE","mathsize":"90%"}}},"HTML-CSS":{"linebreaks":{"automatic":true},"scale":80},"SVG":{"linebreaks":{"automatic":true},"styles":{".MathJax_SVG .noError":{"vertical-align":"","font-size":"85%","text-align":"left","color":"red","padding":"1px 3px","border":"none","background":"#FFEEEE"}}},"showProcessingMessages":true,"CommonHTML":{"scale":80}};</script>
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML">
</script>
</head>
<body>
<div class="header">
<h1>Benchmark</h1>
<table class="header">
<tr><td>Author</td><td>Marcus Lenander</td></tr>
<tr><td>Date</td><td>2018-03-06T13:54:31</td></tr>
<tr><td>Project</td><td>8060ce0b-6c33-41d9-b47f-e55326e9b359</td></tr>
<tr><td>Location</td><td><a href="https:/localhost/projects/8060ce0b-6c33-41d9-b47f-e55326e9b359/files/benchmark.sagews">benchmark.sagews</a></td></tr>
<tr><td>Original file</td><td><a href="data:application/octet-stream;base64,77igNTEzYjQ3NGUtM2IxNS00OTBmLThjZGMtOTE5ZDc5ZTBkMmEy77igCiVtZAojIEJlbmNobWFyawpIZXJlIGFyZSB0aGUgdmFsdWVzIHVzZWQgdG8gYmVuY2htYXJrIHRoZSBmYWN0b3JpemF0aW9uIGZ1bmN0aW9ucwrvuKEyMjgwMjI0NS00N2M2LTRjNTgtYjY5Ny0yZjI3NWI3ZDAzNWTvuKF7ImRvbmUiOnRydWUsIm1kIjoiIyBCZW5jaG1hcmtcbkhlcmUgYXJlIHRoZSB2YWx1ZXMgdXNlZCB0byBiZW5jaG1hcmsgdGhlIGZhY3Rvcml6YXRpb24gZnVuY3Rpb25zIn0K77igMDM3ODMxZWUtYzk4My00MWJmLWEzMmEtNjM3ZjhhZGIzNzk0c++4oAojIFRoaXMgY2VsbCBuZWVkcyB0byBiZSBleGVjdXRlZAoKaXRlcmF0aW9ucyA9IDEwCgpzbWFsbFByaW1lcyA9ICgic21hbGwgcHJpbWVzIiwgWygyLCBbKDQ4MSwgWzEsIDEzLCAzN10pXSksICgzLCBbKDMxMDkzLCBbMSwgMzEsIDE3LCA1OV0pXSksICg0LCBbKDEyMTMwNDUsIFsxLCAzNywgNSwgODMsIDc5XSldKSwgKDUsIFsoMTUwMDE2MTMsIFsxLCAzMSwgMzcsIDI5LCAxMSwgNDFdKV0pLCAoNiwgWygzNDI5MjM4NzY5LCBbMSwgNDcsIDk3LCA1OSwgMTEsIDE5LCA2MV0pXSksICg3LCBbKDIwNjM5NzgwOTEwNSwgWzEsIDM3LCA3OSwgNSwgNTMsIDQxLCA2NywgOTddKV0pLCAoOCwgWyg3MzExNDYxMzAwNjg3LCBbMSwgNDEsIDIzLCA3MywgNDEsIDU5LCA4MywgMjMsIDIzXSldKSwgKDksIFsoNDcyMjEzNTc0OTU4NTIxLCBbMSwgNDEsIDUzLCAzNywgNDcsIDYxLCAxMSwgNzEsIDYxLCA0M10pXSksICgxMCwgWygzNDQzMTg3OTQ5Njk1LCBbMSwgMjksIDQzLCA4MywgNSwgNzMsIDQxLCAxMywgMywgMTksIDNdKV0pLCAoMTEsIFsoMzA5NzczMDk0MzM2NjQyNjk1LCBbMSwgNSwgOTcsIDExLCAzMSwgODMsIDk3LCAzMSwgODksIDQzLCA1MywgMzddKV0pLCAoMTIsIFsoNjIyNjMwMDIyNjIwODM3MzUsIFsxLCA0NywgODMsIDE3LCA0MSwgNTksIDU5LCA0MywgMywgNywgNDcsIDMxLCA1XSldKSwgKDEzLCBbKDY2NjUzNjU0NDQwNTU4MDMwMywgWzEsIDMxLCAyMywgNywgNDcsIDIzLCA2NywgMzcsIDM3LCAxOSwgMTMsIDQxLCAxOSwgN10pXSksICgxNCwgWyg1NjE0MjA1OTI1NzM4OTM1Mzg1MywgWzEsIDMsIDM3LCAxMSwgMzcsIDE5LCA5NywgMTEsIDMxLCA1MywgMzEsIDY3LCAxMSwgNzEsIDIzXSldKSwgKDE1LCBbKDMxNzMzODkwMTE0ODA4MjQ2NTc4MjksIFsxLCAzLCA3OSwgNTksIDUzLCAzMSwgNywgMjMsIDQzLCA3MywgMTEsIDcxLCAzLCA3MSwgMzEsIDUzXSldKSwgKDE2LCBbKDE1ODYzMzU5MTYzNzQyMTY2MTk3ODI1LCBbMSwgMzcsIDMsIDE5LCA2MSwgNSwgMTEsIDc5LCA3OSwgNjcsIDMsIDcxLCA1LCA3MSwgOTcsIDQzLCAxN10pXSksICgxNywgWygzODM5MzU4MjU2MDU2OTMyODI3NjAyMzQ1LCBbMSwgNjcsIDE3LCAyOSwgMTksIDUzLCA0MSwgMTksIDE5LCAzNywgNzMsIDg5LCAxMywgNSwgNTMsIDMsIDczLCA0M10pXSksICgxOCwgWygxODcxMDMxNzczOTg4NzgwMjA1Mjc0MDU1NjU1NSwgWzEsIDk3LCA4OSwgODksIDgzLCA1OSwgNSwgNzksIDU5LCA3MywgMTMsIDExLCAzMSwgMzEsIDI5LCAzLCA4OSwgNjcsIDQxXSldKSwgKDE5LCBbKDE1NTkwMzYzMjUxNTE4NzU1MjM1OTAxODk4ODU3NSwgWzEsIDk3LCA0MywgNDcsIDg5LCA5NywgMTEsIDczLCA3MywgNjEsIDMsIDM3LCAyOSwgNjEsIDczLCA1LCA1LCA2NywgMjksIDM3XSldKSwgKDIwLCBbKDUzNjIwNzk0OTY2MTM2MTYwNDI5MDk3Nzc2NjMxLCBbMSwgMjMsIDMsIDc5LCAyMywgNDMsIDg5LCA2MSwgNTksIDMsIDIzLCA3MSwgNDEsIDk3LCAxMywgMTEsIDE3LCAzNywgMjksIDQ3LCAxM10pXSldKQoKbWVkaXVtUHJpbWVzID0gKCJtZWRpdW0gcHJpbWVzIiwgWygyLCBbKDk1MDUyNDcsIFsxLCAxNDI3LCA2NjYxXSldKSwgKDMsIFsoMTEyMzc3MjE0NDgzLCBbMSwgNDQ1MSwgNzYwNywgMzMxOV0pXSksICg0LCBbKDExMzMzMjE1NjQwNDMwNywgWzEsIDQwMDcsIDM1MzksIDI5MDMsIDI3NTNdKV0pLCAoNSwgWyg0Mjk4ODM2OTI5MjUzOTQ3NzgxLCBbMSwgODQyOSwgNzQxNywgNTAzOSwgMTg2NywgNzMwOV0pXSksICg2LCBbKDExMDM4NzU5OTU2OTU5NTE5MjUzMDQzLCBbMSwgNDkwOSwgNzMwNywgMTU5NywgMzczMywgNzI0MywgNzEyN10pXSksICg3LCBbKDM1MzI3MTAwMTE1NDQzODIxODQyNzIyOTUzOSwgWzEsIDgxNjcsIDI2ODcsIDU0ODMsIDcyNTMsIDU4MDcsIDcxMjcsIDk3ODFdKV0pLCAoOCwgWyg4NTgwNjkxMjExMzk2NjMzMjY5MjI1ODkxMzc1NDMsIFsxLCA5MTM3LCA5NDYzLCAzOTY3LCA4NzM3LCA0MzQ5LCA1MDAzLCAyMjQzLCA1ODY3XSldKSwgKDksIFsoMTMxNTYzNDM1NzEzMzc0OTAyNzIxMTEwODAwNDkzMzAzLCBbMSwgNTkyMywgNjkwNywgODMxNywgMTE1MSwgMTc4NywgNTQ3OSwgOTkyOSwgMjI4NywgMTUxMV0pXSksICgxMCwgWygyNTI4MTIzNTMxODA2NDUzNzY2Mzc4NDE1MTY2OTM5MTA3NjcxLCBbMSwgOTc0OSwgMjA2OSwgNTg3OSwgODM3NywgMjY4MywgMjI2NywgNDkxOSwgMzYzNywgNDcwMywgNDk3M10pXSksICgxMSwgWyg5ODg2MTk2MTA1MDU3Nzk2MzY0ODUxMjQ1MzkwNDQ0NDQ4MzY3OSwgWzEsIDEyODMsIDIyMDMsIDk1MzMsIDEzMDMsIDIyMzksIDE1MjMsIDUwMDksIDE0MjksIDQyNTMsIDI3OTEsIDk3MTldKV0pLCAoMTIsIFsoMzY5OTcxOTA2OTY0MTA1NzYxMjk0Mjk0OTgzNjQ3NDkyNjY1NjgxMTU3MjE4OSwgWzEsIDkxMzMsIDk5NjcsIDU4NzksIDY1NDcsIDg5MjksIDIzNTEsIDg2ODEsIDY4NTcsIDk3MTksIDc1ODMsIDM0NjEsIDMzMTNdKV0pLCAoMTMsIFsoOTI5NzkwMTkzNjE4MjA5MzY5NDAwOTQ1NDU5OTc1OTM0NDg3ODk2Nzg1MTE2OTI1MywgWzEsIDM5NDcsIDg1OTksIDMxMDksIDQ5OTksIDU1ODEsIDg2MjksIDU5NTMsIDgwNjksIDY4MjksIDk2NzcsIDUxOTcsIDgwNTksIDI3NTNdKV0pLCAoMTQsIFsoMjk4NzI4MzI4NTExMjA1Mjg1Njc3NzYzNzQ5MDk1Mzg3NTk5MDMwMDQwODE2MjQ2NDgzMSwgWzEsIDE1MjMsIDcwNDMsIDE4ODksIDc1MDcsIDYxMzMsIDMyNTMsIDM3OTcsIDE4NzcsIDM0NjMsIDcyNTMsIDkyODEsIDcyNDMsIDg4MzcsIDkyNTddKV0pLCAoMTUsIFsoMTQwNDYyNTUyOTE5MDQ4Mzg1NjEzODEwMzM3ODAwODI3OTM4Nzk5MTA2ODI2MDkwNzM1MDMzMTksIFsxLCAyMDAzLCA5NDc5LCA4Njc3LCA0NzMzLCAxMjc5LCAzOTQ3LCA1NDMxLCA5NDIxLCA5MDU5LCA5Mzc3LCA0ODE3LCAxNjYzLCAzMjIxLCA4MTExLCAzOTIzXSldKSwgKDE2LCBbKDE2NzI4MzMyMTA2MTk1NTk1MTc2NTcyNjA1NjcyMDQzNzk2MDE2NzgyNjc2MTU3NDM2MjQ1Njc5NjEsIFsxLCA5ODgzLCA2MDY3LCAxNTU5LCAxMDA5LCA3MDY5LCAyMjEzLCA4NzEzLCAxNjAxLCA5NDkxLCA3MzY5LCAxMzI3LCA2NzAxLCAzMzU5LCA2ODcxLCAyMDM5LCAyNzc3XSldKSwgKDE3LCBbKDIxMjAxMDE0MDQxNTQ2ODYwMzc2Mjc3MDg4NDg2Nzc3MDE2NDE4OTg3Mzk5MDQ3ODAyODUzODEyODY1MTU0MywgWzEsIDc3NTcsIDE3MjEsIDkzNDMsIDI1MjEsIDY3OTMsIDgwMTcsIDgxMTcsIDI4NzksIDY0OTEsIDM2MzcsIDMzMTksIDM2NzcsIDU3MTEsIDc2ODEsIDM0MzMsIDIwODcsIDU4NTFdKV0pLCAoMTgsIFsoMjk3NjM1NDQ1NTgwNTY3MDg5MDkzNTEyOTAxNjc4NjMxODkzMjgyODA2Mzc4ODE3NDUwMTUwMjg3NjYzNzc1NjcsIFsxLCAzNzkzLCAzMzIzLCA3ODQxLCA5OTQ5LCAxMTgxLCA2NjU5LCA1MTcxLCAyMDExLCAxODYxLCAzNTQ3LCAyODg3LCAyMTMxLCA0ODAxLCAyMjQzLCAyMTQxLCA1ODQzLCA5MzQ5LCA3MjM3XSldKSwgKDE5LCBbKDE4MzczMzEwMjcwMDg5ODk0MjYxODg1MzY3MjQ4MjE3ODk3NzU2OTYzMjY3MzQ3Mzg0NjM5NDg5MDIwODA0NDg2OTgzMywgWzEsIDE4NjEsIDY5OTcsIDE0NTksIDcxMDMsIDgxOTEsIDY4ODMsIDE0OTksIDExMjMsIDIwNjksIDg1NjMsIDQwOTEsIDc2OTksIDQwMjcsIDU4MTMsIDIwOTksIDg4MDMsIDU4MjEsIDI3NTMsIDM3MDldKV0pLCAoMjAsIFsoNDMxNTU4MTczMjQyMDQ1ODIzOTE3NjkwNDk4NjQyMDM4OTYyNTMyNDg2MjgzODIyMzI1ODg3OTczNzc0MDExNjc1MTUzNDMwOSwgWzEsIDQ5MzMsIDk0NzMsIDI3NTMsIDc5NDksIDEyMjMsIDEyMTMsIDE0NDcsIDk2ODksIDI2NDcsIDcxNzcsIDQ0MjEsIDc4ODMsIDc4ODMsIDQ2NzMsIDcyNTMsIDQ3ODcsIDI3MTMsIDg5MjksIDI2OTMsIDM2NzNdKV0pXSkKCmxhcmdlUHJpbWVzID0gKCJsYXJnZSBwcmltZXMiLCBbKDIsIFsoNDA2MzM3NTUxNywgWzEsIDc4NDM5LCA1MTgwM10pXSksICgzLCBbKDUyMjc0MjA4MDU2NTM1NywgWzEsIDcxMTY3LCA4MjA1MSwgODk1MjFdKV0pLCAoNCwgWyg1MjE4NzM4Nzk3MTI3NTk4MjA5MywgWzEsIDg5NzUzLCA5NTcxNywgNjQ2OTMsIDkzOTAxXSldKSwgKDUsIFsoMTE2MjMwMDY4MjQ3NzkzNDA4NDM0NDc0MSwgWzEsIDY1MTgzLCA3Mzg4MywgNTczOTcsIDc4ODAzLCA1MzM1OV0pXSksICg2LCBbKDE4ODkwNDQ2MzcwMDYxNjQzOTE4NDYwMzkxNTUxOSwgWzEsIDc3MzM5LCA2NzUyMywgOTk1NzcsIDU5MzMzLCA2NDU3NywgOTQ4MTFdKV0pLCAoNywgWygxMDM4MjU5NzczOTM2ODEwOTEwNDE1MDA5MDkzNDE3NTM3OSwgWzEsIDg4MzIxLCA3NTc4NywgNjI0MTcsIDU1MTE3LCA1NjE3OSwgODMzOTksIDk2MjMzXSldKSwgKDgsIFsoMjIzNjg1NDQ5OTUxMDQxODY1NTc1MzU5MzUwMTMyNDEwMTU2MjQxOSwgWzEsIDkxNDMzLCA5NjIyMSwgNzM0NzcsIDk0NTQzLCA4MDQ4OSwgNzMwNjMsIDY3NjE5LCA5MjA0MV0pXSksICg5LCBbKDM1MDQyNDM5ODY0MzU2MjcxNjMyNTk0ODk2MDk2MjI1MzgxMTQwMzAzNzI3LCBbMSwgOTMwNzcsIDYzMzkxLCA3MTI2MSwgNTA5MDksIDY3OTc5LCA3NTMwNywgNTQ0MDMsIDYxMDA3LCA5NjM1M10pXSksICgxMCwgWyg5OTM4MDE5OTEyOTU3Nzg0NjQ5MzAxMDAwODA4MDY4Nzk4MjQwOTQxNjcyOTc1MjY5LCBbMSwgOTQ3OTMsIDUwOTA5LCA4ODY2NywgNzUzNzcsIDc0MjMxLCA3NTU1MywgOTk1NzEsIDg2NTA5LCA4OTk1OSwgNzA5MDFdKV0pLCAoMTEsIFsoMTg3MTA5ODkyNjEzNjI1ODgwMDI3OTQ3OTQyNTQwMDAyMTE2NzI1Mzc5MTA3MzY3ODUzMzE5LCBbMSwgNTM2MTEsIDYwNjU5LCA4NTMxMywgODg2MDksIDcxMDg5LCA3NTEzMywgNTMyNjcsIDY2ODUxLCA5OTA0MSwgODA2MDMsIDUwMTI5XSldKSwgKDEyLCBbKDQ5MTYxNzY3MTA5ODY5OTkxMTI1Mzg3NjEzNTkwMjQ5OTA0OTcxNjg3NTg2MzczNDc3NTk3NTUzNzQ5LCBbMSwgODgyMTEsIDk3MDczLCA3OTExMSwgODA3NzcsIDUxODU5LCA5OTc2NywgODQ4NjksIDgwOTYzLCA3NTkzNywgOTEzNjksIDUyMDI3LCA3MDAwOV0pXSksICgxMywgWyg5ODYwMDcxNDUxNDYxOTI1NTUwODQ2NjIyNzE3Mjc5MDUxNzk2MDc3MzEzOTg1MDEwNzcxNDY2ODY5ODIwMjcsIFsxLCA4ODI0MSwgNzI1NTksIDg2MjM5LCA5MjQ1OSwgNTcwOTcsIDYzNjQ3LCA5NjE2NywgNTQ1NDEsIDY3MjE5LCA3MDQzOSwgNTAxMjMsIDY2MDgzLCA2NDYwOV0pXSksICgxNCwgWygxMjI2NTY3MzM2NjAxNjM0NzMwMTg4MTQwMjU0MjI5Mjg3MDM0MDUzNzQ5OTQ3NzIzODM2OTc4MjU1MTcwMzk5MTYzMjcsIFsxLCA2ODM4OSwgODY1MzksIDYzNDkzLCA1NjM3NywgNjEwMDEsIDYwMjE3LCA4NTM2MSwgNTgzOTMsIDY1NzAxLCA5OTI1MSwgOTQwNDksIDcwMjg5LCA3NzcxMSwgOTQzOTddKV0pLCAoMTUsIFsoNzg0MjA1MzcxMjIwNTgyNTcwMTc1NDI2MDgyNDc4ODYyMDc1NDE0OTkxMjQwMzAyOTc5MzE1NTcwMjcwMDAxNTYwNDk4OTM3MywgWzEsIDgxMTAxLCA4MjM4NywgOTIzOTksIDg4OTAzLCA2NzU2NywgNjAwMzcsIDk2Nzk3LCA2MDE2MSwgNTgyMjksIDU4MjQzLCA3NjMzMywgODQxODEsIDY3OTI3LCA1ODQwMywgNjk5NTldKV0pLCAoMTYsIFsoNDE0OTgzOTU4NDIzODc2NjEzMjgxNDA2NDc2ODExNzM2MTYxNTc4MTY4OTQ0NzIyOTMwODI4MzEyOTA4MTMzMTAyNjMyODQ1NzUyNzAzLCBbMSwgOTIwODMsIDU2NDc3LCA5NDU3MywgNjcxODcsIDgzMTc3LCA4ODQ3MSwgNTI5NTEsIDU1NTc5LCA3MTU5NywgNjYxNzksIDU5NjcxLCA1OTcyOSwgNjk0ODEsIDk3NTgzLCA1NDYyMywgOTI3MTddKV0pLCAoMTcsIFsoNTMwMDI3NDU2OTczMzE3OTQwNDMxOTcxNjI0ODc0MDg1Nzc1ODM1OTcyNTkxMTcxNTY0MTI3OTU0NDUyMzQ0OTQ4MDIwMDU1MzE1NDE2NTU3NTcsIFsxLCA1MTk0OSwgODE2ODksIDcxMDg5LCA4MTczNywgNjA2NTksIDkzMTc5LCA3MDQ4OSwgOTA1NDcsIDYyMTg5LCA5MjY0NywgNjQxMjMsIDc1MjM5LCA5MDg0MSwgODgxMjksIDc0NjUzLCA1NzExOSwgNjI3OTFdKV0pLCAoMTgsIFsoMjc3NDMyNTI4MTEyMjQ4NTk5ODgwMjc4MDc3MjIxOTc4ODYxODYxMzk5NDcwNzY4MDEwNjgzODY4OTMyNjYyNDE5MzExMTc0OTg1NTM0MTQ1MTk5NDg1MywgWzEsIDYyMDgxLCA5NDIyOSwgNzAzMTMsIDUwNTEzLCA2OTI0NywgNjc1MzEsIDc0OTAzLCA4NDgyNywgNzUwMzcsIDU3Njk3LCA1ODc4OSwgNzg3NzksIDUwOTA5LCA4ODgxOSwgOTk5MjMsIDkwMzUzLCA1OTYyNywgOTIwNzddKV0pLCAoMTksIFsoODE4MTQwOTM4MDM2MjMzMTg5MDYyNDIzNDAwMTQxODE2NTU5NzcyNjQ3OTQ2NDAzMDkyNDA1MTU1NzEyNDg4OTIwNDU2MjM0OTMzMzA0NzExNTIwMDQyMTEzNDksIFsxLCA2MzYyOSwgNzY1OTcsIDYwNzYxLCA4NTIyMywgNjM2MTEsIDgyMDM5LCA3NTQzMSwgNTI1MDEsIDc3MzUxLCA1NDU0NywgNjAxMzksIDgwMzg3LCA1MTcyMSwgNTkwOTMsIDY1NTM3LCA2NjU4NywgODE4MTcsIDkxOTYxLCA3NjYzMV0pXSksICgyMCwgWyg0NzU5NDIwNjc2Nzc0MDAyOTE3MDI3MDgwMDc0ODA0MTk2NzQ5OTI1MDI2MTYyMjE2NzY0OTAzNTAwNDM4ODAzNTMxMDY0ODY3NjYyODE1OTk4NTQ4MjI0MDQ3NTc1MTExLCBbMSwgNTExOTMsIDYzNjE3LCA3NDgyNywgNzcyMzksIDY1NzYxLCA3MTAxMSwgODI2MTMsIDc3NzE5LCA5OTcwOSwgODUyMTMsIDk1OTU5LCA1NDc4NywgNTY1MDMsIDUzNTAzLCA2MTU1MywgNjA2ODksIDY3MDMzLCA2NDUxMywgNTg4MzEsIDY1NzEzXSldKV0pCgpsYXJnZXJQcmltZXMgPSAoJ0xhcmdlciBwcmltZXMnLCBbKDIsIFsoMTg3MTg2NzAyNzUxLCBbMSwgNTkwMzc3LCAzMTcwNjNdKV0pLCAoMywgWygyMjc2MTA4Mzc1NTA0NTg1NTksIFsxLCAzNDU0NjEsIDg4NzQ4MywgNzQyMzkzXSldKSwgKDQsIFsoNzAyNTg3OTMyNzc1NzEyMzc2NDcyMzMsIFsxLCA4OTk5ODEsIDI4MDYwNywgMzEyMzUzLCA4OTA2ODNdKV0pLCAoNSwgWygyODcyMTY3ODExMDcxOTc0OTI5NTE0MzQ3MjI1MSwgWzEsIDI1MjMyMywgMzIyNTg5LCA1NjIyNTksIDgyNjE2OSwgNzU5NjIzXSldKSwgKDYsIFsoMTY1ODQ5NTk4NjU3ODk1NjIzMDc3NzMyOTc1ODE2Njg5ODksIFsxLCA1MjYxOTksIDc3MjA5NywgMzQ3NTE5LCAyODQ4NTcsIDgyNjc1OSwgNDk4Nzc5XSldKSwgKDcsIFsoNDAxMzUyMzE3MjUxNzcxNzA2NTEyNjY0NTE5MjczMTczNzAwNDAwMTcsIFsxLCA2ODk5MTcsIDM2MzAzNywgNDYyNTcxLCA4MDU1NTksIDU2MTM2NywgODIzMjAxLCA5MzA1NzFdKV0pLCAoOCwgWygxMzU0MzQ3NzE1NzA3NTUxMTc3OTY5NjU0MDkxNjY3NzgwNzIzMjEzNjI4MTk4MywgWzEsIDM2OTg0MSwgMzY5MDc5LCA4OTg0ODEsIDU5MzE3MSwgNjczNjEzLCAzMzMxOTcsIDg3NDEyNywgOTQ4OTAxXSldKSwgKDksIFsoMjE4NjgyNzY3ODk0MDA3MjA3MTUyMDM3OTIyODY1ODY0ODUyOTcyMTA5MjYyODE2OTYyNDEsIFsxLCA1MDg4NjcsIDY2NjAzMSwgOTExODM5LCA1MjE2NTcsIDMxOTk4MSwgNTkyNTk3LCA3NzYzNTcsIDk0NzM4OSwgOTcyNjExXSldKSwgKDEwLCBbKDMzOTg2MzgwMDg5ODIwNjY2ODg1MzE4ODQ0NjMyNjQ1ODA5MzY5NDIwNTExODA5OTAyMTAxMDgzMjMsIFsxLCA2NTUyNDMsIDc1NjM3MywgODA1MjE5LCA2NTU4NTksIDU2MzE5NywgNTkyMDg3LCA0NjcxMDEsIDMzMzMzMSwgMzY0MDMxLCA2ODcwMjNdKV0pLCAoMTEsIFsoOTEzNjk0MzIzODQxNDY2ODEyMjAzODI5ODgxNTMxMDkxMTM0NjE5NDI3OTg2NzQxMDk0MDM0MjY1MDc0MjY3MSwgWzEsIDc0MTQ1NywgMzg2MzMzLCA0MjM4ODcsIDc0MTg2OSwgNzUyMjgxLCA5MzgzMjMsIDkzMzg0NywgNTQ4NTY3LCA2MzY5NTMsIDk4NjM1MSwgNDQ2NDc3XSldKSwgKDEyLCBbKDM4MDcxMzY2MDU0MDA3MzAyNjAxOTYwNTU0MDExODUwOTg2NjAyOTg0OTg0NzQ3MzM4ODk1NjY1OTQ2NDM3ODc4Mzc3NDUzLCBbMSwgNzc5MTg5LCA1MDc2OTEsIDc1MDk2MSwgODc1NDE3LCA5Njc0MjcsIDM3MTI1MSwgODU3NzM3LCA5NDMwNzMsIDk0MzM2MywgODk1MDg3LCA3NjE4NjEsIDc4MzI4M10pXSksICgxMywgWygzNjg2MjUxMzQ3MzQxNDI5OTUxMjM2MjYzMjY4MDgwNDc1NzcwNDY1OTkxMTA4MzI0MjAxMTE4MzM4MjIzNDc3MTI1NjY2NjY4NTMsIFsxLCA0MDkwNjMsIDYzNDA3OSwgMjYwMjYzLCA2MjA4ODcsIDc0NDQwNywgNDQwMTgzLCA5NzExNzEsIDc1NTczNywgNjU0Njc5LCA1NTYwOTMsIDk2ODU5MywgMjkzNDgzLCAzNTMzNTldKV0pLCAoMTQsIFsoMzUwNzg5MzUyNDAxMzY2NDE1MzA1MDcyMDMyOTYwNDczOTIxMjU3OTAwMDg4OTc2MDU1NzAxMDc1Njk4NDkxOTU2NzU2MjU3NDA0NjU1NDgxLCBbMSwgNzQ2NDgzLCA1ODU1ODcsIDUzMDg1MSwgNTU1MzQ5LCA3NTEyNTksIDM3ODk0OSwgNDA0ODQzLCA5Mzc4MjMsIDQ0NzY4MywgNDQ0ODE3LCA1MTEyODksIDY0NDI5MSwgNjAzNzMxLCA2MzU4NzldKV0pLCAoMTUsIFsoNDMxNDYzNjIzOTIwODY2Njg5ODA1NTg0MDUwOTU2MjUzMjIxMzA4MDMyNDM3NDU4MDYwNjc3MTA5ODMwOTI5OTA2NjI0ODA0MzkxODEyMjc1NDEwNzkzLCBbMSwgNTMzNzQ3LCA2ODIzMzMsIDgyODA2NywgNDg0NzUxLCA0NDYyNjEsIDU3ODY4NywgOTc3MTQ3LCAyODM4MzEsIDU2NDk3OSwgNjkwMTYzLCA4MzY4NjMsIDMyNzAxNywgNjkzNDAzLCA3OTQxNTMsIDcwMTI1N10pXSksICgxNiwgWygzMDkwODk1NDE1MTUyMjYyMjExNjI3NDc2NTE4MTU4MTAzNzI5NTY1MTI2MDY0MzIwMjY5NjA3OTQ0MDAyNjAxMjcwODA3OTA0MjY2NDkwMzM2MDQwNTMyNDUzMDkxLCBbMSwgNzI5NzYxLCA1OTYwMDksIDYyNzQ4MSwgODEyOTYzLCA1NzY3NTcsIDcxMTY3OSwgODI1OTgzLCA5NTU2MTMsIDkxMTU5MywgNTg3OTU5LCA3MDA3NTksIDc2NzYyMywgMjY4OTc5LCA2NTE4MjEsIDg1ODc2MywgOTkwNTIzXSldKSwgKDE3LCBbKDE4ODExODI5MDA1MTUyNTMwNzc2NTc1NDQ4NTAyNTIyMzQ5MjE5Nzg1MjIwNTY0NDMwOTU4MTU2NjAwNTUwMzIzMDMwNzEzNjM0NjI2MDgwODY3NzI3MTI2MTk5Nzk5MjksIFsxLCA3NjUyODMsIDM2MDk1OSwgMzk5MTgxLCA0Njg2NTMsIDI4Nzg0OSwgNDgxMjk3LCAzODIzNTEsIDcxMTcyNywgMjYxOTE3LCA4NDY5ODMsIDc1NDQ2MywgMzQ2NzExLCAzNDYyMTcsIDU0MTIwMSwgOTkwMzc3LCAzMzgwMjcsIDI2NTI2MV0pXSksICgxOCwgWygyMzE2OTI4NDg1NTE0NzQxMDI0NTEwNDU1Nzc4MjQ1OTkzMDY3MjY1NjY0MDk1ODMwMjAxMjc2ODExMTM0Nzk4MjMwODgzNjIwMjgwNzE1MDY0MjcyMzQ0Mzk0NzQyODM4NDk5MTk4MywgWzEsIDQyODg5OSwgOTc5NTQzLCAzMTQyNDMsIDk0NzgxOSwgNDQxMTIxLCA5NTQyNzcsIDMwNDcwOSwgNjIwNzE3LCA0Mjc4NzcsIDM5OTY4OSwgNDE1MzQzLCAyODkxODEsIDk4NTA2MywgODgzNDI5LCA4NDA5NzksIDQ4ODAxMSwgNjY1MTUzLCA0NzY1ODddKV0pLCAoMTksIFsoMTQxNDg5NjIyOTc4NjgxNTA0Mjc0ODg4ODAxMjg0MjM0NTM4NTYyNjAzNzg5NDgyMzc5MTYwNjI4OTg1MjM5MDcyMjAwODk5NjgxMTQxMTIyMTA5MzQwNTc4ODc3NzM3MjQwMjI1MjM4MDU2MzcsIFsxLCAyODkyNDksIDY3OTQxNywgNTM1NDgxLCA5NDc1MzksIDgzMjc1NywgOTM0NTM3LCA0MjQ4MjksIDI4MDQ1MSwgOTkwODkzLCAzMDAzMTksIDQwNDMyMSwgMzg0NTQ3LCA0MjQyMjMsIDM0MDM4NywgNjI0MDk3LCA4MzkyMDcsIDc5Mzk5OSwgOTAxNzE3LCA2MTA4MzddKV0pLCAoMjAsIFsoNzI5ODgzOTMzNDU3ODcwMzYzNDMyMTUyMTEzNzAwMjkzMjQ1MjM3NjI2ODcyNjQzNjE0NDAxMDE3MDQ5OTg3MjgyMDUwMjE2MTAzMDQ0NTQ0Nzg2NjU0ODc1MDEwMjM0OTM1MjU2MTQwODAzOTU0NTQ3LCBbMSwgNzA0MzIxLCAzNDI3OTksIDU4MTQ0NywgODQyMjQ5LCAyNTc4MzcsIDkzODIxOSwgMjU1MzQ5LCAyNjYwMDksIDI2NTcwOSwgNzI1MzQxLCA0NTIwMzMsIDY5MjcxNywgNDY0OTIzLCA2NDgwMDcsIDc5NTMwNywgNDc2NjU5LCAzMTQzOTksIDM2NzY4NywgNTE4NTc5LCA5MDkyMDNdKV0pXSkKCmxhcmdlc3RQcmltZXMgPSAoImxhcmdlc3QgcHJpbWVzIiwgWygyLCBbKDE1NjUyMjgyMzE0NzI2OTgxNjI4NDU5ODYzMTMxMjk1MTgxMDYxMjg4MjYxNTc0NjkzNTE2MTAzMjcwMSwgWzEsIDI3MjQzMTYxOTg3MzU4MTE1NzU1MTEwNTU1MDkxMSwgNTc0NTM5ODU0MTQ3MjYyNjQwMDIxOTMzNjYxODkxXSldKSwgKDMsIFsoMzM4NzQ4MDYwOTExMzA0NzUwMDkyMzU2OTcxMjAwNzk0NzAyODAyMjY2ODg4MTMwNzc4MDg4ODkzNjI2MTIxODczMzA3MzQyNDk1NTY2NjkyMDg0MjE5MzksIFsxLCAxNTU5MDM0NTk0MzY5ODg3NjcwMzQ5NTgzOTQ2ODMsIDc4NTU3NTEzNjkyOTM5MzU3MTQ1NzM0OTM2MDk2OSwgMjc2NTg4MDAxMjc1MzUyMTgyMjk2ODY4NjE1NDU3XSldKV0pCgpwcmludCAiU3RvcmVkIG51bWJlciBzdWl0ZSAtIHJlIHJ1biBpZiBuZWVkZWQiCu+4oTFmNjdmZmNlLTYzZTAtNDBhZi1hNTcxLWFjZTE0MmYxYzMyMe+4oXsic3Rkb3V0IjoiU3RvcmVkIG51bWJlciBzdWl0ZSAtIHJlIHJ1biBpZiBuZWVkZWRcbiJ977iheyJkb25lIjp0cnVlfe+4oQrvuKAxODUzMWNhMy1kNTc4LTRjM2MtOTFjNi1kNjU3M2ExNWVlNGNz77igCnNtYWxsQ2xvc2VQcmltZXMgPSAoJ1NtYWxsIGNsb3NlIHByaW1lcycsIFsoMiwgWygxODcsIFsxLCAxMSwgMTddKSwgKDIyMSwgWzEsIDEzLCAxN10pXSksICgzLCBbKDE0NjMsIFsxLCAxMSwgMTksIDddKSwgKDExODMsIFsxLCAxMywgMTMsIDddKV0pLCAoNCwgWygyMzAyMywgWzEsIDExLCAyMywgNywgMTNdKSwgKDE4NTE1LCBbMSwgNSwgMjMsIDcsIDIzXSldKSwgKDUsIFsoMTYxNzMzLCBbMSwgMTEsIDEzLCAxMywgMjksIDNdKSwgKDI1MjY1NSwgWzEsIDUsIDIzLCAxMywgMTMsIDEzXSldKSwgKDYsIFsoMTE1NDcyNSwgWzEsIDUsIDEzLCA1LCAxNywgMTEsIDE5XSksICg5NTU2OTUsIFsxLCA1LCAyOSwgMTMsIDEzLCAzLCAxM10pXSksICg3LCBbKDc3NDMwODcsIFsxLCAzLCAzMSwgMTEsIDI5LCAzLCAyOSwgM10pLCAoNDA2MDI2MzksIFsxLCAxMSwgMjksIDExLCAxOSwgNywgMjksIDNdKV0pLCAoOCwgWygxMDcyNzk2MTMsIFsxLCAzLCAyMywgMywgMjMsIDcsIDM3LCAzLCAyOV0pLCAoMjgzNDg3MzI1LCBbMSwgMywgMTcsIDExLCA0MSwgNSwgMTcsIDUsIDI5XSldKSwgKDksIFsoOTM1NzE3NjI1LCBbMSwgNSwgNDMsIDUsIDI5LCAzLCAyMywgMywgMjksIDVdKSwgKDg3ODMzMjQ1NSwgWzEsIDcsIDE3LCA1LCAzMSwgMTEsIDEzLCAzLCAzNywgM10pXSksICgxMCwgWygyNDQ1MTQ1NjU3NSwgWzEsIDMsIDE3LCA3LCAxMywgNSwgNDMsIDEzLCAyOSwgNSwgMTNdKSwgKDE3NDg4MDIxNjg0MjUsIFsxLCAxMywgNDEsIDUsIDQ3LCAxMywgNDEsIDUsIDMxLCAxMywgMTNdKV0pLCAoMTEsIFsoNjE0ODU5Mjc5MywgWzEsIDMsIDE5LCAzLCAzMSwgMywgMTksIDcsIDE5LCAzLCAxNywgM10pLCAoNDMzOTU0MDE4NTc1LCBbMSwgMywgMjksIDUsIDIzLCAxMSwgNDcsIDUsIDQ3LCA3LCAxNywgM10pXSksICgxMiwgWygyMzM2NDQxMjM0OTg1LCBbMSwgMTMsIDM3LCA1LCAxOSwgMTEsIDEzLCAzLCA0MSwgMywgMTksIDMsIDE3XSksICg2MTY5MTEwMTgwOTc1LCBbMSwgMywgNDEsIDMsIDI5LCA3LCAzMSwgNSwgMTksIDcsIDQ3LCA1LCAxN10pXSksICgxMywgWygxOTYwMDU5NDQxMDM3NSwgWzEsIDUsIDI5LCAzLCAzNywgMTEsIDI5LCA1LCAxOSwgMywgNDcsIDUsIDE5LCAzXSksICgyNzQ2NDk5MjY0NDM3NSwgWzEsIDMsIDEzLCAxMSwgNDcsIDUsIDEzLCA1LCAyOSwgMywgNDcsIDUsIDQxLCA1XSldKSwgKDE0LCBbKDk3OTg0ODMxNzM2OTAyNSwgWzEsIDUsIDIzLCAzLCA1OSwgNSwgMTcsIDEzLCA1OSwgMywgMjMsIDMsIDI5LCAzLCA0MV0pLCAoMTYzMTM3NDI4Mzc5MjY2MjUsIFsxLCA1LCAyMywgMTMsIDYxLCA1LCA1MywgMywgMzEsIDUsIDQzLCA3LCA1MywgNywgMTNdKV0pLCAoMTUsIFsoMjc2NjEyMTM4NDMzNzY3ODI1LCBbMSwgMywgNDEsIDEzLCA2NywgMywgNjcsIDUsIDQxLCAzLCA1MywgMTMsIDQzLCA1LCA0NywgM10pLCAoNDgwMzg4ODk5MjgyNDM1LCBbMSwgMTEsIDI5LCAzLCAyOSwgMywgMzEsIDUsIDEzLCAzLCAyOSwgMywgMjMsIDMsIDUzLCAzXSldKSwgKDE2LCBbKDEzMDQyMDcyOTM1OTMyNjI1LCBbMSwgMywgMzEsIDUsIDIzLCAzLCAzMSwgMywgMTksIDMsIDMxLCAzLCAxMywgNSwgNDMsIDUsIDU5XSksICgzODI1NTUxNDY1MjEwMTkzNzUsIFsxLCAzLCAyOSwgNSwgNjEsIDMsIDcxLCAzLCAyMywgNSwgNjEsIDUsIDE5LCAzLCAzNywgNSwgNjFdKV0pLCAoMTcsIFsoMzMxMjQ5OTg4MDY4Mjc1OTM3NSwgWzEsIDUsIDE5LCAzLCA0NywgNSwgNDcsIDUsIDI5LCA3LCA3OSwgMywgNzMsIDMsIDQ3LCA1LCAxNywgNV0pLCAoMTcwNjQ4NTkyOTIzMTM0NDYyNSwgWzEsIDEzLCA2NywgNSwgNDMsIDUsIDUzLCAzLCAxOSwgMywgNDcsIDMsIDE3LCAzLCAxNywgNywgNDcsIDVdKV0pLCAoMTgsIFsoMTE3NDQ1MDk0ODgyNzc3MTEwMzEyNSwgWzEsIDUsIDMxLCAzLCAyMywgNSwgMTMsIDUsIDIzLCA3LCA3OSwgNSwgNTksIDUsIDE5LCAxMywgNzEsIDEzLCA3OV0pLCAoMjAxNjc1NTY0ODI0MDAxMzU3Mzc1LCBbMSwgNSwgMzEsIDEzLCAxOSwgMywgNjcsIDUsIDM3LCA1LCA2MSwgMywgMjMsIDMsIDcxLCAxMywgMTMsIDExLCAxN10pXSksICgxOSwgWygyODk2Nzg0NDQwODM2NTg0ODc4MTI1LCBbMSwgNSwgNzMsIDUsIDY3LCA1LCA1MywgNSwgMjMsIDEzLCA0MSwgNywgNzMsIDUsIDE3LCAzLCA0MSwgNywgMTMsIDNdKSwgKDE4OTAxNDI4ODMwODQxNzA1NjcxMjUsIFsxLCAzLCA2NywgMywgMTMsIDUsIDI5LCAzLCA3OSwgMywgNDcsIDMsIDc5LCAxMywgNjEsIDcsIDE3LCA1LCA4OSwgNV0pXSksICgyMCwgWyg2NTAyMjE2MzE0Njk4MzIxOTY1MzEyNSwgWzEsIDUsIDQzLCA1LCA1OSwgMywgNjEsIDMsIDk3LCA1LCA1OSwgMTMsIDMxLCAzLCA4MywgMywgMjksIDUsIDIzLCA1LCAxM10pLCAoMzIzNjk0NDExMzEyMjM1ODMzOTM4MjUsIFsxLCA1LCAyOSwgMywgOTcsIDEzLCAxOSwgMywgNDEsIDMsIDcxLCAzLCA1MywgMywgMzcsIDcsIDE3LCAzLCA1MywgNSwgNzFdKV0pLCAoMiwgWyg5NjEsIFsxLCAzMSwgMzFdKSwgKDExNDcsIFsxLCAzMSwgMzddKV0pLCAoMywgWygzMzI2MywgWzEsIDI5LCAzNywgMzFdKSwgKDI3ODY5LCBbMSwgMzEsIDMxLCAyOV0pXSksICg0LCBbKDQ5NDIwOSwgWzEsIDE5LCAzNywgMTksIDM3XSksICg4NDc3NTcsIFsxLCAyOSwgNDEsIDIzLCAzMV0pXSksICg1LCBbKDE0MjUzNzY5LCBbMSwgMTcsIDQzLCAxNywgMzcsIDMxXSksICgyMTg1OTg2NywgWzEsIDMxLCAzMSwgMjMsIDQzLCAyM10pXSksICg2LCBbKDI3Mjg5NzY1MSwgWzEsIDEzLCA0NywgMTcsIDQ3LCAxMywgNDNdKSwgKDQyNDgwODEzNywgWzEsIDE5LCA0MywgMTMsIDM3LCAyMywgNDddKV0pLCAoNywgWyg3NjQyMzk5NTg5LCBbMSwgMTEsIDQzLCAyMywgNDMsIDE3LCAzMSwgMzFdKSwgKDg0MTg3MTA2NDEsIFsxLCAzMSwgNDcsIDExLCA1MywgMTEsIDUzLCAxN10pXSksICg4LCBbKDcwNTI2MTg3NjUyNywgWzEsIDE5LCA0NywgMTMsIDYxLCAyMywgNDMsIDE5LCA1M10pLCAoMzQzNTA4MTUwODIxLCBbMSwgMTksIDQzLCAxMSwgNjEsIDI5LCA0MSwgMTcsIDMxXSldKSwgKDksIFsoNTAwMTMxNjYyMDM1NSwgWzEsIDUsIDYxLCAxNywgNTMsIDExLCA1MywgMzEsIDUzLCAxOV0pLCAoMjk4MjM1MTgzODc1LCBbMSwgNSwgNTksIDE5LCA0MSwgNSwgMzcsIDUsIDYxLCAyM10pXSksICgxMCwgWygxMDg0MDQ1NzAxOTExNywgWzEsIDExLCAzNywgMywgMzEsIDExLCAzNywgMTcsIDUzLCAxMSwgNzFdKSwgKDMyMjQ2MTY2NTgyNDY1LCBbMSwgMTEsIDY3LCAzLCA0MSwgNSwgNTMsIDE5LCA0MywgMzEsIDUzXSldKSwgKDExLCBbKDEzMTEwNDM1MjM5MjU3NSwgWzEsIDE3LCA0NywgMjksIDczLCAxNywgNTMsIDMsIDMxLCA1LCAzNywgNV0pLCAoMzE4ODIxOTkwNzI4MzI1LCBbMSwgMzEsIDUzLCAxOSwgMzcsIDUsIDMxLCA1LCA0MSwgNywgNzMsIDE3XSldKSwgKDEyLCBbKDg5MTc0NjcyMjg4MTE3MjUsIFsxLCAyOSwgNDEsIDUsIDc5LCAzLCA0MSwgMjMsIDMxLCA1LCA0MywgMTksIDUzXSksICgyMDQ3NDA3MTY1MzI2MTg3LCBbMSwgMjMsIDMxLCA3LCA1MywgMywgNDEsIDE5LCA3MSwgMywgNzEsIDMsIDczXSldKSwgKDEzLCBbKDYyMjQxMzQ0NzU3MTg4MTg2NTksIFsxLCAxMywgNDcsIDExLCA3MSwgMjMsIDgzLCAyMywgMzcsIDE3LCA2NywgMTksIDUzLCA3XSksICg1MTI0NTMwMzgwMTgzNzE0NSwgWzEsIDE3LCA1MywgNywgODMsIDcsIDczLCAxMSwgNDMsIDEzLCAzMSwgNSwgNjcsIDNdKV0pLCAoMTQsIFsoMTA4MDQzMDkwMzYzMzQyNDI4MjI1LCBbMSwgNSwgNzMsIDI5LCA1OSwgMTksIDcxLCAzMSwgNjEsIDMsIDgzLCA1LCA0NywgMTksIDYxXSksICgzOTI2MDY1MTk2NjAyMzEzMzk5OTE3LCBbMSwgMTcsIDQ3LCAyMywgODMsIDE5LCA2MSwgMjMsIDMxLCAxNywgNzEsIDI5LCA1MywgMjMsIDczXSldKSwgKDE1LCBbKDIyMDI3NDExMjgzNTQwOTI4MTI1LCBbMSwgMjMsIDgzLCA1LCAzMSwgMjMsIDQ3LCA1LCA4OSwgNSwgNzEsIDcsIDQ3LCA1LCA1MywgNV0pLCAoMTc3MTE4MDg2OTEyMTMyMjg0NjI1LCBbMSwgMywgNTksIDcsIDg5LCAyMywgODksIDUsIDcxLCAyOSwgNTMsIDIzLCA2MSwgNSwgNDEsIDVdKV0pLCAoMTYsIFsoMjM3MDcyNTg0MjY2MDk4MTA4NDMxMjUsIFsxLCA1LCAxMDEsIDIzLCA4MywgMTcsIDg5LCA1LCA2NywgNSwgNzEsIDI5LCA5NywgNSwgNzksIDMsIDQxXSksICgyMDMxODkzMDM1ODQ1MTQ4MDQ1MTI1LCBbMSwgMywgNDcsIDMsIDQxLCA1LCA3MywgNSwgNjcsIDIzLCA3MSwgMTksIDczLCAxOSwgNzMsIDUsIDYxXSldKSwgKDE3LCBbKDM2MjM2OTIxNDQyNDAwMTU1NzA5Mzc1LCBbMSwgNSwgNzEsIDUsIDEwMSwgMTksIDY3LCA1LCA0MSwgMjMsIDQzLCAxMSwgNzksIDEzLCA0NywgNSwgNTksIDVdKSwgKDk1NDg0NDAzOTY4NjY0Njc2ODg2Mzc1LCBbMSwgMzEsIDMxLCA1LCA4OSwgMywgNDcsIDUsIDgzLCAxMywgNjcsIDI5LCA1MywgNSwgMzcsIDMxLCA3MSwgN10pXSksICgxOCwgWyg2ODQ0OTc0OTQzNTkxNTQxNTExNzg3NSwgWzEsIDEzLCAxMDEsIDIzLCA1OSwgMywgNDMsIDUsIDQxLCAzLCAzMSwgMTMsIDQzLCAzLCA2NywgNSwgODMsIDUsIDY3XSksICgxOTU4OTQ3ODA4OTQxMTgyMDYwOTA2MDUyNSwgWzEsIDUsIDEwNywgMywgOTcsIDIzLCA0NywgMjksIDMxLCA1LCA4OSwgMTksIDEwMywgMywgMzEsIDE3LCA4MywgMTEsIDEwM10pXSksICgxOSwgWygxNzQ1OTQyNTM4MzEzOTU0NTE4MzAwMjYyNSwgWzEsIDUsIDUzLCAzLCA2MSwgNSwgMTAxLCAxMywgNzMsIDE5LCA1OSwgNywgMTAzLCAxMSwgMTAxLCA1LCA0MSwgMTEsIDUzLCA3XSksICgyNTM4NjgyNjk3Mjg0NzIzMTM4MTMxMTA4NzUsIFsxLCA1LCA1OSwgMywgNjcsIDUsIDY3LCAyOSwgNDEsIDEzLCAxMDksIDE5LCA0NywgMTMsIDczLCAzMSwgNDMsIDUsIDc5LCAxN10pXSksICgyMCwgWygxMDAxOTE3NjU2MDMxMjAzNDQwMDU2NzU5NSwgWzEsIDMsIDQ3LCAzLCA4MywgNSwgNDcsIDE5LCAxMDMsIDI5LCA0MSwgMywgMzEsIDMsIDYxLCAzLCA0MywgMywgNzksIDE3LCA1OV0pLCAoMjE1OTQ3NTM1NzIyOTY2MjMxODIyNjczMzMyMjc1LCBbMSwgNSwgMTA5LCAxNywgNDMsIDIzLCA0NywgMjMsIDc5LCAxMSwgODMsIDE3LCAxMTMsIDE3LCA2MSwgMTcsIDgzLCAzLCAxMDcsIDUsIDY3XSldKV0pCgptZWRpdW1DbG9zZVByaW1lcyA9ICgiTWVkaXVtIGNsb3NlIHByaW1lcyIsIFsoMiwgWygzMTY5MzMsIFsxLCA1NTcsIDU2OV0pLCAoMzEzNTkxLCBbMSwgNTU3LCA1NjNdKV0pLCAoMywgWygxNzE1MzQyNzcsIFsxLCA1NTcsIDU2MywgNTQ3XSksICgxNzM5NzE3MDksIFsxLCA1NTcsIDU3MSwgNTQ3XSldKSwgKDQsIFsoOTQ3NTg2OTMyNDEsIFsxLCA1NDEsIDU2OSwgNTQxLCA1NjldKSwgKDEwMDM4MTY3NjA5MywgWzEsIDU1NywgNTcxLCA1NDcsIDU3N10pXSksICg1LCBbKDU2NjcwOTU3NTYwMTQ5LCBbMSwgNTYzLCA1ODcsIDU2MywgNTYzLCA1NDFdKSwgKDU1NzM3NjQ1NTA5MzM5LCBbMSwgNTYzLCA1NjMsIDU0NywgNTcxLCA1NjNdKV0pLCAoNiwgWygzMzk2MDA3OTQ3NTY3MTE5OSwgWzEsIDU1NywgNTYzLCA1NDcsIDU5MywgNTYzLCA1OTNdKSwgKDI4NTkwMDg3NTA2NzAzODI5LCBbMSwgNTQxLCA1OTMsIDUyMSwgNTY5LCA1MjEsIDU3N10pXSksICg3LCBbKDE2NjY4Njg3ODc3MzA1MzU3MzY3LCBbMSwgNTQ3LCA1OTMsIDU0NywgNTkzLCA1NDcsIDU2OSwgNTA5XSksICgxNDg5NTQyMTU2MjM1MjE2Mjk0NywgWzEsIDUyMywgNTYzLCA1MjMsIDU4NywgNTQxLCA1NjMsIDU0MV0pXSksICg4LCBbKDg4MjU1OTgxODY3MjQ1MzIzNDAxMzksIFsxLCA1MDMsIDU3NywgNTYzLCA2MDEsIDUwMywgNTkzLCA1MDMsIDU5OV0pLCAoODA1NjAzMDM1NzIxMDMxMTc5ODU5MywgWzEsIDUwOSwgNTcxLCA1NDEsIDU2MywgNTA5LCA1ODcsIDU0MSwgNTYzXSldKSwgKDksIFsoNTE3NjM3MTExMzgwMDQzOTc1Njc1NzgxMSwgWzEsIDUyMywgNTY5LCA1MDMsIDU5MywgNTQ3LCA1ODcsIDU0NywgNjA3LCA1NDddKSwgKDQzMDc0MTQxMzMwNTQ1Mjg5MDI4OTg0MzEsIFsxLCA1NDcsIDU3NywgNTAzLCA1NjksIDU0NywgNTY5LCA1MDMsIDU2MywgNTQxXSldKSwgKDEwLCBbKDI0NzI4MzIzNDA5NTU4Mjc3MTcyMTg4MjY3MjksIFsxLCA0OTksIDU3MSwgNTQxLCA1OTksIDQ5MSwgNTc3LCA1NjMsIDU2OSwgNDkxLCA2MDFdKSwgKDI1ODQyODQxNzExODQ1MTM1MDY0NTU0MTA0NTMsIFsxLCA1MDMsIDYxMywgNTA5LCA1OTksIDU2MywgNTY5LCA0OTksIDYwNywgNDkxLCA1NzddKV0pLCAoMTEsIFsoMTkxMDg1Njk0ODQwOTk4NjU4NDI3MTc0MjM1MTU0MywgWzEsIDUyMSwgNTc3LCA1NDcsIDU2MywgNTYzLCA1NzcsIDU0MSwgNjE3LCA1NjMsIDYwNywgNTU3XSksICgxMzMyODgyNTM1MDkwNjUwNzEyMTY5MzA4OTYzNzM5LCBbMSwgNDg3LCA2MTMsIDU0NywgNjEzLCA1MDMsIDU2MywgNDg3LCA2MTcsIDU1NywgNTYzLCA0OTldKV0pLCAoMTIsIFsoODUyMTk2NzM1NDkzOTI0OTQwODQ4OTg2MjQxNzY3OTg3LCBbMSwgNTQxLCA2MTMsIDQ4NywgNjE3LCA0OTEsIDU4NywgNTIzLCA2MTMsIDUyMywgNTYzLCA1MjMsIDYwMV0pLCAoNzUyNTQ2NTI4MjExMzMwODE1NDk3MDAzODQ1NDgxOTk3LCBbMSwgNDc5LCA1OTMsIDUwMywgNTg3LCA0OTEsIDU4NywgNTAzLCA2MDcsIDU0MSwgNTg3LCA1NDcsIDU4N10pXSksICgxMywgWyg0MTM0MjQyODQyOTMxMzg5MzE1NDI1NjU5MDY3MDYwNzE2NjksIFsxLCA0OTEsIDU4NywgNDg3LCA2MTcsIDU0MSwgNjA3LCA0ODcsIDU4NywgNTU3LCA2MTcsIDQ3OSwgNTcxLCA1NDFdKSwgKDQyMjYxMjQzOTY3NDkyMTYyOTY1MDkzODEzNjQ3NjAxMjYxMSwgWzEsIDUyMywgNTY5LCA1NDEsIDU3NywgNTQxLCA1NzEsIDUyMywgNjEzLCA0ODcsIDU2OSwgNTYzLCA1NjMsIDUyM10pXSksICgxNCwgWyg0NTcxNTMyMDc2NDY4MzE1NzM3NDQxODE1MjIxNTMzNzA5Mjc2NzMsIFsxLCA1NDcsIDYxOSwgNTQ3LCA2NDEsIDU2MywgNjA3LCA1NDcsIDU5MywgNTYzLCA2MzEsIDUwOSwgNjE5LCA1MDMsIDYxN10pLCAoMjU5OTE4OTcwNTQxMDI4MjY1NjE5ODg1ODEwNTE5MTcxNjA0NTI5LCBbMSwgNTU3LCA2MzEsIDU0MSwgNTkzLCA0ODcsIDU2MywgNTAzLCA2MTksIDUwMywgNjE3LCA0NjcsIDYzMSwgNTAzLCA1ODddKV0pLCAoMTUsIFsoMTA5ODY4MzM2NTI4NzAzMzUyMjI3MjA3MTI0OTQ0MDg3ODMxNzA0MjY5LCBbMSwgNDYzLCA1OTksIDUwOSwgNjMxLCA0NjcsIDYxNywgNDg3LCA2NDMsIDU2MywgNTYzLCA0ODcsIDYwNywgNTQxLCA1NjMsIDQ3OV0pLCAoMTQyMjE5MjA2Nzk3MzI4MDYwNjc1MTc0NTcwMDQwNjU2OTIwNTc5MTY3LCBbMSwgNDc5LCA2MTMsIDU0NywgNTg3LCA1NTcsIDYwMSwgNDc5LCA1ODcsIDQ5OSwgNTcxLCA0NzksIDY0MywgNTYzLCA1OTMsIDU0N10pXSksICgxNiwgWyg3NjgyMDIwMjUzMTA2Nzk5MjM0OTgwNTYxMDY3ODcwNzUxMTA0Mzg3MTgwMywgWzEsIDU0NywgNTg3LCA1MDksIDU2OSwgNDkxLCA2MTMsIDQ5MSwgNjA3LCA1NDcsIDYwMSwgNDg3LCA2NDMsIDQ4NywgNjE3LCA0NjMsIDY0M10pLCAoODQzNTMwODI2MzcwOTg5MTU4NTEzNTA3MTU2ODY2MzE0MTExNTI2MTc5MTksIFsxLCA0OTksIDU5MywgNTQxLCA2MTMsIDUyMywgNjAxLCA1NTcsIDU5MywgNDkxLCA1ODcsIDUyMSwgNTg3LCA0OTEsIDU5OSwgNTIxLCA2MTNdKV0pLCAoMTcsIFsoMjk4Njc3MTEwMzg2MTUwOTMxNzU2NjUzOTM4NjE5MzgxNDE1MzY1MjU1Mjk1MzksIFsxLCA1NDEsIDYwNywgNDc5LCA1NzcsIDU1NywgNTk5LCA0NjcsIDY0NywgNDYzLCA1NzcsIDQ2MSwgNjA3LCA0OTksIDYxNywgNDU3LCA2MTcsIDUwM10pLCAoMzIxNjA0MTY0OTg4MDYxODI4NjI4NjM4MTk0MzAxNDIwMjU5NTkyMjA5NzUxMDEsIFsxLCA0NDksIDYxMywgNTA5LCA2MzEsIDQ2MSwgNjEzLCA0OTksIDYwMSwgNTQxLCA1OTksIDQ2MSwgNjE3LCA0ODcsIDYzMSwgNTAzLCA1OTksIDUwM10pXSksICgxOCwgWygxOTk1Njg0ODQ5NTkyOTI4MTE4ODY0NDgxMTIxMjQ2OTk0NzEyNjY3NjA4NDMyODM1OSwgWzEsIDQ0OSwgNjAxLCA1NjMsIDY1OSwgNDY3LCA1ODcsIDQ2MSwgNTc3LCA1MDksIDY1OSwgNDY3LCA1NzcsIDQ3OSwgNjQxLCA0OTksIDY1MywgNTAzLCA2MDFdKSwgKDIxMTE3MDM2Nzk4MjM5NTQ3MjU5NDIyNDk1NDEwMzExNzUwNzk5MzUwNjU5MDE0NzEzLCBbMSwgNDg3LCA1OTMsIDU0MSwgNTcxLCA0NDksIDYwMSwgNDg3LCA2NDMsIDUyMSwgNjE3LCA0NjMsIDYxOSwgNDU3LCA2NTksIDUwMywgNTYzLCA1NDEsIDY1OV0pXSksICgxOSwgWygxMzI2NDM5NjUzNTg5NzcyNzM3MzUxNjI3NDg0ODk4NDA4NDc4ODk2NjEzNjE2MzYwNzUwOSwgWzEsIDUwMywgNjEzLCA0NjEsIDY1OSwgNDYxLCA2NTksIDU2MywgNTY5LCA0NjEsIDY0NywgNTIxLCA2NTMsIDUyMywgNjA3LCA0NDksIDYzMSwgNTQxLCA2MzEsIDQ2N10pLCAoMTI3NDc0NDEzMjgxMDY0NTEyMzgyNTk5OTU0OTIxMzY2ODIwMTk0MjY5NDYxMzQ2MTU3NDEsIFsxLCA0NjEsIDU5MywgNTAzLCA2MTksIDQ3OSwgNjUzLCA1MjEsIDY1OSwgNTYzLCA2NDEsIDU0MSwgNjE3LCA0NTcsIDU3MSwgNDk5LCA2MDcsIDQzOSwgNTk5LCA1NTddKV0pLCAoMjAsIFsoNTE1Njk4NjQzNDkyOTQ2MTE2OTc5NjgxNjE4Mjc0OTU2MjAwMzI2Nzk4MjEzMzU1NjMyODQ0OSwgWzEsIDQ2MywgNTcxLCA0MzksIDY2MSwgNDMzLCA2MDcsIDQ1NywgNjE3LCA1MDksIDY0MSwgNDY3LCA2NTksIDQ1NywgNjYxLCA1NTcsIDY2MSwgNDk5LCA2MTksIDQzOSwgNTk5XSksICg0ODg5NjEwNjU1NDE0NDExNDcyNjU4MTM1NzMyODY4ODE4MDIwNzcxNzg4OTQ2NzE4OTc2OTQ5LCBbMSwgNTAzLCA2NzMsIDQ4NywgNTY5LCA0NzksIDYxNywgNDkxLCA2NTMsIDQ1NywgNjEzLCA0NjEsIDU2MywgNDc5LCA2NzMsIDUwOSwgNTY5LCA0MzMsIDU3MSwgNDg3LCA2NzNdKV0pLCAoMiwgWygxMTQyNzYxLCBbMSwgMTA2OSwgMTA2OV0pLCAoMTEzNjM0NywgWzEsIDEwNjMsIDEwNjldKV0pLCAoMywgWygxMjI4Mjc2MzAzLCBbMSwgMTA2MywgMTA4NywgMTA2M10pLCAoMTIzNTIwOTE4OSwgWzEsIDEwNjMsIDEwODcsIDEwNjldKV0pLCAoNCwgWygxMzM0Njc3MzkzMjM3LCBbMSwgMTA2MywgMTA5MywgMTA1MSwgMTA5M10pLCAoMTMzMjIzNTE2NTYxOSwgWzEsIDEwNjMsIDEwOTEsIDEwNTEsIDEwOTNdKV0pLCAoNSwgWygxNDAyNjI5MTA2NjI1Mzk5LCBbMSwgMTA2MywgMTA5MSwgMTA0OSwgMTA5NywgMTA1MV0pLCAoMTQxODkzNzkwOTM5OTQyNywgWzEsIDEwNjksIDEwOTMsIDEwNTEsIDEwODcsIDEwNjNdKV0pLCAoNiwgWygxNTk3Nzk4ODA1MTAyMzUwODkxLCBbMSwgMTA2OSwgMTA5MywgMTA2MywgMTA5NywgMTA2OSwgMTA5N10pLCAoMTUyMDAwNTg3NDQ2MDk0MzQ4OSwgWzEsIDEwNjksIDEwNjksIDEwNjEsIDEwODcsIDEwNjEsIDEwODddKV0pLCAoNywgWygxNjAzMTY4MTI3Nzk0Njk5MjkwNTQxLCBbMSwgMTA2MywgMTEwMywgMTA1MSwgMTEwOSwgMTAzMywgMTA5MywgMTAzOV0pLCAoMTYxMjg0MjM4MjcyNTAxMDI5MzAxMSwgWzEsIDEwMzMsIDEwOTcsIDEwNjksIDEwOTEsIDEwNDksIDExMDksIDEwNDldKV0pLCAoOCwgWygxNzE4NTk4MjYzMDczODE4NTcwMzg0ODg3LCBbMSwgMTAzMSwgMTA5NywgMTA2OSwgMTA5MSwgMTA2MywgMTA5MywgMTA0OSwgMTA2OV0pLCAoMTc1NzUyOTU4OTA2MTkyMzY5OTg4ODA4NywgWzEsIDEwNDksIDEwOTcsIDEwNjMsIDEwODcsIDEwMzksIDEwOTMsIDEwNjEsIDEwOTddKV0pLCAoOSwgWygxODI0OTEzMzE3NzIwOTQ0NjI4ODA0MTgzODUzLCBbMSwgMTA1MSwgMTEwOSwgMTAzMywgMTA5NywgMTA2MywgMTA5MSwgMTA1MSwgMTA5MSwgMTAzOV0pLCAoMTc2NjExNTg1OTY3ODQ5OTAzMDA5MDkyMjQwOSwgWzEsIDEwNjEsIDEwOTEsIDEwNjMsIDEwNjksIDEwMzMsIDEwOTEsIDEwMzksIDEwOTEsIDEwNTFdKV0pLCAoMTAsIFsoMjA0NDE0NjIwNTUxMTQzMjU2MDUzMDY0NDM1MzAwMywgWzEsIDEwNjEsIDExMjMsIDEwMTksIDEwOTMsIDEwNjksIDEwODcsIDEwMzksIDExMDksIDEwMTksIDExMjldKSwgKDIwMjMzNDM1NjUzODU0OTc2NjI1NzM0MjQ5ODI4NDksIFsxLCAxMDQ5LCAxMDY5LCAxMDQ5LCAxMTI5LCAxMDUxLCAxMTE3LCAxMDM5LCAxMDkzLCAxMDY5LCAxMDY5XSldKSwgKDExLCBbKDIxMzgxNDY1NjA1MTQ4ODg5NTk2Mzg2NTMyMDM3Mjc5OTksIFsxLCAxMDMzLCAxMDkzLCAxMDMzLCAxMTE3LCAxMDQ5LCAxMDkzLCAxMDYxLCAxMTI5LCAxMDY5LCAxMDk3LCAxMDE5XSksICgyMDQ3MDg4NzI1OTQyNDgxOTgyNzE0MjA0MTY5NzE3NDcxLCBbMSwgMTA2MSwgMTEyMywgMTAzMSwgMTEyMywgMTAxOSwgMTA2OSwgMTA1MSwgMTA2OSwgMTA2MSwgMTA2OSwgMTA2OV0pXSksICgxMiwgWygyMzUzNTgzMTg2MTQ0NjUzMjg5NTAxNzE0MjgyMDUwMzkzNDA5LCBbMSwgMTA0OSwgMTA4NywgMTAyMSwgMTE1MywgMTA0OSwgMTEwMywgMTA1MSwgMTA5MywgMTA1MSwgMTA5MSwgMTAxOSwgMTEyOV0pLCAoMjI3NTE1OTk4NTc2OTA2MTgzMDk4NzI1ODAxNjQ3ODkzMTg1OSwgWzEsIDEwNjMsIDEwOTcsIDEwMzEsIDExMDMsIDEwNjMsIDExMDMsIDEwMjEsIDEwOTEsIDEwNTEsIDExMDksIDEwMDksIDExMTddKV0pLCAoMTMsIFsoMjQ5MjA5NzQzNjAwMzgzOTU0MDgzODg5MjUzODk3ODI4MzIzNTY1MywgWzEsIDEwMzksIDExMDMsIDEwMzksIDExMTcsIDEwMzksIDExMjMsIDEwNTEsIDEwOTMsIDEwMTksIDEwNjksIDEwNjksIDExMjMsIDEwNjldKSwgKDIwODM0NDUzMzAyMTczMDk3ODg5NDMyOTI5MTY0MjU3NjU0ODIyNzcsIFsxLCAxMDM5LCAxMDkxLCAxMDEzLCAxMTIzLCAxMDMxLCAxMDk3LCAxMDMzLCAxMDkzLCAxMDE5LCAxMTIzLCAxMDIxLCAxMDY5LCAxMDEzXSldKSwgKDE0LCBbKDMwMjY1Njc3MDk0NDk1NDc5NTIzNTkzMzMwMDgwMjczMjIxMTMzNTg0NjEsIFsxLCAxMDYxLCAxMTE3LCAxMDMzLCAxMTA5LCAxMDYxLCAxMTUzLCAxMDEzLCAxMTE3LCAxMDUxLCAxMDg3LCAxMDEzLCAxMTUzLCAxMDY5LCAxMTI5XSksICgyODgyNTk5NTg5NzA5MTEwMjI0MjQ5NzMzNTg4MTI3MTgwOTU5MDYyMTYzLCBbMSwgMTAxMywgMTA5NywgMTAzMywgMTEwOSwgMTA2MywgMTEyMywgMTA2MywgMTA4NywgMTA2MywgMTE1MSwgMTA2MSwgMTEwOSwgMTA0OSwgMTA4N10pXSksICgxNSwgWygyNzg0MDg1NjE2MTg0NDI4ODk3NjU5MjkyNTcwMzQzMzI5MDg3NTc1MDYzNzkzLCBbMSwgMTAzOSwgMTE2MywgOTk3LCAxMDg3LCAxMDA5LCAxMTA5LCAxMDA5LCAxMTUxLCA5OTcsIDEwOTMsIDEwMzEsIDExODEsIDEwMzksIDExNTEsIDEwMzFdKSwgKDI2MjMyODkwNDIyNTcwNDY1MDY0MTUzODE3MDcxODA4NjEzOTExODI4NjMyNzcsIFsxLCA5OTEsIDEwOTEsIDk5NywgMTEyOSwgMTA2OSwgMTE2MywgMTA0OSwgMTA5MywgMTAyMSwgMTA5MywgMTAxOSwgMTA5MSwgMTA1MSwgMTA5MSwgMTA2M10pXSksICgxNiwgWygzMzA5NDk4NjY2MTY1MzYyOTczNzEzOTk0NDQ5ODAzNjA2NTAwNTA1MDU5NTI0OTY5LCBbMSwgMTA1MSwgMTEwMywgMTA0OSwgMTE1MSwgMTAyMSwgMTEyOSwgMTA2MywgMTEwOSwgMTA2MywgMTEwMywgMTAwOSwgMTE1MSwgOTgzLCAxMDkxLCAxMDYxLCAxMTIzXSksICgzMDA3NTU5NTY1OTg5NDkyMTkwNjg1NjgyMzMzNjMzMTQyNjU5OTkyMjIyODg5OTgzLCBbMSwgOTkxLCAxMTUzLCAxMDEzLCAxMTAzLCAxMDY5LCAxMTA5LCAxMDM5LCAxMTUxLCA5ODMsIDExNTMsIDEwNTEsIDExMjMsIDk4MywgMTEwOSwgMTAzMywgMTEwM10pXSksICgxNywgWygzMzM3NDMwMzc0Mzg3ODIwMTg3NzY2NDA0ODQ2NTU5NzM3OTY3NDcyNDIxNDI1NTE5Mzc3LCBbMSwgMTA2MSwgMTE5MywgMTAwOSwgMTE3MSwgMTA2OSwgMTA5NywgOTcxLCAxMDkzLCAxMDYxLCAxMDkxLCAxMDE5LCAxMTg3LCAxMDMzLCAxMTA5LCA5ODMsIDExMDMsIDEwMzFdKSwgKDMwMDk0NjM2OTQ2NDUwOTk1NDkyMTQ2MDM5MzM5MDE4ODY2NjM0MDE2ODEyMDYxODg1MzEsIFsxLCAxMDMxLCAxMDkxLCAxMDM5LCAxMTYzLCAxMDE5LCAxMTUxLCAxMDYxLCAxMTI5LCAxMDY5LCAxMTIzLCAxMDEzLCAxMDY5LCA5NzcsIDExMDksIDEwMTksIDExMTcsIDk4M10pXSksICgxOCwgWygzMjA1NDc0MDE3MjA2NzE2OTEwNTI1OTk5MzYzMTk3NTA5Mzg0NjcxNTMwOTMzOTEzMjQ0MTc5LCBbMSwgMTA2OSwgMTA5MywgOTkxLCAxMTYzLCA5OTEsIDExMDMsIDk3MSwgMTA4NywgMTA2MSwgMTA2OSwgMTAzOSwgMTA4NywgMTA2MywgMTA5MSwgMTAxOSwgMTA4NywgMTA1MSwgMTE5M10pLCAoMzgzODE0MzY4NDUxOTM3ODY3NDYyNDYwNjgzMzk5ODc2NTAzMzYwMzc1OTMzOTE1NTAxMTE2OSwgWzEsIDEwNDksIDEwOTcsIDk5MSwgMTE5MywgMTAyMSwgMTE1MSwgMTA2OSwgMTA5MywgMTAyMSwgMTE4MSwgOTc3LCAxMTAzLCAxMDY5LCAxMDkzLCAxMDYxLCAxMjAxLCA5NzcsIDEwODddKV0pLCAoMTksIFsoMzYzMDUwNTI1MDU4NjUzNzM4MDgyNjQ1NzI3NDU3NzQ1MjQxNTg1NzQzNDgwNzA4ODU0ODc5MTY0OSwgWzEsIDEwMjEsIDExMDksIDEwMDksIDExNTMsIDk2NywgMTE2MywgMTAwOSwgMTEyMywgOTUzLCAxMjAxLCAxMDIxLCAxMDkzLCA5OTcsIDExNzEsIDEwMzMsIDExMDksIDEwMTksIDExNzEsIDEwNjFdKSwgKDMzMjg2MzQ0NzI1OTgwMDM4ODc4MzU1OTc1Mjg1MjUwOTMzNTA4ODM1MTMyMjQ4NjI4MjYyMTIwNjEsIFsxLCA5NzEsIDEwOTEsIDEwMzksIDEyMDEsIDEwMzEsIDEyMTMsIDEwNjEsIDExNTMsIDk5NywgMTEwMywgOTUzLCAxMTUzLCA5NzcsIDEwOTEsIDk5NywgMTA5NywgMTAzOSwgMTE1MSwgOTc3XSldKSwgKDIwLCBbKDMwNTU4Nzg1MzQyMzI4ODY4ODc1MzMwMDgyNzUxNTcyMjQ0NTEyNjQwMjQ1NTY4MTU4NDAzODEwNTYwMDEsIFsxLCA5NzcsIDExMTcsIDk3NywgMTExNywgOTgzLCAxMTg3LCA5NzEsIDEwOTMsIDk3MSwgMTA4NywgMTA2OSwgMTEwOSwgOTUzLCAxMDk3LCAxMDUxLCAxMDkzLCAxMDY5LCAxMTkzLCA5OTEsIDEwOTFdKSwgKDQwMDM5OTIyMDUyMzM4MDgzNDk4OTM1OTYxMjk1ODgwNjMwNzU3NjMwNTkyNDEwMTU0NTM4MTc5ODg4NzcsIFsxLCAxMDMzLCAxMDY5LCAxMDMxLCAxMTYzLCA5OTcsIDExODcsIDk1MywgMTA4NywgMTAzOSwgMTEyOSwgMTA0OSwgMTA2OSwgMTAzMSwgMTIxMywgMTAxMywgMTEwOSwgMTAzOSwgMTE4MSwgOTk3LCAxMDkxXSldKV0pCgpsYXJnZUNsb3NlUHJpbWVzID0gKCJMYXJnZSBjbG9zZSBwcmltZXMiLCBbKDIsIFsoODY1NzEyOTI5LCBbMSwgMjk0MjMsIDI5NDIzXSksICg4NjU3MTI5MjksIFsxLCAyOTQyMywgMjk0MjNdKV0pLCAoMywgWygyNTQ1NDU1MTAxNzQwNywgWzEsIDI5NDExLCAyOTQzNywgMjk0MDFdKSwgKDI1NDU0NTUxMDE3NDA3LCBbMSwgMjk0MDEsIDI5NDM3LCAyOTQxMV0pXSksICg0LCBbKDc0ODk0OTI1NDU4NTE2NjE2MSwgWzEsIDI5NDExLCAyOTQzNywgMjk0MDEsIDI5NDIzXSksICg3NDk4MTUzMTUzNzk2NDcwOTEsIFsxLCAyOTQyMywgMjk0MjksIDI5NDExLCAyOTQ0M10pXSksICg1LCBbKDIyMDQyMzAxOTgyMDk0NDczNTk2NDY3LCBbMSwgMjkzODksIDI5NDM3LCAyOTQwMSwgMjk0NTMsIDI5NDIzXSksICgyMjAzNzgxOTkwODIwNDI2MjIzMTUwMSwgWzEsIDI5NDExLCAyOTQ1MywgMjkzOTksIDI5NDIzLCAyOTQxMV0pXSksICg2LCBbKDY0NzYyNTE4ODc3NzUzNjUyMzk2NzAzODEyMywgWzEsIDI5Mzg5LCAyOTQzNywgMjkzODcsIDI5NDI5LCAyOTM5OSwgMjk0NDNdKSwgKDY0ODcyNzIxNDU0NjAyNzE2OTIzNDExOTg1NywgWzEsIDI5NDExLCAyOTQ0MywgMjk0MDEsIDI5NDQzLCAyOTM5OSwgMjk0MzddKV0pLCAoNywgWygxOTA0NzMwNTIxOTEyMDM0NTEzMDkzMTU2MDkxMDkwMSwgWzEsIDI5NDAxLCAyOTQzNywgMjkzOTksIDI5NDM3LCAyOTQwMSwgMjk0MzcsIDI5MzgzXSksICgxOTEyMjUwNjk2MjM3MTA0MzU4Mjc2MDQxNjE1NTEyMSwgWzEsIDI5NDIzLCAyOTQ3MywgMjkzOTksIDI5NDgzLCAyOTM5OSwgMjk0MjMsIDI5NDExXSldKSwgKDgsIFsoNTYyMTQzMDk5MTU2MzU1NjI3MzQ1MDU4MjUyODUzMTkzMzAxLCBbMSwgMjk0MjMsIDI5NDQzLCAyOTM2MywgMjk0ODMsIDI5NDExLCAyOTQyOSwgMjkzODMsIDI5NDczXSksICg1NjI4Mjk5NDI2MTg4NTEwNTQ3NjE4MzgwMDg0MDIyNTk3MDksIFsxLCAyOTM2MywgMjk0ODMsIDI5NDAxLCAyOTUwMSwgMjk0MDEsIDI5NDQzLCAyOTM5OSwgMjk0NTNdKV0pLCAoOSwgWygxNjU0OTkxNzU1MDEzOTE3NjMzMTA4OTUzOTUzMDQ5OTI4ODU3MjAyMSwgWzEsIDI5Mzg5LCAyOTQzNywgMjk0MjMsIDI5NTAxLCAyOTM0NywgMjk0NDMsIDI5MzgzLCAyOTUyNywgMjkzOTldKSwgKDE2NDk0OTQyNDg5MDY2MTgxNDE1MTQzMTkwNTEzMTA0OTAzNDk3OTMxLCBbMSwgMjkzODcsIDI5NDQzLCAyOTM4NywgMjk1MDEsIDI5MzgzLCAyOTQ3MywgMjkzNDcsIDI5NDQzLCAyOTM4N10pXSksICgxMCwgWyg0ODM4MTg0NDY2NDU5MjEyMjM5MTYwNjY1NzQ0NTQ3OTk4MDMyNjU5MjY4NjksIFsxLCAyOTM5OSwgMjk0NDMsIDI5MzgzLCAyOTQyMywgMjk0MTEsIDI5NDIzLCAyOTM0NywgMjk0NDMsIDI5Mzg3LCAyOTQyM10pLCAoNDkwMzY3Mzc2OTk3Nzc4NDk0MjU3MTE0OTk3NjgwNTMyNzM2MzI5OTQ1OTA5LCBbMSwgMjkzODcsIDI5NDgzLCAyOTQwMSwgMjk1MDEsIDI5NDIzLCAyOTUzMSwgMjkzODksIDI5NTAxLCAyOTM4OSwgMjk0NzNdKV0pLCAoMTEsIFsoMTQyOTgwNjY4OTc4NzM0MTk5MTY5MjU2MTAwODQ1OTY1ODUwMTk2ODQ0MDQyOTk1NzcsIFsxLCAyOTM2MywgMjk0MzcsIDI5MzM5LCAyOTQ0MywgMjkzMzMsIDI5NTMxLCAyOTQxMSwgMjk1MzcsIDI5MzQ3LCAyOTQ4MywgMjk0MTFdKSwgKDE0MzIwNDg0NDUyOTY2OTY0MjI2ODMwMjY5NDI4MDY1NDE5MTE1OTY3NTc1ODIzMzA3LCBbMSwgMjkzOTksIDI5NTI3LCAyOTM4OSwgMjk1MzcsIDI5Mzk5LCAyOTUwMSwgMjkzODMsIDI5NDIzLCAyOTM0NywgMjk0NDMsIDI5MzMzXSldKSwgKDEyLCBbKDQyMjk4ODU0OTcwMTYwMjAyMTcwODA3MjQ5MDc1NjI4Mjg4MTMwNDU0NTYyNzQ1ODI1NTg1OSwgWzEsIDI5MzYzLCAyOTQ1MywgMjk0MDEsIDI5NDUzLCAyOTM4OSwgMjk1NjcsIDI5NDIzLCAyOTUzMSwgMjkzNjMsIDI5NDI5LCAyOTQyMywgMjk0MjNdKSwgKDQyMzc2MTI3MTc4NjIyNTExMjIyMjIxNzg2MjE1MDI4ODU2NDcxNDUxOTAxNzM4MDM5NTY4OSwgWzEsIDI5NDExLCAyOTUzNywgMjk0MDEsIDI5NDgzLCAyOTM4MywgMjk1MzcsIDI5MzM5LCAyOTQ3MywgMjk0MTEsIDI5NTI3LCAyOTMzMywgMjk0MzddKV0pLCAoMTMsIFsoMTIyOTMyMzkzODE1ODE1MjA2MjU3MDQxMjMzMzkwMjQ5OTA0OTU5OTMyMjYxNjc5MzE3MTEwNTE3OTEsIFsxLCAyOTM2MywgMjk0NDMsIDI5MzQ3LCAyOTUzNywgMjk0MDEsIDI5NDIzLCAyOTM0NywgMjk1MzEsIDI5MzExLCAyOTQyMywgMjkzMTEsIDI5NDQzLCAyOTM5OV0pLCAoMTI0NTExOTgzNzkwNjEwNTk3NjQ2MjQ0OTEzODUxMTU4ODU3MzI4OTg4NjM5MzE4NzQwODcxMzg2ODcsIFsxLCAyOTM2MywgMjk1NjksIDI5MzQ3LCAyOTQyOSwgMjkzMzksIDI5NTY3LCAyOTQyMywgMjk0ODMsIDI5MzYzLCAyOTUyNywgMjk0MjMsIDI5NDgzLCAyOTMzOV0pXSksICgxNCwgWygzNjYyNDk5MzEwNTQwNTQ4NTU5MTgyNTQwODYyMTUyMTcyMzE3MDc5MTc2NjYxMTcwMDY3Nzg5NzczODA5MDksIFsxLCAyOTM0NywgMjk1NjksIDI5NDIzLCAyOTQ0MywgMjkzMzMsIDI5NTI3LCAyOTM4NywgMjk1NjcsIDI5Mzk5LCAyOTQyOSwgMjkzMjcsIDI5NTI3LCAyOTMzOSwgMjk0NTNdKSwgKDM2Nzg5NjM3MDc4OTAxMTE1MjQxMjYwODczMTMwMzcxNTQzNjk5MTM5NDM5NjY1Nzk0NzAxNDc1ODk5OTQ4OSwgWzEsIDI5MzAzLCAyOTUwMSwgMjkzOTksIDI5NTM3LCAyOTM4NywgMjk1NjcsIDI5Mzg5LCAyOTQ3MywgMjkzMTEsIDI5NTI3LCAyOTM5OSwgMjk0ODMsIDI5Mzk5LCAyOTUyN10pXSksICgxNSwgWygxMDY0NDg5NDk1Mzk4NTM4MTc2NDY4NzYyNTA3NDA5NDI5NDM2NjQxMzYzNTU1NzA2MDEwOTEyMjgzODk0MDY2NjE3MSwgWzEsIDI5Mjk3LCAyOTQ0MywgMjkzMzMsIDI5NDUzLCAyOTMxMSwgMjk1MjcsIDI5MzExLCAyOTUyNywgMjkzODcsIDI5NTI3LCAyOTMwMywgMjk1NjcsIDI5MzgzLCAyOTQ1MywgMjkzMTFdKSwgKDEwNjg1NjIwMzYzNjExNTgxMzQ5NzIzNzEyMzYyNTYwMDY1NzExOTQ3MDU0NjY2NDQ2ODg0MzM0MTU3MzUyMTAzMDk5LCBbMSwgMjkzOTksIDI5NDUzLCAyOTM5OSwgMjk1MzEsIDI5Mzk5LCAyOTQ0MywgMjkzMTEsIDI5NDUzLCAyOTI5NywgMjk1MzEsIDI5Mjk3LCAyOTU3MywgMjkzODksIDI5NDczLCAyOTI5N10pXSksICgxNiwgWygzMTg1MTMyNTM3NDczNzc5MDgyMTE2NTQ1MTI1NTMzNjQwNDIxNzM2MjcyNTc4ODE5ODgwNjkzOTE1ODc3NjgyMjk1ODM2OTEsIFsxLCAyOTQyMywgMjk1MDEsIDI5NDIzLCAyOTUzNywgMjk0MDEsIDI5NTczLCAyOTM5OSwgMjk1MDEsIDI5MzExLCAyOTQyOSwgMjkzNjMsIDI5NDgzLCAyOTMwMywgMjk0MjMsIDI5NDExLCAyOTU2OV0pLCAoMzE4MDEwNDMzOTM4OTc1NTMxMDY5OTcwNDY3MDMxODE5MzU4ODMxMTcwNzM3MjE0NTMxNjI1NjQ3MjY1MTg2NDc5NTA4Njk3LCBbMSwgMjkzNDcsIDI5NTczLCAyOTMyNywgMjk0MjMsIDI5MzMzLCAyOTUwMSwgMjkzMjcsIDI5NDQzLCAyOTM4NywgMjk1ODEsIDI5NDIzLCAyOTU3MywgMjkzOTksIDI5NTM3LCAyOTM0NywgMjk0ODNdKV0pLCAoMTcsIFsoOTI3NDkyNDUxMzQ1NjMyMzU1ODgxMTU4OTE5MTY3MDExOTA5OTkyNTY5MTMzNDc0MjE0ODY2NjE4NTUzNzcyNzg4OTEyODczMjUyOSwgWzEsIDI5NDIzLCAyOTU5OSwgMjkyNjksIDI5NTMxLCAyOTMzOSwgMjk0ODMsIDI5MzMzLCAyOTQ0MywgMjkzMzMsIDI5NTM3LCAyOTM4NywgMjk0NDMsIDI5Mzk5LCAyOTQ1MywgMjkzMTEsIDI5NTk5LCAyOTI4N10pLCAoOTMwNjUzNDI3MDg2MTIyMDA4NTcyNTI0ODcyODg4NTU1MzQ4NjQ2MDAxMjMyODYwNTc2Mjg1ODkwNjk1Nzg0MDU5MDIzOTM1ODQ5NywgWzEsIDI5Mzg5LCAyOTU2NywgMjkzNjMsIDI5NDIzLCAyOTI2OSwgMjk0ODMsIDI5NDIzLCAyOTQzNywgMjkzNjMsIDI5NTY3LCAyOTMzMywgMjk1ODEsIDI5Mzk5LCAyOTUyNywgMjkzMzksIDI5NTM3LCAyOTI2OV0pXSksICgxOCwgWygyNzM0NDc1NTUzMTk0MjQ5NDMxODczOTg4OTM3ODQ2NTQ2NjYzMDYzNjA3MTAzMzY0NTUzNTcxMzY3NTE3NTE4MDkwMzY1NjMwMjAxNDU5NTEsIFsxLCAyOTM4OSwgMjk0NzMsIDI5Mzg3LCAyOTUwMSwgMjkzMjcsIDI5NjExLCAyOTMyNywgMjk1MzcsIDI5MzM5LCAyOTUzNywgMjkyNTEsIDI5NDIzLCAyOTQyMywgMjk0NzMsIDI5MjUxLCAyOTUyNywgMjkzMDMsIDI5NTczXSksICgyNzM3NzczNjQ3Mjk4MDA0NjI0Mjk5NDA0NDMyODg3MzA1MTU1NTUzNDY2Njg2MDYwNjIyMTQwODU1NTczMTcwNDAzMDQyNTcwODgxNTc2MzksIFsxLCAyOTQyMywgMjk0MjksIDI5Mjg3LCAyOTYxMSwgMjkzMTEsIDI5NTMxLCAyOTM0NywgMjk1ODEsIDI5MzAzLCAyOTQyOSwgMjkzMzMsIDI5NTMxLCAyOTI4NywgMjk1MDEsIDI5MzI3LCAyOTU4NywgMjkzMDMsIDI5NTY3XSldKSwgKDE5LCBbKDgwOTI4MTMwMzIwMzQ3NTI4NzAxMzczODE0MDE5MTU2NTM1NDM4NjUyNDMzODA1MTM5NTE5MTc1NTY2MDE2MTI2ODY1MDE4OTc4NzcxNTU0ODA1MjksIFsxLCAyOTM4MywgMjk2MTEsIDI5Mzg5LCAyOTU4MSwgMjkyODcsIDI5NTMxLCAyOTQwMSwgMjk1MDEsIDI5Mjk3LCAyOTQ1MywgMjkzMjcsIDI5NjExLCAyOTQxMSwgMjk0NTMsIDI5MzgzLCAyOTQ1MywgMjkzODcsIDI5NTM3LCAyOTI1MV0pLCAoODEwMTQ2NTg0NjY1NTAwODU2MDczMzI4ODIwOTI2OTExNzY5MTQ4Mzc4NDM2NDU0OTk0OTc1NDY3NjYxODQ3MjczMjg3Njc5NzYyMTA4NDU0NzI0MSwgWzEsIDI5Mzk5LCAyOTU3MywgMjkzMzksIDI5NTY3LCAyOTI1MSwgMjk0MjMsIDI5MzQ3LCAyOTQ0MywgMjkzODksIDI5NTczLCAyOTMzMywgMjk1NjcsIDI5MzQ3LCAyOTU3MywgMjkzMjcsIDI5NTAxLCAyOTQwMSwgMjk2MjksIDI5Mjk3XSldKSwgKDIwLCBbKDIzNDM3ODE2Mjc3NDI3MjA4MzQ2NTgxOTU4NTI2ODE0OTY5MTMwNzEwNTA1MDg2MzYyODM1MzM3NTM0MTc3NDU1NDk2ODA2ODQ0NzE5OTE2MjI4NTQ0MzgzMywgWzEsIDI5Mjg3LCAyOTQ4MywgMjkyNTEsIDI5NDUzLCAyOTM4OSwgMjk0ODMsIDI5MzM5LCAyOTUwMSwgMjkzMzMsIDI5NTM3LCAyOTI2OSwgMjk0MzcsIDI5MzM5LCAyOTUwMSwgMjkyOTcsIDI5NDUzLCAyOTQwMSwgMjk1MzcsIDI5MzgzLCAyOTUzMV0pLCAoMjM0MTM1NzY0NTQ3NTk2MzA0NTI0MTQ3NjgxMjY1NzQ3NTQwNDUyNzg2NjgyODQwMTQ3MDU0NjY2NjcxMjYyNzIzMDMxOTg4MDY2NDgyNDEzMzAxOTEzNjY5LCBbMSwgMjkzMzksIDI5NTMxLCAyOTI5NywgMjk1NjcsIDI5MjMxLCAyOTU2NywgMjkyOTcsIDI5NDIzLCAyOTMzOSwgMjk0NDMsIDI5MjMxLCAyOTU4NywgMjkzMTEsIDI5NTY3LCAyOTMxMSwgMjk1OTksIDI5Mzk5LCAyOTQ1MywgMjkyMzEsIDI5NDUzXSldKSwgKDIsIFsoMTYyMTI3MDA4MSwgWzEsIDQwMjUzLCA0MDI3N10pLCAoMTYyMTI3MDA4MSwgWzEsIDQwMjUzLCA0MDI3N10pXSksICgzLCBbKDY1MjYwOTg0NTcwNDkzLCBbMSwgNDAyNTMsIDQwMjc3LCA0MDI1M10pLCAoNjUyNDE1MjkzMjk1MjEsIFsxLCA0MDI1MywgNDAyNzcsIDQwMjQxXSldKSwgKDQsIFsoMjYyODkwNzU0MDk2MDE1ODc1MSwgWzEsIDQwMjUzLCA0MDI4MywgNDAyNDEsIDQwMjg5XSksICgyNjI4NTE1OTc1MTU3MDcxNTY5LCBbMSwgNDAyNDEsIDQwMjg5LCA0MDI1MywgNDAyNzddKV0pLCAoNSwgWygxMDU2NjM3ODY1MjM5OTQ1MDUyNDk3ODcsIFsxLCA0MDIzNywgNDAyODMsIDQwMjMxLCA0MDI3NywgNDAyMzFdKSwgKDEwNTc0Nzg0NjU1MTkwMTI5NzEwMjk5MSwgWzEsIDQwMjUzLCA0MDI3NywgNDAyNDEsIDQwMjgzLCA0MDIzN10pXSksICg2LCBbKDQyNzY3Nzc5OTQxNjg4NDU3OTU2ODUwODQzNjksIFsxLCA0MDIxMywgNDAzNTcsIDQwMjUzLCA0MDM1NywgNDAyNzcsIDQwMjc3XSksICg0MjYxNzMwNjY0NjgyNjM3Mjk4NTE1NTczMDgzLCBbMSwgNDAyMzcsIDQwMjc3LCA0MDIzMSwgNDAyNzcsIDQwMjEzLCA0MDM1N10pXSksICg3LCBbKDE3MTY3NTMzOTQ1MDUyODc3OTAxMDEzMDU3NzcxNzQ0MSwgWzEsIDQwMjMxLCA0MDM1MSwgNDAyMzcsIDQwMjg5LCA0MDI3NywgNDAyNzcsIDQwMjEzXSksICgxNzE3MjU5NjQ2NzMzMzkwMTUyODI0MzEwNDgwMDg2MjEsIFsxLCA0MDIzNywgNDAzNDMsIDQwMjEzLCA0MDM2MSwgNDAyMzEsIDQwMjg5LCA0MDIxM10pXSksICg4LCBbKDY5NDAzMjg1MzI0MjU2NDAxNjE4Nzg2MTcxMDcwMjI4MzE5MzEsIFsxLCA0MDI0MSwgNDAzODcsIDQwMjc3LCA0MDM1MSwgNDAyMTMsIDQwMjc3LCA0MDIxMywgNDAzNDNdKSwgKDY5Mzc5MjgwMzAyMDE0NjEzMjc1Njg0MzU3NDA1NjMzMTI3MDEsIFsxLCA0MDIxMywgNDAzNTcsIDQwMjQxLCA0MDM2MSwgNDAyNTMsIDQwMzQzLCA0MDIzMSwgNDAyODldKV0pLCAoOSwgWygyNzg3ODM5MzQyMTYyMTA3OTQwNjE3NTM0NDU1Mjg0NjAyODUwNzc4NDMsIFsxLCA0MDIzNywgNDAyODMsIDQwMTc3LCA0MDQyMywgNDAyMzcsIDQwMjg5LCA0MDIxMywgNDA0MjMsIDQwMTg5XSksICgyODAyMDE2OTMzMTc1NTc3MzI2OTk3MzQ0OTk5ODM1Mzc2NTA3NTEzMzEsIFsxLCA0MDI3NywgNDAzNjEsIDQwMjc3LCA0MDQyMywgNDAyMTMsIDQwMzYxLCA0MDIzNywgNDAyODksIDQwMjM3XSldKSwgKDEwLCBbKDExMjY2MDM1ODU4NTU1NzEyNTcyODQ4NDk4Nzg1NjA4OTU3ODEwMTU1MTk5NzY5LCBbMSwgNDAyNzcsIDQwMzYxLCA0MDI0MSwgNDAyNzcsIDQwMTY5LCA0MDQyNywgNDAyMzEsIDQwMzQzLCA0MDIxMywgNDAzNDNdKSwgKDExMjQ4NzQ4MTY1NDIzNDIyMDE0MTU2OTc1MjYyMDkyNDY1ODU5Mjg0Mzk4MTMxLCBbMSwgNDAyNzcsIDQwMzYxLCA0MDE5MywgNDAyODksIDQwMTg5LCA0MDM0MywgNDAyMTMsIDQwMzYxLCA0MDIzNywgNDAzNTddKV0pLCAoMTEsIFsoNDUyMzY1NjQ3OTMzMzY1NzAwMTg0NDU1MTY0MTc0Mzc2MDIzMDUzODYwOTE3Mjg3OTAxLCBbMSwgNDAxNzcsIDQwMzg3LCA0MDI3NywgNDAyODMsIDQwMTg5LCA0MDM1NywgNDAyMzEsIDQwMzQzLCA0MDE2MywgNDAzODcsIDQwMjQxXSksICg0NDk3MDE5MTE0ODIxNTU3NzIxMjg1NjU4NDczNjgzNjU5NzMwMzAyOTA0NjMwNDg3NzEsIFsxLCA0MDE4OSwgNDAzNTEsIDQwMjUzLCA0MDI4OSwgNDAxODksIDQwMjgzLCA0MDE5MywgNDAzNDMsIDQwMTkzLCA0MDM1MSwgNDAxNjNdKV0pLCAoMTIsIFsoMTgzMTM0NTg2Nzc3NjgyNDEwMjkzNjExMjYwNjc4Njg3MTMwODYyNDgyODY2NzI2MzY4MTUwODcsIFsxLCA0MDIzNywgNDA0MjksIDQwMjc3LCA0MDM1NywgNDAyNDEsIDQwMzUxLCA0MDI1MywgNDAyODMsIDQwMjMxLCA0MDI4OSwgNDAyMTMsIDQwMzU3XSksICgxODI1MDU3MjQzNzIyOTkyNDc1ODI5NTAwNjA1MTQ1OTAwMDE5NzE5MTk0MjQ4OTgxNjA1NjMyOSwgWzEsIDQwMjEzLCA0MDM2MSwgNDAyMzEsIDQwMjgzLCA0MDIzMSwgNDAzNjEsIDQwMTc3LCA0MDI3NywgNDAxNTMsIDQwNDMzLCA0MDIzNywgNDA0MjNdKV0pLCAoMTMsIFsoNzM4MzY1NDI0MzcyMzI4MTU1NTE2MjAwODc1NTk2ODU5MDI4MDMzNzEyMTg1MTQzODEzMjM5NjM2Njk3LCBbMSwgNDAyNDEsIDQwNDI3LCA0MDE4OSwgNDAzNDMsIDQwMjUzLCA0MDQyNywgNDAyMzcsIDQwMzU3LCA0MDE4OSwgNDA0MzMsIDQwMjEzLCA0MDM1MSwgNDAxNzddKSwgKDczNTI4NjM1MjcwNzcwMTU2MTU4NjA3ODY3OTQ3NTA5NTA3NTgxNTY0MzQ3OTQwMTQ1MDI2NTg1NjI1NywgWzEsIDQwMTUzLCA0MDQ1OSwgNDAyNDEsIDQwNDU5LCA0MDE5MywgNDAyODksIDQwMjM3LCA0MDI4OSwgNDAxNTMsIDQwMzg3LCA0MDE2OSwgNDAzODcsIDQwMjUzXSldKSwgKDE0LCBbKDI5MzczMjk3NTgwMDM1MDY5Mzk5ODc5OTcxNDM3MTgyMjc1MDg0MTkxMzI2NDI1NTA1NTQyMTU5MTgwNjM3MDcxLCBbMSwgNDAyMTMsIDQwMjg5LCA0MDEyOSwgNDAyODMsIDQwMTI5LCA0MDM4NywgNDAyNDEsIDQwMzYxLCA0MDE1MywgNDA0MjksIDQwMTI5LCA0MDI3NywgNDAxNjksIDQwNDI3XSksICgyOTkwOTA2ODQyMjk3ODEzNjY3OTMxMDAzNjk0MDcxMjE4ODQ1ODM2ODE0MjkxMzQwNzQzNDMwNjQwODk1ODcyNywgWzEsIDQwMTc3LCA0MDQzMywgNDAxODksIDQwNDI5LCA0MDE5MywgNDA0MjMsIDQwMjc3LCA0MDQyOSwgNDAyNDEsIDQwMzQzLCA0MDIzNywgNDA0MjcsIDQwMTg5LCA0MDM1N10pXSksICgxNSwgWygxMTkwMzA4NzM0ODA2MDAxNDUyNjI0NDI4NDE5MjEwMTY2ODMxODc4NDQ3NjM4NTgzNzY1NzA5OTk4NzAxNjk5MzIyNjc3LCBbMSwgNDAxNjMsIDQwNDcxLCA0MDE1MywgNDA0MjksIDQwMjQxLCA0MDI4MywgNDAyNzcsIDQwMjg5LCA0MDE1MSwgNDA0NTksIDQwMjQxLCA0MDM0MywgNDAxMjcsIDQwMzQzLCA0MDE2OV0pLCAoMTE5MTE5NzcxNjk4MjYzOTExMTg5MjEzNTE0MzY4OTYyMTE1MjgwMDA0MjA1OTkyNTE1MDI4OTk4NjUwNDgyNzA0NzE2MywgWzEsIDQwMTg5LCA0MDI4OSwgNDAxMjksIDQwMjgzLCA0MDI0MSwgNDAyODksIDQwMjEzLCA0MDQyNywgNDAxNTEsIDQwNDgzLCA0MDI3NywgNDA0NTksIDQwMTI5LCA0MDM1NywgNDAyNTNdKV0pLCAoMTYsIFsoNDgxNDIxNDUwNTk1NDQzMTkxOTAzNzU4OTU4NDAyODUwMzU0MjAzNDUwMDg0NjA2NTIzODkwMjg5ODk4NDI4Mzk1ODkxNjExMDEsIFsxLCA0MDE1MSwgNDAyODMsIDQwMjEzLCA0MDQyMywgNDAyNzcsIDQwNDIzLCA0MDI0MSwgNDA0NTksIDQwMTY5LCA0MDQzMywgNDAxNTEsIDQwMzQzLCA0MDE2MywgNDA0MjcsIDQwMTUxLCA0MDI3N10pLCAoNDgzMDQzMjM5MjgwNTE2ODM5NTYxNTI5MTQzNzExNDQxMTA4NTE0OTI1MjUxNTA0OTEzNDA1MDc0OTMzODY5MzEzMTI4MTQ3ODksIFsxLCA0MDI0MSwgNDA0MzMsIDQwMTIzLCA0MDQ1OSwgNDAxNTMsIDQwMjgzLCA0MDI0MSwgNDA0MjksIDQwMTUxLCA0MDQ4MywgNDAxNjksIDQwMzU3LCA0MDE5MywgNDA0MjksIDQwMTg5LCA0MDM4N10pXSksICgxNywgWygxOTQ3MTYzMDgxMjg4OTAxNzQ1NDQ3Njc5ODY0OTAyNjU2ODAxNTYxODQ5NDY2NjU1OTA1NDI2Nzg4MTI1NzAxMTg3MjIzNDk5NDQyODgzLCBbMSwgNDAyNTMsIDQwNDgzLCA0MDEyNywgNDAzODcsIDQwMTExLCA0MDI3NywgNDAyMTMsIDQwNDkzLCA0MDEyOSwgNDA0MzMsIDQwMjUzLCA0MDQ1OSwgNDAyNzcsIDQwNDg3LCA0MDIzMSwgNDAyODksIDQwMTI5XSksICgxOTUwMTkzNTYzNTAzNTcxMjQ3OTk0Njc1NTAzNzYwMjExNDIwMTYzOTIwMDQ4MDUyMTY5NTEzODEyNjE4NTcwMjk3NjU3NTQ1NzIyODkzLCBbMSwgNDAyMzEsIDQwNDI3LCA0MDExMSwgNDA0MjcsIDQwMTI3LCA0MDQ4NywgNDAyMzEsIDQwNDU5LCA0MDIzNywgNDAzNTEsIDQwMTI5LCA0MDQyNywgNDAyMzEsIDQwMjc3LCA0MDI3NywgNDA0MjMsIDQwMjQxXSldKSwgKDE4LCBbKDc4OTM2OTUxOTE1MDQ5ODQ3MjI2MjQzNDAwODI3MTA4Nzg0NzU2NTU2NTQ0MjAwMTYzMzk0MzgwNjQyMjYwODY2MjQ5NDUzOTE2MDU4Nzc1NTQxLCBbMSwgNDAyNTMsIDQwNDcxLCA0MDA5OSwgNDAzNDMsIDQwMTI5LCA0MDQzMywgNDAyMzEsIDQwNDcxLCA0MDIzNywgNDAzNjEsIDQwMjEzLCA0MDQ3MSwgNDAyMTMsIDQwNDcxLCA0MDIzNywgNDAzNTEsIDQwMDk5LCA0MDQ4N10pLCAoNzg5NTEwOTQwOTQxMzIwNDAyMzMwNDAwNTg3MDcwNDU5MTU0ODI0Mjg3MDQ5NjQxMjI2NTU0MTQxOTg5MzIyNDE3OTI3MDYwNTkzNTI2OTY0MTcsIFsxLCA0MDEyMywgNDA0MjksIDQwMTI3LCA0MDQyMywgNDAxNTMsIDQwNDgzLCA0MDE1MSwgNDA0MjcsIDQwMTkzLCA0MDQ4NywgNDAxODksIDQwMzU3LCA0MDEyMywgNDA0NzEsIDQwMjMxLCA0MDQ5OSwgNDAyNTMsIDQwNDU5XSldKSwgKDE5LCBbKDMxMjg5Mjc2MzYxMDkyNzgyOTEzNDUyNjk0MDAwMzQ2ODE5NzE2NTY3ODMwNTI2NzI4ODAwNDI0MjkyNzE5NjcwNTI4OTQzMjM0Nzg1NTMzODc0MTE0OTMsIFsxLCA0MDEyMywgNDA0NzEsIDQwMjUzLCA0MDI3NywgNDAxMTEsIDQwMjg5LCA0MDE3NywgNDAzODcsIDQwMDkzLCA0MDI4MywgNDAxNzcsIDQwNDI5LCA0MDE5MywgNDAzODcsIDQwMjMxLCA0MDQ3MSwgNDAwOTksIDQwNDk5LCA0MDI1M10pLCAoMzE0NjUyMDEyODgyNDM3MTcxNjIwNzcyNTIwOTkwNzU4NDA1Mjk1MjA0OTc0MjEwNzY4MDk5MzY3NDQwOTcyMzI4MDcxNzA2ODA3NTQ5NTE2Njk4NjQyMywgWzEsIDQwMjEzLCA0MDI4OSwgNDAxODksIDQwNDgzLCA0MDEyNywgNDAyNzcsIDQwMTYzLCA0MDQyOSwgNDAxNjMsIDQwNDg3LCA0MDE5MywgNDA0MzMsIDQwMTI5LCA0MDI4OSwgNDAyNzcsIDQwNDgzLCA0MDA5MywgNDA0NTksIDQwMjUzXSldKSwgKDIwLCBbKDEyODg1MjYwMDYwOTM0OTUyNjA5NzQzNzUxMjY3OTA4OTQ3MDg5OTg2MDYyOTA2MzkyMTk2NjkwNDQ1MTU0NDk1MTY2NjMyOTAwNjE1NDk3NDUxNTIwODU5NTg0OSwgWzEsIDQwMDk5LCA0MDQ3MSwgNDAyNDEsIDQwMzU3LCA0MDIzNywgNDAzNjEsIDQwMjc3LCA0MDQyMywgNDAwODcsIDQwNTE5LCA0MDI0MSwgNDA0MjksIDQwMDg3LCA0MDQ5OSwgNDAxNjksIDQwNDk5LCA0MDE4OSwgNDA1MDcsIDQwMjEzLCA0MDQ3MV0pLCAoMTI2MDYyMzE2MjEzNzMxNDg3NDIyOTE2NTcyOTk0OTg2OTQ4MjYwNjkxNjcyMzExNTMwODEzNjkwMTg4MTI3MTA5NTMwNzAwOTMyMDM2NzU5MzQ1NjY4NjQyNzY3LCBbMSwgNDAxODksIDQwNDMzLCA0MDI3NywgNDAzNDMsIDQwMTUzLCA0MDM4NywgNDAxNjksIDQwMzU3LCA0MDA5MywgNDA0OTksIDQwMTI3LCA0MDM4NywgNDAwODcsIDQwNDk5LCA0MDA4NywgNDA0OTMsIDQwMTExLCA0MDI4MywgNDAwODcsIDQwNDMzXSldKV0pCgpwcmludCAic3RvcmVkIGNsb3NlIG51bWJlciBzdWl0ZSAtIHJlIHJ1biBpZiBuZWVkZWQiCu+4oWJkNmQ3NTE5LTFiMzUtNDcxMS1hNTNmLTFkNzQxNzNkODk2OO+4oXsic3Rkb3V0Ijoic3RvcmVkIGNsb3NlIG51bWJlciBzdWl0ZSAtIHJlIHJ1biBpZiBuZWVkZWRcbiJ977iheyJkb25lIjp0cnVlfe+4oQrvuKBmYzExNTIxYi1mNmU3LTRlYWMtYWNkOS1kNWM2NTg3NDhkOTlp77igCiMgVGhpcyBjZWxsIG5lZWRzIHRvIGJlIGV4ZWN1dGVkCgpkZWYgcGxvdE1pbk1heEF2ZXJhZ2UoYmVuY2htYXJrKToKICAgIGRhdGFNaW4gPSBbXQogICAgZGF0YU1heCA9IFtdCiAgICBkYXRhQXZlcmFnZSA9IFtdCgogICAgZm9yIG51bWJlck9mRmFjdG9ycywgbWluLCBtYXgsIGF2ZXJhZ2UgaW4gYmVuY2htYXJrczoKICAgICAgICBkYXRhTWluLmFwcGVuZChbbnVtYmVyT2ZGYWN0b3JzLCBtaW4udG90YWxUaW1lWyJkZWZhdWx0Il1dKQogICAgICAgIGRhdGFNYXguYXBwZW5kKFtudW1iZXJPZkZhY3RvcnMsIG1heC50b3RhbFRpbWVbImRlZmF1bHQiXV0pCiAgICAgICAgZGF0YUF2ZXJhZ2UuYXBwZW5kKFtudW1iZXJPZkZhY3RvcnMsIGF2ZXJhZ2UudG90YWxUaW1lWyJkZWZhdWx0Il1dKQogICAgICAgICNwcmludCAiZm9yICVkIGZhY3RvcnM6IiVudW1iZXJPZkZhY3RvcnMKICAgICAgICAjcHJpbnQgIm1pbiIsIG1pbgogICAgICAgICNwcmludCAibWF4IiwgbWF4CiAgICAgICAgI3ByaW50ICJhdmVyYWdlIiwgYXZlcmFnZQoKICAgIG1pblBsb3QgPSBzY2F0dGVyX3Bsb3QoZGF0YU1pbiwgbWFya2Vyc2l6ZSA9IDUsIHNjYWxlID0gImxpbmVhciIsIHhtaW4gPSAyLCB5bWluPTAsIGZhY2Vjb2xvcj0iZ3JlZW4iLCBlZGdlY29sb3I9ImdyZWVuIikKICAgIG1heFBsb3QgPSBzY2F0dGVyX3Bsb3QoZGF0YU1heCwgbWFya2Vyc2l6ZSA9IDUsIHNjYWxlID0gImxpbmVhciIsIHhtaW4gPSAyLCB5bWluPTAsIGZhY2Vjb2xvcj0icmVkIiwgZWRnZWNvbG9yPSJyZWQiKQogICAgYXZlcmFnZVBsb3QgPSBzY2F0dGVyX3Bsb3QoZGF0YUF2ZXJhZ2UsIG1hcmtlcnNpemUgPTUsIHNjYWxlID0gImxpbmVhciIsIHhtaW4gPSAyLCB5bWluPTAsIGZhY2Vjb2xvcj0iYmx1ZSIsIGVkZ2Vjb2xvcj0iYmx1ZSIpCgogICAgaHRtbCgiPGZvbnQgY29sb3I9J2dyZWVuJz5taW5pbXVtPC9mb250Pjxici8+PGZvbnQgY29sb3I9J3JlZCc+bWF4aW11bTwvZm9udD48YnIvPjxmb250IGNvbG9yPSdibHVlJz5hdmVyYWdlPC9mb250PiIpCgogICAgcmV0dXJuIChtaW5QbG90LCBtYXhQbG90LCBhdmVyYWdlUGxvdCkKCnByaW50ICJkZWZpbmVkIHBsb3QgZnVuY3Rpb24gLSByZSBydW4gaWYgbmVlZGVkIgrvuKE1NGNlZTllMi1mNThjLTQ5N2EtOTExNi0wNTYxMWY3MTFmOGXvuKF7InN0ZG91dCI6ImRlZmluZWQgcGxvdCBmdW5jdGlvbiAtIHJlIHJ1biBpZiBuZWVkZWRcbiJ977iheyJkb25lIjp0cnVlfe+4oQrvuKAwYjQwNDk0Yi1lMzJiLTQ3ZTQtODk5YS02NzRmZmEwODlkMTXvuKAKCu+4oTExNDM1MDNkLTBkZmEtNDE3MS1hNmM4LWE1NzM1ODIzZTg2OO+4oXsiZG9uZSI6dHJ1ZX3vuKEK77igOTM0Nzk5NGUtODQ0Ni00ODZkLWIwNTUtN2NmMTNlNzBkODRlae+4oAolbWQKIyMgVHJpYWwgRGl2aXNpb24K77ihMzgxNWYyZDgtYThkOS00ODJjLWJiMDctYTQ5NmZkNjkwYzIw77iheyJkb25lIjp0cnVlLCJtZCI6IiMjIFRyaWFsIERpdmlzaW9uIn0K77igMjE5MjU1ZGYtN2EzMy00YzI4LWI3ZTQtODI0ZTYzN2EwMTNj77igCmZyb20gdHJpYWxfZGl2aXNpb24gaW1wb3J0ICoKCmJlbmNobWFya3MgPSBUcmlhbERpdmlzaW9uLmJlbmNobWFyayhzbWFsbFByaW1lcywgaXRlcmF0aW9ucykKCmV4YW1wbGVQbG90ID0gJycnCm1pblBsb3QsIG1heFBsb3QsIGF2ZXJhZ2VQbG90ID0gcGxvdE1pbk1heEF2ZXJhZ2UoYmVuY2htYXJrcykKCnByaW50ICJSZWd1bGFyIHRyaWFsIGRpdmlzaW9uLCBzbWFsbCBwcmltZXMiCm1pblBsb3QgKyBtYXhQbG90ICsgYXZlcmFnZVBsb3QKCmJlbmNobWFya3MgPSBUcmlhbERpdmlzaW9uLmJlbmNobWFyayhzbWFsbFByaW1lcywgaXRlcmF0aW9ucywgeyJtb2RpZmllZCI6IFRydWV9KQptaW5QbG90LCBtYXhQbG90LCBhdmVyYWdlUGxvdCA9IHBsb3RNaW5NYXhBdmVyYWdlKGJlbmNobWFya3MpCgpwcmludCAiUHJpbWVzIG9ubHkgdHJpYWwgZGl2aXNpb24sIHNtYWxsIHByaW1lc1xuIgptaW5QbG90ICsgbWF4UGxvdCArIGF2ZXJhZ2VQbG90CicnJwrvuKFlM2Y3YWY2ZS0yMjcxLTQ1OWUtYmJjNS1lZjJhYzUyY2VhMGTvuKF7ImRvbmUiOnRydWV977ihCu+4oDgzODFlMjBlLTc3NGYtNDBiOS05YmMxLTc0ODY2MTE0YTA5Ze+4oApmcm9tIHRyaWFsX2RpdmlzaW9uIGltcG9ydCAqCgpiZW5jaG1hcmtzID0gVHJpYWxEaXZpc2lvbi5iZW5jaG1hcmsoc21hbGxDbG9zZVByaW1lcywgaXRlcmF0aW9ucykKcHJpbnQgInNtYWxsIHByaW1lcyIKCmJlbmNobWFya3MgPSBUcmlhbERpdmlzaW9uLmJlbmNobWFyayhzbWFsbENsb3NlUHJpbWVzLCBpdGVyYXRpb25zLCB7Im1vZGlmaWVkIjogVHJ1ZX0pCnByaW50ICJzbWFsbCBwcmltZXMiCu+4oWFkOWMxMjBlLTQ0Y2YtNDgwZS1iMTk5LWFlMjc5NjI0ZTk4ZO+4oXsic3Rkb3V0Ijoic21hbGwgcHJpbWVzXG4ife+4oXsic3Rkb3V0Ijoic21hbGwgcHJpbWVzXG4ife+4oXsiZG9uZSI6dHJ1ZX3vuKEK77igZTkyMDAzN2MtMjVmZC00YmEzLWEyOTYtYTM3Y2EwZjVkYWRm77igCiVtZApPYnNlcnZhdGlvbmVyIHRyaWFsIGRpdmlzaW9uOgpJIG9jaCBtZWQgYXR0IFRyaWFsIERpdmlzaW9uIGhpdHRhciBkZW4gbWluc3RhIGZha3Rvcm4gZsO2cnN0IHPDpSB2ZXQgZGVuIGF0dCBpbmdlbiBhbm5hbiBmYWt0b3Igw6RyIG1pbmRyZSwgZMOkcmbDtnIga2FuIGRlbiBiw7ZyamEgcsOka25hIGZyw6VuIGRlbiBoaXR0YWRlIGZha3Rvcm4gbsOkc3RhIGfDpW5nIGlzdMOkbGxldCBmw7ZyIDAK77ihNzZjOGY2MmYtMDAwNi00MjdiLWFkOWUtOWNlNGE4NWFmZDZj77ihCu+4oDdkYTI2MDJkLWQwZTMtNGVlZi1hZmIzLWY0NWEyZGI1OThkYmnvuKAKJW1kCiMjIEZlcm1hdCdzIEZhY3Rvcml6YXRpb24K77ihMWQ3MGUzYWEtZjljMy00NWRkLWIxOWQtMDE0MTA3ODk0YjFh77iheyJkb25lIjp0cnVlLCJtZCI6IiMjIEZlcm1hdCdzIEZhY3Rvcml6YXRpb24ifQrvuKBjODFlODFlZi1lNTIxLTQyOWQtOGZjMC1iOTYyMzFmNTk5NzDvuKAKZnJvbSBmZXJtYXRzX2ZhY3Rvcml6YXRpb24gaW1wb3J0ICoKCiMgS2xhcmFkZSBlaiBhdHQgc2x1dGbDtnJhIDQgZmFjdG9ycyBtZWRpdW0gcHJpbWVzIHVuZGVyID4gMTEgdGltbWFyIQoKYmVuY2htYXJrcyA9IEZlcm1hdHNGYWN0b3JpemF0aW9uLmJlbmNobWFyayhzbWFsbFByaW1lcywgaXRlcmF0aW9ucykKcHJpbnQgInNtYWxsIHByaW1lcyIKYmVuY2htYXJrcyA9IEZlcm1hdHNGYWN0b3JpemF0aW9uLmJlbmNobWFyayhtZWRpdW1QcmltZXMsIGl0ZXJhdGlvbnMpCnByaW50ICJtZWRpdW0gcHJpbWVzIgpiZW5jaG1hcmtzID0gRmVybWF0c0ZhY3Rvcml6YXRpb24uYmVuY2htYXJrKGxhcmdlUHJpbWVzLCBpdGVyYXRpb25zKQpwcmludCAibGFyZ2UgcHJpbWVzIgpiZW5jaG1hcmtzID0gRmVybWF0c0ZhY3Rvcml6YXRpb24uYmVuY2htYXJrKGxhcmdlclByaW1lcywgaXRlcmF0aW9ucykKcHJpbnQgImxhcmdlciBwcmltZXMiCgpiZW5jaG1hcmtzID0gRmVybWF0c0ZhY3Rvcml6YXRpb24uYmVuY2htYXJrKHNtYWxsQ2xvc2VQcmltZXMsIGl0ZXJhdGlvbnMpCnByaW50ICJjbG9zZSBzbWFsbCBwcmltZXMiCmJlbmNobWFya3MgPSBGZXJtYXRzRmFjdG9yaXphdGlvbi5iZW5jaG1hcmsobWVkaXVtQ2xvc2VQcmltZXMsIGl0ZXJhdGlvbnMpCnByaW50ICJjbG9zZSBtZWRpdW0gcHJpbWVzIgpiZW5jaG1hcmtzID0gRmVybWF0c0ZhY3Rvcml6YXRpb24uYmVuY2htYXJrKGxhcmdlQ2xvc2VQcmltZXMsIGl0ZXJhdGlvbnMpCnByaW50ICJjbG9zZSBsYXJnZSBwcmltZXMiCu+4oWZhNWIyMDc4LWQ2N2MtNGQzYy1hZTRkLTNhMmM4NGNlMTAzNO+4oXsic3RkZXJyIjoiRXJyb3IgaW4gbGluZXMgMi0yXG4ife+4oXsic3RkZXJyIjoiVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICBGaWxlIFwiL3Vzci9sb2NhbC9zYWdlL2xvY2FsL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9zbWNfc2FnZXdzL3NhZ2Vfc2VydmVyLnB5XCIsIGxpbmUgOTk1LCBpbiBleGVjdXRlXG4gICAgZXhlYyBjb21waWxlKGJsb2NrKydcXG4nLCAnJywgJ3NpbmdsZScpIGluIG5hbWVzcGFjZSwgbG9jYWxzXG4gIEZpbGUgXCJcIiwgbGluZSAxLCBpbiA8bW9kdWxlPlxuICBGaWxlIFwiZmFjdG9yaXphdGlvbl9mdW5jdGlvbi5weVwiLCBsaW5lIDc5LCBpbiBiZW5jaG1hcmtcbiAgICByZXN1bHRpbmdGYWN0b3JzLCBiID0gc2VsZi5mYWN0b3JpemUobiwgdHJ1ZSwgKipvcHRpb25hbEFyZ3MpXG4gIEZpbGUgXCJmZXJtYXRzX2ZhY3Rvcml6YXRpb24ucHlcIiwgbGluZSA3NywgaW4gZmFjdG9yaXplXG4gICAgcG9zc2libGVGYWN0b3JzID0gc2VsZi5nZXRPbmVGYWN0b3IoYSwgYmVuY2htYXJrKVxuICBGaWxlIFwiZmVybWF0c19mYWN0b3JpemF0aW9uLnB5XCIsIGxpbmUgMzIsIGluIGdldE9uZUZhY3RvclxuICAgIGJlbmNobWFyay5pdGVyYXRlKClcbiAgRmlsZSBcInNyYy9jeXNpZ25hbHMvc2lnbmFscy5weXhcIiwgbGluZSAyNTEsIGluIGN5c2lnbmFscy5zaWduYWxzLnB5dGhvbl9jaGVja19pbnRlcnJ1cHQgKGJ1aWxkL3NyYy9jeXNpZ25hbHMvc2lnbmFscy5jOjI3MjEpXG4gIEZpbGUgXCJzcmMvY3lzaWduYWxzL3NpZ25hbHMucHl4XCIsIGxpbmUgOTQsIGluIGN5c2lnbmFscy5zaWduYWxzLnNpZ19yYWlzZV9leGNlcHRpb24gKGJ1aWxkL3NyYy9jeXNpZ25hbHMvc2lnbmFscy5jOjEzMjgpXG5LZXlib2FyZEludGVycnVwdFxuIn3vuKF7ImRvbmUiOnRydWV977ihCu+4oGVmYjlkOGYwLTM4MTAtNDdiMC1iNGE0LWE2ZmI5MTExMDdjY++4oAolbWQKb2JzZXJ2YXRpb25lciBmZXJtYXRzOgoKYXYgbsOlZ29uIGFubGVkbmluZyB2ZXJrYXIgc21hbGwgcHJpbWVzIDkgb2NoIDE1IGZha3RvcmVyIHRhIGV4dHJhIGzDpW5nIHRpZC4gVmFyZsO2cj8KCkVuIG9wdGltZXJpbmcgYXYgZmVybWF0cyBoYWRlIHZhcml0IGF0dCBiw7ZyamEgcsOka25hIGlmcsOlbiBuOnRlIHJvdGVuIHVyIGRldCBzYW1tYW5zYXR0YSB0YWxldC4gZMOkciBuIMOkciBhbnRhbGV0IGZha3RvcmVyLgoKVWRkYSBhbnRhbCBmYWt0b3JlciBnw6VyIGrDpHZsaWd0IG15Y2tldCBsw6VuZ3NhbW1hcmUuCu+4oTI4ZTE5MDA2LTY5ODgtNDdkYi1iMmNlLWVlNmY1ZTkwNTZjMe+4oQrvuKA3ZWRmZDRlMy1mNTgyLTRkZTMtYWQ3NC0zYzVlYjhhNjQ1YjBp77igCgolbWQKIyMgUG9sbGFyZHMgUmhvIEFsZ29yaXRobQrvuKEwZmFjZTY0ZS1lNjFkLTQxYmEtODdlYS0wYWRiZGM4NjIyZGPvuKF7ImRvbmUiOnRydWUsIm1kIjoiIyMgUG9sbGFyZHMgUmhvIEFsZ29yaXRobSJ9Cu+4oDk4Yzc4MzFlLTViOTYtNGI1My05ODYzLTI2OGQ3ZjZiY2ZhYu+4oApmcm9tIHBvbGxhcmRzX3Job19hbGdvcml0aG0gaW1wb3J0ICoKCmJlbmNobWFya3MgPSBQb2xsYXJkc1Job0FsZ29yaXRobS5iZW5jaG1hcmsoc21hbGxQcmltZXMsIGl0ZXJhdGlvbnMpCnByaW50ICJzbWFsbCBwcmltZXMiCu+4oTFlYTQxM2E5LWEyNjUtNGI4MC1iM2NkLTYxYmVjMTQyMThjNe+4oXsic3Rkb3V0Ijoic21hbGwgcHJpbWVzXG4ife+4oXsiZG9uZSI6dHJ1ZX3vuKEK77igMGQyOGRjYmYtYWMwYS00NTRjLTk0ZDYtODkyNGNjZDFlY2Ux77igCu+4oTgyMTZmZGNlLTBhMTktNDA4Yi1hOTY2LTQ4ODllNTMwNDkxZO+4oQrvuKA5YWQ4ZmRjNC03MDcxLTQ1NjgtOWExMi03NWZiMzBhMDYwYTdp77igCiVtZAojIyBMZW5zdHJhcwrvuKFmN2EzYTUxNS1lMDM2LTRjNTUtODUzNy1lNGY3ZTQ3NzFiNTnvuKF7ImRvbmUiOnRydWUsIm1kIjoiIyMgTGVuc3RyYXMifQrvuKA4MjlhZmViMy01YWQ4LTQwMmMtYTU0MC05OGU0OGYzZTBhZmPvuKAKZnJvbSBsZW5zdHJhc19lbGxpcHRpY19jdXJ2ZV9mYWN0b3JpemF0aW9uIGltcG9ydCAqCiNiZW5jaG1hcmtzID0gTGVuc3RyYXNFbGxpcHRpY0N1cnZlRmFjdG9yaXphdGlvbi5iZW5jaG1hcmsoc21hbGxQcmltZXMsIGl0ZXJhdGlvbnMsIHsibWF4aW11bUl0ZXJhdGlvbnMiOiAtMX0pCiN2YWx1ZXMgPSBtYXAobGFtYmRhIHg6IHhbM10udG90YWxUaW1lWyJkZWZhdWx0Il0sIGJlbmNobWFya3MpCiNwcmludCBzdW0odmFsdWVzKS9sZW4odmFsdWVzKQoKCmJlbmNobWFya3MgPSBMZW5zdHJhc0VsbGlwdGljQ3VydmVGYWN0b3JpemF0aW9uLmJlbmNobWFyayhsYXJnZXJQcmltZXMsIGl0ZXJhdGlvbnMsIHsibWF4aW11bUl0ZXJhdGlvbnMiOiAtMX0pCnZhbHVlcyA9IG1hcChsYW1iZGEgeDogeFszXS50b3RhbFRpbWVbImRlZmF1bHQiXSwgYmVuY2htYXJrcykKcHJpbnQgc3VtKHZhbHVlcykvbGVuKHZhbHVlcykKCnggPSAiIiIKZm9yIGkgaW4gWzEsIDIsIDUsIDEwLCA1MCwgMTAwLCAxMDAwLCAtMV06CiAgICBwcmludCBpLAogICAgYmVuY2htYXJrcyA9IExlbnN0cmFzRWxsaXB0aWNDdXJ2ZUZhY3Rvcml6YXRpb24uYmVuY2htYXJrKHNtYWxsUHJpbWVzLCBpdGVyYXRpb25zLCB7Im1heGltdW1JdGVyYXRpb25zIjogaX0pCiAgICB2YWx1ZXMgPSBtYXAobGFtYmRhIHg6IHhbM10udG90YWxUaW1lWyJkZWZhdWx0Il0sIGJlbmNobWFya3MpCiAgICBwcmludCBzdW0odmFsdWVzKS9sZW4odmFsdWVzKQoiIiIK77ihNjU3YzRmYWEtNmU5OC00YzZiLTg0MzktNDk3ZWUzM2QyMThk77iheyJzdGRvdXQiOiIzOS4xOTg5MzMyMDExXG4ife+4oXsiZG9uZSI6dHJ1ZX3vuKEK77igYjVmN2U3MGMtNjU5Yi00MTg3LThhNGEtYjU2MjEyMGU5N2Nj77igCjEgMC4wMDM5Mjc1MTMxNzI3NQoyIDAuMDA0MjM5MjAxNTQ1NzIKNSAwLjAwNDE0NTEwNTI2MTU1CjEwIDAuMDA0MDgxNTIyNzkxMDEKNTAgMC4wMDM2NDY1OTcxMDkzNAoxMDAgMC4wMDM4MTg1MTMyMTc3MwoxMDAwIDAuMDA0MDI2ODEwNzQ2NDQK77ihYTdiOWMwMWUtZWUwNS00ZGMyLTkwYzEtM2E2YWRhYjhiYzM477ihCu+4oGQ4NTg1M2RmLTAxMWItNDhkZi04Y2JhLTY2ZDU4Njg2MzRiY++4oAoxIDAuMDAzODMwMTg4MTk5MDkKMiAwLjAwNDIxNzk3MjI1MzUKNSAwLjAwMzkxOTE2NDc1Nzk4CjEwIDAuMDAzOTc5NzE4MDU3NzMKNTAgMC4wMDM2NTAyNjg3NTU0NgoxMDAgMC4wMDM1MjA3Nzg2MDU4MQoxMDAwIDAuMDAzMzkxMjQyMDI3MjgK77ihYTZmY2Y5YjktNzg2Ny00NDdiLWE4NTEtNDM4MzY3MmE4NTUw77ihCu+4oDI4Y2JjN2YzLTY1ZGItNGYzNi04ZjU2LWU2ZWU5NTQyMTg3Ye+4oAoxIDAuMDAzOTY1MjU5ODUzMTYKMiAwLjAwNDM5NjQyNzMwNTEyCjUgMC4wMDM5MzQ4NTM5NTUzMgoxMCAwLjAwNDA1MjE2MjE3MDQxCjUwIDAuMDAzNjM2NjI0OTM4NTYKMTAwIDAuMDAzNDI3NzE4ODE1MDUKMTAwMCAwLjAwMzM3NjUzOTEyOTk2Ci0xIDAuMTc4NTAzOTk1MTkzCu+4oWE5MzUxZmUxLTdjNzYtNGRmZi1iY2MzLWVmODQwYjU1N2QwMu+4oQrvuKA1YjViNjZhYS05ZTg4LTQxMjItOTYwYi05YzhmOTQ5MzQ3Mzlp77igCiVtZApMZW5zdHJhcyBvYnNlcnZhdGlvbmVyOgphdHQgc8OkbmthIG1heGltdW0gaXRlcmF0aW9ucyBpbm5lYsOkciBhdHQgZmxlciBpdGVyYXRpb25lciBrw7ZycyAodG90YWx0LCBpbnRlIHBlciAib21nw6VuZyIpIC0gZGV0dGEgaW5uZWLDpHIgYXR0IGZsZXIgcHJpbXRlc3RlciBrw7Zycy4KCkRldCBza3VsbGUgZ8OlIGF0dCBhbnbDpG5kYSBldHQgc8OlbGwgKG1hcmN1cyBsw6RnZ2VyIHRpbGwgb20gR2l0SHViLWzDtnNuaW5nZW4pLiBJc3TDpGxsZXQgZsO2ciBhdHQgZ8OlIHRpbGwgYWxsYSBwdW5rdGVyIGthbiBtYW4gdGEgcHJpbXRhbC4KClRlb3JpOgpBdHQgNSDDpHIgYsOkdHRyZSDDpG4gMSBvY2ggMiBpdGVyYXRpb25lciBrYW4gaGEgYXR0IGfDtnJhIG1lZCBhdHQgZGV0IMOkciBmw7Zyc3QgZMOlIGRldCBiw7ZyamFyIGzDtm5hIHNpZyBtZWQgcHJpbXRhbHN0ZXN0ZXIuIERldCDDpHIgZ2VuZXJlbGx0IGLDpHR0cmEgYXR0IGhhIGbDpSBpdGVyYXRpb25lciBvY2ggZsO2cnPDtmthIGZvcmNlcmEgZmFrdG9yZXIsIG1lbiBwcmltdGVzdGV0IGjDpWxsZXIgZMOlIHRpbGxiYWthIHByZXN0YW5kYW4uIEF0dCBleGVtcGVsdmlzIGzDpGdnYSB0aWxsIGVuIGZsYWdnYSBmw7Zyc3RhIGfDpW5nZW4gZXR0IHRhbCDDpHIgcHJpbXRlc3RhdCBza3VsbGUga3VubmEgcmVzdWx0ZXJhIGkgYXR0IHRhbCBpbnRlIGJlaMO2dmVyIHByaW10ZXN0YXMgbWVyIMOkbiBlbiBnw6VuZywgbWVuIMOkbmTDpSBrdW5uYSB0ZXN0YSBlbmJhcnQgZW4gaXRlcmF0aW9uIGF2IGFsZ29yaXRtZW4uCgpMaXRlcmF0dXIgaGFyIHR5dHQgcMOlIGF0dCBhbGdvcml0bWVuIGthbiB2YXJhIHNuYWJiYXJlIG9tIG1hbiBhdmJyeXRlciBlZnRlciBuIGbDtnJzw7ZrIChzcXJ0KG4pKSBvY2gga8O2ciBvbSBpZ2VuIGbDtnIgYXR0IGbDpSBueWEgc2x1bXB2YXJpYWJsZXIuIFZpZCBpbXBlcmlzayBzdHVkaWUgaGl0dGFkZSB2aS4uLi4gVmkgc8OlZyBkb2NrIGF0dCBzcXJ0KG4pIHByZXN0ZXJhZGUga2xhcnQgc8OkbXN0LiBEZXR0YSB2aXNhZGUgc2lnIGhhIG1lZCBqw6RtZsO2cmVsc2UgYXYgaW50IG9jaCBjb2NhbGNzIGludGVnZXIgbWVkIGRlY2ltYWxlciBzb20gYmxpciB2aWQgc3FydChuKS4gaW50KGkpIDwgaW50KGNlaWwoc3FydChuKSkpIMOkciBhbGx0c8OlIHNuYWJiYXJlIChtZWQgZW4gZmFrdG9yIGF2IOKJiDYwISEhKSDDpG4gaW50KGkpIDwgc3FydChuKSB0cm90cyBhdHQgc3FydChuKSBlbmJhcnQgYmVyw6RrbmFzIGVuIGVuZGEgZ8OlbmchCu+4oTExMzNiMjk5LTgzZWYtNDI3Ny05NDc2LTM3ZTQ4YjEzOWQxY++4oXsiZG9uZSI6dHJ1ZSwibWQiOiJMZW5zdHJhcyBvYnNlcnZhdGlvbmVyOlxuYXR0IHPDpG5rYSBtYXhpbXVtIGl0ZXJhdGlvbnMgaW5uZWLDpHIgYXR0IGZsZXIgaXRlcmF0aW9uZXIga8O2cnMgKHRvdGFsdCwgaW50ZSBwZXIgXCJvbWfDpW5nXCIpIC0gZGV0dGEgaW5uZWLDpHIgYXR0IGZsZXIgcHJpbXRlc3RlciBrw7Zycy5cblxuRGV0IHNrdWxsZSBnw6UgYXR0IGFudsOkbmRhIGV0dCBzw6VsbCAobWFyY3VzIGzDpGdnZXIgdGlsbCBvbSBHaXRIdWItbMO2c25pbmdlbikuIElzdMOkbGxldCBmw7ZyIGF0dCBnw6UgdGlsbCBhbGxhIHB1bmt0ZXIga2FuIG1hbiB0YSBwcmltdGFsLlxuXG5UZW9yaTpcbkF0dCA1IMOkciBiw6R0dHJlIMOkbiAxIG9jaCAyIGl0ZXJhdGlvbmVyIGthbiBoYSBhdHQgZ8O2cmEgbWVkIGF0dCBkZXQgw6RyIGbDtnJzdCBkw6UgZGV0IGLDtnJqYXIgbMO2bmEgc2lnIG1lZCBwcmltdGFsc3Rlc3Rlci4gRGV0IMOkciBnZW5lcmVsbHQgYsOkdHRyYSBhdHQgaGEgZsOlIGl0ZXJhdGlvbmVyIG9jaCBmw7Zyc8O2a2EgZm9yY2VyYSBmYWt0b3JlciwgbWVuIHByaW10ZXN0ZXQgaMOlbGxlciBkw6UgdGlsbGJha2EgcHJlc3RhbmRhbi4gQXR0IGV4ZW1wZWx2aXMgbMOkZ2dhIHRpbGwgZW4gZmxhZ2dhIGbDtnJzdGEgZ8OlbmdlbiBldHQgdGFsIMOkciBwcmltdGVzdGF0IHNrdWxsZSBrdW5uYSByZXN1bHRlcmEgaSBhdHQgdGFsIGludGUgYmVow7Z2ZXIgcHJpbXRlc3RhcyBtZXIgw6RuIGVuIGfDpW5nLCBtZW4gw6RuZMOlIGt1bm5hIHRlc3RhIGVuYmFydCBlbiBpdGVyYXRpb24gYXYgYWxnb3JpdG1lbi5cblxuTGl0ZXJhdHVyIGhhciB0eXR0IHDDpSBhdHQgYWxnb3JpdG1lbiBrYW4gdmFyYSBzbmFiYmFyZSBvbSBtYW4gYXZicnl0ZXIgZWZ0ZXIgbiBmw7Zyc8O2ayAoc3FydChuKSkgb2NoIGvDtnIgb20gaWdlbiBmw7ZyIGF0dCBmw6UgbnlhIHNsdW1wdmFyaWFibGVyLiBWaWQgaW1wZXJpc2sgc3R1ZGllIGhpdHRhZGUgdmkuLi4uIFZpIHPDpWcgZG9jayBhdHQgc3FydChuKSBwcmVzdGVyYWRlIGtsYXJ0IHPDpG1zdC4gRGV0dGEgdmlzYWRlIHNpZyBoYSBtZWQgasOkbWbDtnJlbHNlIGF2IGludCBvY2ggY29jYWxjcyBpbnRlZ2VyIG1lZCBkZWNpbWFsZXIgc29tIGJsaXIgdmlkIHNxcnQobikuIGludChpKSA8IGludChjZWlsKHNxcnQobikpKSDDpHIgYWxsdHPDpSBzbmFiYmFyZSAobWVkIGVuIGZha3RvciBhdiDiiYg2MCEhISkgw6RuIGludChpKSA8IHNxcnQobikgdHJvdHMgYXR0IHNxcnQobikgZW5iYXJ0IGJlcsOka25hcyBlbiBlbmRhIGfDpW5nISJ9Cu+4oGI0N2NmMzRlLTFiODMtNDdkMy04NTIzLTVjMDUxZmE3YTNjOO+4oAolbWQKIyMgUnVuIGFsbArvuKEzYTk3MDJlMy1kMDdhLTQ1YmEtODg4ZC1kZjM5ZDBiMzVkN2HvuKF7ImRvbmUiOnRydWUsIm1kIjoiIyMgUnVuIGFsbCJ9Cu+4oDlkZWIyZDAzLTBmODktNDA4Ny04OGQ4LTk0MmNlY2UyMGY5YnLvuKAKZnJvbSBmZXJtYXRzX2ZhY3Rvcml6YXRpb24gaW1wb3J0ICoKZnJvbSBwb2xsYXJkc19yaG9fYWxnb3JpdGhtIGltcG9ydCAqCmZyb20gbGVuc3RyYXNfZWxsaXB0aWNfY3VydmVfZmFjdG9yaXphdGlvbiBpbXBvcnQgKgoKYmVuY2htYXJrcyA9IEZlcm1hdHNGYWN0b3JpemF0aW9uLmJlbmNobWFyayhzbWFsbENsb3NlUHJpbWVzLCBpdGVyYXRpb25zKQpwcmludCAiY2xvc2Ugc21hbGwgcHJpbWVzIgpiZW5jaG1hcmtzID0gRmVybWF0c0ZhY3Rvcml6YXRpb24uYmVuY2htYXJrKG1lZGl1bUNsb3NlUHJpbWVzLCBpdGVyYXRpb25zKQpwcmludCAiY2xvc2UgbWVkaXVtIHByaW1lcyIKYmVuY2htYXJrcyA9IEZlcm1hdHNGYWN0b3JpemF0aW9uLmJlbmNobWFyayhsYXJnZUNsb3NlUHJpbWVzLCBpdGVyYXRpb25zKQpwcmludCAiY2xvc2UgbGFyZ2UgcHJpbWVzIgpwcmludCAiZmVybWF0cyIKCnByaW50ICJwb2xsYXJkcyIKYmVuY2htYXJrcyA9IFBvbGxhcmRzUmhvQWxnby5iZW5jaG1hcmsoc21hbGxQcmltZXMsIGl0ZXJhdGlvbnMpCnByaW50ICJzbWFsbCBwcmltZXMiCmJlbmNobWFya3MgPSBQb2xsYXJkc1Job0FsZ29yaXRobS5iZW5jaG1hcmsobWVkaXVtUHJpbWVzLCBpdGVyYXRpb25zKQpwcmludCAibWVkaXVtIHByaW1lcyIKYmVuY2htYXJrcyA9IFBvbGxhcmRzUmhvQWxnb3JpdGhtLmJlbmNobWFyayhsYXJnZVByaW1lcywgaXRlcmF0aW9ucykKcHJpbnQgImxhcmdlIHByaW1lcyIKYmVuY2htYXJrcyA9IFBvbGxhcmRzUmhvQWxnb3JpdGhtLmJlbmNobWFyayhsYXJnZXJQcmltZXMsIGl0ZXJhdGlvbnMpCnByaW50ICJsYXJnZXIgcHJpbWVzIgoKYmVuY2htYXJrcyA9IFBvbGxhcmRzUmhvQWxnb3JpdGhtLmJlbmNobWFyayhzbWFsbENsb3NlUHJpbWVzLCBpdGVyYXRpb25zKQpwcmludCAiY2xvc2Ugc21hbGwgcHJpbWVzIgpiZW5jaG1hcmtzID0gUG9sbGFyZHNSaG9BbGdvcml0aG0uYmVuY2htYXJrKG1lZGl1bUNsb3NlUHJpbWVzLCBpdGVyYXRpb25zKQpwcmludCAiY2xvc2UgbWVkaXVtIHByaW1lcyIKYmVuY2htYXJrcyA9IFBvbGxhcmRzUmhvQWxnb3JpdGhtLmJlbmNobWFyayhsYXJnZUNsb3NlUHJpbWVzLCBpdGVyYXRpb25zKQpwcmludCAiY2xvc2UgbGFyZ2UgcHJpbWVzIgpwcmludCAicG9sbGFyZHMiCgpwcmludCAibGVuc3RyYXMiCmJlbmNobWFya3MgPSBMZW5zdHJhc0VsbGlwdGljQ3VydmVGYWN0b3JpemF0aW9uLmJlbmNobWFyayhzbWFsbFByaW1lcywgaXRlcmF0aW9ucykKcHJpbnQgInNtYWxsIHByaW1lcyIKYmVuY2htYXJrcyA9IExlbnN0cmFzRWxsaXB0aWNDdXJ2ZUZhY3Rvcml6YXRpb24uYmVuY2htYXJrKG1lZGl1bVByaW1lcywgaXRlcmF0aW9ucykKcHJpbnQgIm1lZGl1bSBwcmltZXMiCmJlbmNobWFya3MgPSBMZW5zdHJhc0VsbGlwdGljQ3VydmVGYWN0b3JpemF0aW9uLmJlbmNobWFyayhsYXJnZVByaW1lcywgaXRlcmF0aW9ucykKcHJpbnQgImxhcmdlIHByaW1lcyIKYmVuY2htYXJrcyA9IExlbnN0cmFzRWxsaXB0aWNDdXJ2ZUZhY3Rvcml6YXRpb24uYmVuY2htYXJrKGxhcmdlclByaW1lcywgaXRlcmF0aW9ucykKcHJpbnQgImxhcmdlciBwcmltZXMiCgpiZW5jaG1hcmtzID0gTGVuc3RyYXNFbGxpcHRpY0N1cnZlRmFjdG9yaXphdGlvbi5iZW5jaG1hcmsoc21hbGxDbG9zZVByaW1lcywgaXRlcmF0aW9ucykKcHJpbnQgImNsb3NlIHNtYWxsIHByaW1lcyIKYmVuY2htYXJrcyA9IExlbnN0cmFzRWxsaXB0aWNDdXJ2ZUZhY3Rvcml6YXRpb24uYmVuY2htYXJrKG1lZGl1bUNsb3NlUHJpbWVzLCBpdGVyYXRpb25zKQpwcmludCAiY2xvc2UgbWVkaXVtIHByaW1lcyIKYmVuY2htYXJrcyA9IExlbnN0cmFzRWxsaXB0aWNDdXJ2ZUZhY3Rvcml6YXRpb24uYmVuY2htYXJrKGxhcmdlQ2xvc2VQcmltZXMsIGl0ZXJhdGlvbnMpCnByaW50ICJjbG9zZSBsYXJnZSBwcmltZXMiCnByaW50ICJsZW5zdHJhcyIK77ihMGE2ZmNlZDAtYjQ1OC00YTdjLWIzZWMtYTVlMzdlNGFjMDE277iheyJzdGRvdXQiOiJjbG9zZSBzbWFsbCBwcmltZXNcbiJ977iheyJzdGRvdXQiOiJjbG9zZSBzbWFsbCBwcmltZXNcbiJ9Cu+4oDg1YmQwMzMwLTNhZWItNGMyYy05NTBiLTVmYzE4Y2IxOTQxOO+4oAoKCgoKCgoKCgo=" download="benchmark.sagews">benchmark.sagews</td></tr>
<script type="text/javascript">
var is_chrome = navigator.userAgent.indexOf('Chrome') > -1;
var is_safari = navigator.userAgent.indexOf("Safari") > -1;
if (is_safari && !is_chrome) {
document.write("<tr><td colspan='2'>(when downloading, rename file to benchmark.sagews)</td></tr>");
}
</script>
</table>
</div>
<pre class="input"><code>%md</code><code><span class="cm-header cm-header-1">#</span><span class="cm-header cm-header-1"> </span><span class="cm-header cm-header-1">B</span><span class="cm-header cm-header-1">e</span><span class="cm-header cm-header-1">n</span><span class="cm-header cm-header-1">c</span><span class="cm-header cm-header-1">h</span><span class="cm-header cm-header-1">m</span><span class="cm-header cm-header-1">a</span><span class="cm-header cm-header-1">r</span><span class="cm-header cm-header-1">k</span></code><code>Here are the values used to benchmark the factorization functions</code></pre>
<div class="output md"><h1 id="benchmark">Benchmark</h1>
<p>Here are the values used to benchmark the factorization functions</p>
</div>
<pre class="input"><code><span class="cm-comment"># This cell needs to be executed</span></code><code></code><code><span class="cm-variable">iterations</span> = <span class="cm-number">10</span></code><code></code><code><span class="cm-variable">smallPrimes</span> = (<span class="cm-string">"small primes"</span>, [(<span class="cm-number">2</span>, [(<span class="cm-number">481</span>, [<span class="cm-number">1</span>, <span class="cm-number">13</span>, <span class="cm-number">37</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">31093</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">17</span>, <span class="cm-number">59</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">1213045</span>, [<span class="cm-number">1</span>, <span class="cm-number">37</span>, <span class="cm-number">5</span>, <span class="cm-number">83</span>, <span class="cm-number">79</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">15001613</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">37</span>, <span class="cm-number">29</span>, <span class="cm-number">11</span>, <span class="cm-number">41</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">3429238769</span>, [<span class="cm-number">1</span>, <span class="cm-number">47</span>, <span class="cm-number">97</span>, <span class="cm-number">59</span>, <span class="cm-number">11</span>, <span class="cm-number">19</span>, <span class="cm-number">61</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">206397809105</span>, [<span class="cm-number">1</span>, <span class="cm-number">37</span>, <span class="cm-number">79</span>, <span class="cm-number">5</span>, <span class="cm-number">53</span>, <span class="cm-number">41</span>, <span class="cm-number">67</span>, <span class="cm-number">97</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">7311461300687</span>, [<span class="cm-number">1</span>, <span class="cm-number">41</span>, <span class="cm-number">23</span>, <span class="cm-number">73</span>, <span class="cm-number">41</span>, <span class="cm-number">59</span>, <span class="cm-number">83</span>, <span class="cm-number">23</span>, <span class="cm-number">23</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">472213574958521</span>, [<span class="cm-number">1</span>, <span class="cm-number">41</span>, <span class="cm-number">53</span>, <span class="cm-number">37</span>, <span class="cm-number">47</span>, <span class="cm-number">61</span>, <span class="cm-number">11</span>, <span class="cm-number">71</span>, <span class="cm-number">61</span>, <span class="cm-number">43</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">3443187949695</span>, [<span class="cm-number">1</span>, <span class="cm-number">29</span>, <span class="cm-number">43</span>, <span class="cm-number">83</span>, <span class="cm-number">5</span>, <span class="cm-number">73</span>, <span class="cm-number">41</span>, <span class="cm-number">13</span>, <span class="cm-number">3</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">309773094336642695</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">97</span>, <span class="cm-number">11</span>, <span class="cm-number">31</span>, <span class="cm-number">83</span>, <span class="cm-number">97</span>, <span class="cm-number">31</span>, <span class="cm-number">89</span>, <span class="cm-number">43</span>, <span class="cm-number">53</span>, <span class="cm-number">37</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">62263002262083735</span>, [<span class="cm-number">1</span>, <span class="cm-number">47</span>, <span class="cm-number">83</span>, <span class="cm-number">17</span>, <span class="cm-number">41</span>, <span class="cm-number">59</span>, <span class="cm-number">59</span>, <span class="cm-number">43</span>, <span class="cm-number">3</span>, <span class="cm-number">7</span>, <span class="cm-number">47</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">666536544405580303</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">23</span>, <span class="cm-number">7</span>, <span class="cm-number">47</span>, <span class="cm-number">23</span>, <span class="cm-number">67</span>, <span class="cm-number">37</span>, <span class="cm-number">37</span>, <span class="cm-number">19</span>, <span class="cm-number">13</span>, <span class="cm-number">41</span>, <span class="cm-number">19</span>, <span class="cm-number">7</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">56142059257389353853</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">37</span>, <span class="cm-number">11</span>, <span class="cm-number">37</span>, <span class="cm-number">19</span>, <span class="cm-number">97</span>, <span class="cm-number">11</span>, <span class="cm-number">31</span>, <span class="cm-number">53</span>, <span class="cm-number">31</span>, <span class="cm-number">67</span>, <span class="cm-number">11</span>, <span class="cm-number">71</span>, <span class="cm-number">23</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">3173389011480824657829</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">79</span>, <span class="cm-number">59</span>, <span class="cm-number">53</span>, <span class="cm-number">31</span>, <span class="cm-number">7</span>, <span class="cm-number">23</span>, <span class="cm-number">43</span>, <span class="cm-number">73</span>, <span class="cm-number">11</span>, <span class="cm-number">71</span>, <span class="cm-number">3</span>, <span class="cm-number">71</span>, <span class="cm-number">31</span>, <span class="cm-number">53</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">15863359163742166197825</span>, [<span class="cm-number">1</span>, <span class="cm-number">37</span>, <span class="cm-number">3</span>, <span class="cm-number">19</span>, <span class="cm-number">61</span>, <span class="cm-number">5</span>, <span class="cm-number">11</span>, <span class="cm-number">79</span>, <span class="cm-number">79</span>, <span class="cm-number">67</span>, <span class="cm-number">3</span>, <span class="cm-number">71</span>, <span class="cm-number">5</span>, <span class="cm-number">71</span>, <span class="cm-number">97</span>, <span class="cm-number">43</span>, <span class="cm-number">17</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">3839358256056932827602345</span>, [<span class="cm-number">1</span>, <span class="cm-number">67</span>, <span class="cm-number">17</span>, <span class="cm-number">29</span>, <span class="cm-number">19</span>, <span class="cm-number">53</span>, <span class="cm-number">41</span>, <span class="cm-number">19</span>, <span class="cm-number">19</span>, <span class="cm-number">37</span>, <span class="cm-number">73</span>, <span class="cm-number">89</span>, <span class="cm-number">13</span>, <span class="cm-number">5</span>, <span class="cm-number">53</span>, <span class="cm-number">3</span>, <span class="cm-number">73</span>, <span class="cm-number">43</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">18710317739887802052740556555</span>, [<span class="cm-number">1</span>, <span class="cm-number">97</span>, <span class="cm-number">89</span>, <span class="cm-number">89</span>, <span class="cm-number">83</span>, <span class="cm-number">59</span>, <span class="cm-number">5</span>, <span class="cm-number">79</span>, <span class="cm-number">59</span>, <span class="cm-number">73</span>, <span class="cm-number">13</span>, <span class="cm-number">11</span>, <span class="cm-number">31</span>, <span class="cm-number">31</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">89</span>, <span class="cm-number">67</span>, <span class="cm-number">41</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">155903632515187552359018988575</span>, [<span class="cm-number">1</span>, <span class="cm-number">97</span>, <span class="cm-number">43</span>, <span class="cm-number">47</span>, <span class="cm-number">89</span>, <span class="cm-number">97</span>, <span class="cm-number">11</span>, <span class="cm-number">73</span>, <span class="cm-number">73</span>, <span class="cm-number">61</span>, <span class="cm-number">3</span>, <span class="cm-number">37</span>, <span class="cm-number">29</span>, <span class="cm-number">61</span>, <span class="cm-number">73</span>, <span class="cm-number">5</span>, <span class="cm-number">5</span>, <span class="cm-number">67</span>, <span class="cm-number">29</span>, <span class="cm-number">37</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">53620794966136160429097776631</span>, [<span class="cm-number">1</span>, <span class="cm-number">23</span>, <span class="cm-number">3</span>, <span class="cm-number">79</span>, <span class="cm-number">23</span>, <span class="cm-number">43</span>, <span class="cm-number">89</span>, <span class="cm-number">61</span>, <span class="cm-number">59</span>, <span class="cm-number">3</span>, <span class="cm-number">23</span>, <span class="cm-number">71</span>, <span class="cm-number">41</span>, <span class="cm-number">97</span>, <span class="cm-number">13</span>, <span class="cm-number">11</span>, <span class="cm-number">17</span>, <span class="cm-number">37</span>, <span class="cm-number">29</span>, <span class="cm-number">47</span>, <span class="cm-number">13</span>])])])</code><code></code><code><span class="cm-variable">mediumPrimes</span> = (<span class="cm-string">"medium primes"</span>, [(<span class="cm-number">2</span>, [(<span class="cm-number">9505247</span>, [<span class="cm-number">1</span>, <span class="cm-number">1427</span>, <span class="cm-number">6661</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">112377214483</span>, [<span class="cm-number">1</span>, <span class="cm-number">4451</span>, <span class="cm-number">7607</span>, <span class="cm-number">3319</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">113332156404307</span>, [<span class="cm-number">1</span>, <span class="cm-number">4007</span>, <span class="cm-number">3539</span>, <span class="cm-number">2903</span>, <span class="cm-number">2753</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">4298836929253947781</span>, [<span class="cm-number">1</span>, <span class="cm-number">8429</span>, <span class="cm-number">7417</span>, <span class="cm-number">5039</span>, <span class="cm-number">1867</span>, <span class="cm-number">7309</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">11038759956959519253043</span>, [<span class="cm-number">1</span>, <span class="cm-number">4909</span>, <span class="cm-number">7307</span>, <span class="cm-number">1597</span>, <span class="cm-number">3733</span>, <span class="cm-number">7243</span>, <span class="cm-number">7127</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">353271001154438218427229539</span>, [<span class="cm-number">1</span>, <span class="cm-number">8167</span>, <span class="cm-number">2687</span>, <span class="cm-number">5483</span>, <span class="cm-number">7253</span>, <span class="cm-number">5807</span>, <span class="cm-number">7127</span>, <span class="cm-number">9781</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">858069121139663326922589137543</span>, [<span class="cm-number">1</span>, <span class="cm-number">9137</span>, <span class="cm-number">9463</span>, <span class="cm-number">3967</span>, <span class="cm-number">8737</span>, <span class="cm-number">4349</span>, <span class="cm-number">5003</span>, <span class="cm-number">2243</span>, <span class="cm-number">5867</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">131563435713374902721110800493303</span>, [<span class="cm-number">1</span>, <span class="cm-number">5923</span>, <span class="cm-number">6907</span>, <span class="cm-number">8317</span>, <span class="cm-number">1151</span>, <span class="cm-number">1787</span>, <span class="cm-number">5479</span>, <span class="cm-number">9929</span>, <span class="cm-number">2287</span>, <span class="cm-number">1511</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">2528123531806453766378415166939107671</span>, [<span class="cm-number">1</span>, <span class="cm-number">9749</span>, <span class="cm-number">2069</span>, <span class="cm-number">5879</span>, <span class="cm-number">8377</span>, <span class="cm-number">2683</span>, <span class="cm-number">2267</span>, <span class="cm-number">4919</span>, <span class="cm-number">3637</span>, <span class="cm-number">4703</span>, <span class="cm-number">4973</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">98861961050577963648512453904444483679</span>, [<span class="cm-number">1</span>, <span class="cm-number">1283</span>, <span class="cm-number">2203</span>, <span class="cm-number">9533</span>, <span class="cm-number">1303</span>, <span class="cm-number">2239</span>, <span class="cm-number">1523</span>, <span class="cm-number">5009</span>, <span class="cm-number">1429</span>, <span class="cm-number">4253</span>, <span class="cm-number">2791</span>, <span class="cm-number">9719</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">3699719069641057612942949836474926656811572189</span>, [<span class="cm-number">1</span>, <span class="cm-number">9133</span>, <span class="cm-number">9967</span>, <span class="cm-number">5879</span>, <span class="cm-number">6547</span>, <span class="cm-number">8929</span>, <span class="cm-number">2351</span>, <span class="cm-number">8681</span>, <span class="cm-number">6857</span>, <span class="cm-number">9719</span>, <span class="cm-number">7583</span>, <span class="cm-number">3461</span>, <span class="cm-number">3313</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">9297901936182093694009454599759344878967851169253</span>, [<span class="cm-number">1</span>, <span class="cm-number">3947</span>, <span class="cm-number">8599</span>, <span class="cm-number">3109</span>, <span class="cm-number">4999</span>, <span class="cm-number">5581</span>, <span class="cm-number">8629</span>, <span class="cm-number">5953</span>, <span class="cm-number">8069</span>, <span class="cm-number">6829</span>, <span class="cm-number">9677</span>, <span class="cm-number">5197</span>, <span class="cm-number">8059</span>, <span class="cm-number">2753</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">2987283285112052856777637490953875990300408162464831</span>, [<span class="cm-number">1</span>, <span class="cm-number">1523</span>, <span class="cm-number">7043</span>, <span class="cm-number">1889</span>, <span class="cm-number">7507</span>, <span class="cm-number">6133</span>, <span class="cm-number">3253</span>, <span class="cm-number">3797</span>, <span class="cm-number">1877</span>, <span class="cm-number">3463</span>, <span class="cm-number">7253</span>, <span class="cm-number">9281</span>, <span class="cm-number">7243</span>, <span class="cm-number">8837</span>, <span class="cm-number">9257</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">14046255291904838561381033780082793879910682609073503319</span>, [<span class="cm-number">1</span>, <span class="cm-number">2003</span>, <span class="cm-number">9479</span>, <span class="cm-number">8677</span>, <span class="cm-number">4733</span>, <span class="cm-number">1279</span>, <span class="cm-number">3947</span>, <span class="cm-number">5431</span>, <span class="cm-number">9421</span>, <span class="cm-number">9059</span>, <span class="cm-number">9377</span>, <span class="cm-number">4817</span>, <span class="cm-number">1663</span>, <span class="cm-number">3221</span>, <span class="cm-number">8111</span>, <span class="cm-number">3923</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">1672833210619559517657260567204379601678267615743624567961</span>, [<span class="cm-number">1</span>, <span class="cm-number">9883</span>, <span class="cm-number">6067</span>, <span class="cm-number">1559</span>, <span class="cm-number">1009</span>, <span class="cm-number">7069</span>, <span class="cm-number">2213</span>, <span class="cm-number">8713</span>, <span class="cm-number">1601</span>, <span class="cm-number">9491</span>, <span class="cm-number">7369</span>, <span class="cm-number">1327</span>, <span class="cm-number">6701</span>, <span class="cm-number">3359</span>, <span class="cm-number">6871</span>, <span class="cm-number">2039</span>, <span class="cm-number">2777</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">212010140415468603762770884867770164189873990478028538128651543</span>, [<span class="cm-number">1</span>, <span class="cm-number">7757</span>, <span class="cm-number">1721</span>, <span class="cm-number">9343</span>, <span class="cm-number">2521</span>, <span class="cm-number">6793</span>, <span class="cm-number">8017</span>, <span class="cm-number">8117</span>, <span class="cm-number">2879</span>, <span class="cm-number">6491</span>, <span class="cm-number">3637</span>, <span class="cm-number">3319</span>, <span class="cm-number">3677</span>, <span class="cm-number">5711</span>, <span class="cm-number">7681</span>, <span class="cm-number">3433</span>, <span class="cm-number">2087</span>, <span class="cm-number">5851</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">29763544558056708909351290167863189328280637881745015028766377567</span>, [<span class="cm-number">1</span>, <span class="cm-number">3793</span>, <span class="cm-number">3323</span>, <span class="cm-number">7841</span>, <span class="cm-number">9949</span>, <span class="cm-number">1181</span>, <span class="cm-number">6659</span>, <span class="cm-number">5171</span>, <span class="cm-number">2011</span>, <span class="cm-number">1861</span>, <span class="cm-number">3547</span>, <span class="cm-number">2887</span>, <span class="cm-number">2131</span>, <span class="cm-number">4801</span>, <span class="cm-number">2243</span>, <span class="cm-number">2141</span>, <span class="cm-number">5843</span>, <span class="cm-number">9349</span>, <span class="cm-number">7237</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">183733102700898942618853672482178977569632673473846394890208044869833</span>, [<span class="cm-number">1</span>, <span class="cm-number">1861</span>, <span class="cm-number">6997</span>, <span class="cm-number">1459</span>, <span class="cm-number">7103</span>, <span class="cm-number">8191</span>, <span class="cm-number">6883</span>, <span class="cm-number">1499</span>, <span class="cm-number">1123</span>, <span class="cm-number">2069</span>, <span class="cm-number">8563</span>, <span class="cm-number">4091</span>, <span class="cm-number">7699</span>, <span class="cm-number">4027</span>, <span class="cm-number">5813</span>, <span class="cm-number">2099</span>, <span class="cm-number">8803</span>, <span class="cm-number">5821</span>, <span class="cm-number">2753</span>, <span class="cm-number">3709</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">4315581732420458239176904986420389625324862838223258879737740116751534309</span>, [<span class="cm-number">1</span>, <span class="cm-number">4933</span>, <span class="cm-number">9473</span>, <span class="cm-number">2753</span>, <span class="cm-number">7949</span>, <span class="cm-number">1223</span>, <span class="cm-number">1213</span>, <span class="cm-number">1447</span>, <span class="cm-number">9689</span>, <span class="cm-number">2647</span>, <span class="cm-number">7177</span>, <span class="cm-number">4421</span>, <span class="cm-number">7883</span>, <span class="cm-number">7883</span>, <span class="cm-number">4673</span>, <span class="cm-number">7253</span>, <span class="cm-number">4787</span>, <span class="cm-number">2713</span>, <span class="cm-number">8929</span>, <span class="cm-number">2693</span>, <span class="cm-number">3673</span>])])])</code><code></code><code><span class="cm-variable">largePrimes</span> = (<span class="cm-string">"large primes"</span>, [(<span class="cm-number">2</span>, [(<span class="cm-number">4063375517</span>, [<span class="cm-number">1</span>, <span class="cm-number">78439</span>, <span class="cm-number">51803</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">522742080565357</span>, [<span class="cm-number">1</span>, <span class="cm-number">71167</span>, <span class="cm-number">82051</span>, <span class="cm-number">89521</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">52187387971275982093</span>, [<span class="cm-number">1</span>, <span class="cm-number">89753</span>, <span class="cm-number">95717</span>, <span class="cm-number">64693</span>, <span class="cm-number">93901</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">1162300682477934084344741</span>, [<span class="cm-number">1</span>, <span class="cm-number">65183</span>, <span class="cm-number">73883</span>, <span class="cm-number">57397</span>, <span class="cm-number">78803</span>, <span class="cm-number">53359</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">188904463700616439184603915519</span>, [<span class="cm-number">1</span>, <span class="cm-number">77339</span>, <span class="cm-number">67523</span>, <span class="cm-number">99577</span>, <span class="cm-number">59333</span>, <span class="cm-number">64577</span>, <span class="cm-number">94811</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">10382597739368109104150090934175379</span>, [<span class="cm-number">1</span>, <span class="cm-number">88321</span>, <span class="cm-number">75787</span>, <span class="cm-number">62417</span>, <span class="cm-number">55117</span>, <span class="cm-number">56179</span>, <span class="cm-number">83399</span>, <span class="cm-number">96233</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">2236854499510418655753593501324101562419</span>, [<span class="cm-number">1</span>, <span class="cm-number">91433</span>, <span class="cm-number">96221</span>, <span class="cm-number">73477</span>, <span class="cm-number">94543</span>, <span class="cm-number">80489</span>, <span class="cm-number">73063</span>, <span class="cm-number">67619</span>, <span class="cm-number">92041</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">35042439864356271632594896096225381140303727</span>, [<span class="cm-number">1</span>, <span class="cm-number">93077</span>, <span class="cm-number">63391</span>, <span class="cm-number">71261</span>, <span class="cm-number">50909</span>, <span class="cm-number">67979</span>, <span class="cm-number">75307</span>, <span class="cm-number">54403</span>, <span class="cm-number">61007</span>, <span class="cm-number">96353</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">9938019912957784649301000808068798240941672975269</span>, [<span class="cm-number">1</span>, <span class="cm-number">94793</span>, <span class="cm-number">50909</span>, <span class="cm-number">88667</span>, <span class="cm-number">75377</span>, <span class="cm-number">74231</span>, <span class="cm-number">75553</span>, <span class="cm-number">99571</span>, <span class="cm-number">86509</span>, <span class="cm-number">89959</span>, <span class="cm-number">70901</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">187109892613625880027947942540002116725379107367853319</span>, [<span class="cm-number">1</span>, <span class="cm-number">53611</span>, <span class="cm-number">60659</span>, <span class="cm-number">85313</span>, <span class="cm-number">88609</span>, <span class="cm-number">71089</span>, <span class="cm-number">75133</span>, <span class="cm-number">53267</span>, <span class="cm-number">66851</span>, <span class="cm-number">99041</span>, <span class="cm-number">80603</span>, <span class="cm-number">50129</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">49161767109869991125387613590249904971687586373477597553749</span>, [<span class="cm-number">1</span>, <span class="cm-number">88211</span>, <span class="cm-number">97073</span>, <span class="cm-number">79111</span>, <span class="cm-number">80777</span>, <span class="cm-number">51859</span>, <span class="cm-number">99767</span>, <span class="cm-number">84869</span>, <span class="cm-number">80963</span>, <span class="cm-number">75937</span>, <span class="cm-number">91369</span>, <span class="cm-number">52027</span>, <span class="cm-number">70009</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">986007145146192555084662271727905179607731398501077146686982027</span>, [<span class="cm-number">1</span>, <span class="cm-number">88241</span>, <span class="cm-number">72559</span>, <span class="cm-number">86239</span>, <span class="cm-number">92459</span>, <span class="cm-number">57097</span>, <span class="cm-number">63647</span>, <span class="cm-number">96167</span>, <span class="cm-number">54541</span>, <span class="cm-number">67219</span>, <span class="cm-number">70439</span>, <span class="cm-number">50123</span>, <span class="cm-number">66083</span>, <span class="cm-number">64609</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">122656733660163473018814025422928703405374994772383697825517039916327</span>, [<span class="cm-number">1</span>, <span class="cm-number">68389</span>, <span class="cm-number">86539</span>, <span class="cm-number">63493</span>, <span class="cm-number">56377</span>, <span class="cm-number">61001</span>, <span class="cm-number">60217</span>, <span class="cm-number">85361</span>, <span class="cm-number">58393</span>, <span class="cm-number">65701</span>, <span class="cm-number">99251</span>, <span class="cm-number">94049</span>, <span class="cm-number">70289</span>, <span class="cm-number">77711</span>, <span class="cm-number">94397</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">7842053712205825701754260824788620754149912403029793155702700015604989373</span>, [<span class="cm-number">1</span>, <span class="cm-number">81101</span>, <span class="cm-number">82387</span>, <span class="cm-number">92399</span>, <span class="cm-number">88903</span>, <span class="cm-number">67567</span>, <span class="cm-number">60037</span>, <span class="cm-number">96797</span>, <span class="cm-number">60161</span>, <span class="cm-number">58229</span>, <span class="cm-number">58243</span>, <span class="cm-number">76333</span>, <span class="cm-number">84181</span>, <span class="cm-number">67927</span>, <span class="cm-number">58403</span>, <span class="cm-number">69959</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">414983958423876613281406476811736161578168944722930828312908133102632845752703</span>, [<span class="cm-number">1</span>, <span class="cm-number">92083</span>, <span class="cm-number">56477</span>, <span class="cm-number">94573</span>, <span class="cm-number">67187</span>, <span class="cm-number">83177</span>, <span class="cm-number">88471</span>, <span class="cm-number">52951</span>, <span class="cm-number">55579</span>, <span class="cm-number">71597</span>, <span class="cm-number">66179</span>, <span class="cm-number">59671</span>, <span class="cm-number">59729</span>, <span class="cm-number">69481</span>, <span class="cm-number">97583</span>, <span class="cm-number">54623</span>, <span class="cm-number">92717</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">53002745697331794043197162487408577583597259117156412795445234494802005531541655757</span>, [<span class="cm-number">1</span>, <span class="cm-number">51949</span>, <span class="cm-number">81689</span>, <span class="cm-number">71089</span>, <span class="cm-number">81737</span>, <span class="cm-number">60659</span>, <span class="cm-number">93179</span>, <span class="cm-number">70489</span>, <span class="cm-number">90547</span>, <span class="cm-number">62189</span>, <span class="cm-number">92647</span>, <span class="cm-number">64123</span>, <span class="cm-number">75239</span>, <span class="cm-number">90841</span>, <span class="cm-number">88129</span>, <span class="cm-number">74653</span>, <span class="cm-number">57119</span>, <span class="cm-number">62791</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">2774325281122485998802780772219788618613994707680106838689326624193111749855341451994853</span>, [<span class="cm-number">1</span>, <span class="cm-number">62081</span>, <span class="cm-number">94229</span>, <span class="cm-number">70313</span>, <span class="cm-number">50513</span>, <span class="cm-number">69247</span>, <span class="cm-number">67531</span>, <span class="cm-number">74903</span>, <span class="cm-number">84827</span>, <span class="cm-number">75037</span>, <span class="cm-number">57697</span>, <span class="cm-number">58789</span>, <span class="cm-number">78779</span>, <span class="cm-number">50909</span>, <span class="cm-number">88819</span>, <span class="cm-number">99923</span>, <span class="cm-number">90353</span>, <span class="cm-number">59627</span>, <span class="cm-number">92077</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">81814093803623318906242340014181655977264794640309240515571248892045623493330471152004211349</span>, [<span class="cm-number">1</span>, <span class="cm-number">63629</span>, <span class="cm-number">76597</span>, <span class="cm-number">60761</span>, <span class="cm-number">85223</span>, <span class="cm-number">63611</span>, <span class="cm-number">82039</span>, <span class="cm-number">75431</span>, <span class="cm-number">52501</span>, <span class="cm-number">77351</span>, <span class="cm-number">54547</span>, <span class="cm-number">60139</span>, <span class="cm-number">80387</span>, <span class="cm-number">51721</span>, <span class="cm-number">59093</span>, <span class="cm-number">65537</span>, <span class="cm-number">66587</span>, <span class="cm-number">81817</span>, <span class="cm-number">91961</span>, <span class="cm-number">76631</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">4759420676774002917027080074804196749925026162216764903500438803531064867662815998548224047575111</span>, [<span class="cm-number">1</span>, <span class="cm-number">51193</span>, <span class="cm-number">63617</span>, <span class="cm-number">74827</span>, <span class="cm-number">77239</span>, <span class="cm-number">65761</span>, <span class="cm-number">71011</span>, <span class="cm-number">82613</span>, <span class="cm-number">77719</span>, <span class="cm-number">99709</span>, <span class="cm-number">85213</span>, <span class="cm-number">95959</span>, <span class="cm-number">54787</span>, <span class="cm-number">56503</span>, <span class="cm-number">53503</span>, <span class="cm-number">61553</span>, <span class="cm-number">60689</span>, <span class="cm-number">67033</span>, <span class="cm-number">64513</span>, <span class="cm-number">58831</span>, <span class="cm-number">65713</span>])])])</code><code></code><code><span class="cm-variable">largerPrimes</span> = (<span class="cm-string">'Larger primes'</span>, [(<span class="cm-number">2</span>, [(<span class="cm-number">187186702751</span>, [<span class="cm-number">1</span>, <span class="cm-number">590377</span>, <span class="cm-number">317063</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">227610837550458559</span>, [<span class="cm-number">1</span>, <span class="cm-number">345461</span>, <span class="cm-number">887483</span>, <span class="cm-number">742393</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">70258793277571237647233</span>, [<span class="cm-number">1</span>, <span class="cm-number">899981</span>, <span class="cm-number">280607</span>, <span class="cm-number">312353</span>, <span class="cm-number">890683</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">28721678110719749295143472251</span>, [<span class="cm-number">1</span>, <span class="cm-number">252323</span>, <span class="cm-number">322589</span>, <span class="cm-number">562259</span>, <span class="cm-number">826169</span>, <span class="cm-number">759623</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">16584959865789562307773297581668989</span>, [<span class="cm-number">1</span>, <span class="cm-number">526199</span>, <span class="cm-number">772097</span>, <span class="cm-number">347519</span>, <span class="cm-number">284857</span>, <span class="cm-number">826759</span>, <span class="cm-number">498779</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">40135231725177170651266451927317370040017</span>, [<span class="cm-number">1</span>, <span class="cm-number">689917</span>, <span class="cm-number">363037</span>, <span class="cm-number">462571</span>, <span class="cm-number">805559</span>, <span class="cm-number">561367</span>, <span class="cm-number">823201</span>, <span class="cm-number">930571</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">13543477157075511779696540916677807232136281983</span>, [<span class="cm-number">1</span>, <span class="cm-number">369841</span>, <span class="cm-number">369079</span>, <span class="cm-number">898481</span>, <span class="cm-number">593171</span>, <span class="cm-number">673613</span>, <span class="cm-number">333197</span>, <span class="cm-number">874127</span>, <span class="cm-number">948901</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">21868276789400720715203792286586485297210926281696241</span>, [<span class="cm-number">1</span>, <span class="cm-number">508867</span>, <span class="cm-number">666031</span>, <span class="cm-number">911839</span>, <span class="cm-number">521657</span>, <span class="cm-number">319981</span>, <span class="cm-number">592597</span>, <span class="cm-number">776357</span>, <span class="cm-number">947389</span>, <span class="cm-number">972611</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">3398638008982066688531884463264580936942051180990210108323</span>, [<span class="cm-number">1</span>, <span class="cm-number">655243</span>, <span class="cm-number">756373</span>, <span class="cm-number">805219</span>, <span class="cm-number">655859</span>, <span class="cm-number">563197</span>, <span class="cm-number">592087</span>, <span class="cm-number">467101</span>, <span class="cm-number">333331</span>, <span class="cm-number">364031</span>, <span class="cm-number">687023</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">9136943238414668122038298815310911346194279867410940342650742671</span>, [<span class="cm-number">1</span>, <span class="cm-number">741457</span>, <span class="cm-number">386333</span>, <span class="cm-number">423887</span>, <span class="cm-number">741869</span>, <span class="cm-number">752281</span>, <span class="cm-number">938323</span>, <span class="cm-number">933847</span>, <span class="cm-number">548567</span>, <span class="cm-number">636953</span>, <span class="cm-number">986351</span>, <span class="cm-number">446477</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">38071366054007302601960554011850986602984984747338895665946437878377453</span>, [<span class="cm-number">1</span>, <span class="cm-number">779189</span>, <span class="cm-number">507691</span>, <span class="cm-number">750961</span>, <span class="cm-number">875417</span>, <span class="cm-number">967427</span>, <span class="cm-number">371251</span>, <span class="cm-number">857737</span>, <span class="cm-number">943073</span>, <span class="cm-number">943363</span>, <span class="cm-number">895087</span>, <span class="cm-number">761861</span>, <span class="cm-number">783283</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">368625134734142995123626326808047577046599110832420111833822347712566666853</span>, [<span class="cm-number">1</span>, <span class="cm-number">409063</span>, <span class="cm-number">634079</span>, <span class="cm-number">260263</span>, <span class="cm-number">620887</span>, <span class="cm-number">744407</span>, <span class="cm-number">440183</span>, <span class="cm-number">971171</span>, <span class="cm-number">755737</span>, <span class="cm-number">654679</span>, <span class="cm-number">556093</span>, <span class="cm-number">968593</span>, <span class="cm-number">293483</span>, <span class="cm-number">353359</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">350789352401366415305072032960473921257900088976055701075698491956756257404655481</span>, [<span class="cm-number">1</span>, <span class="cm-number">746483</span>, <span class="cm-number">585587</span>, <span class="cm-number">530851</span>, <span class="cm-number">555349</span>, <span class="cm-number">751259</span>, <span class="cm-number">378949</span>, <span class="cm-number">404843</span>, <span class="cm-number">937823</span>, <span class="cm-number">447683</span>, <span class="cm-number">444817</span>, <span class="cm-number">511289</span>, <span class="cm-number">644291</span>, <span class="cm-number">603731</span>, <span class="cm-number">635879</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">431463623920866689805584050956253221308032437458060677109830929906624804391812275410793</span>, [<span class="cm-number">1</span>, <span class="cm-number">533747</span>, <span class="cm-number">682333</span>, <span class="cm-number">828067</span>, <span class="cm-number">484751</span>, <span class="cm-number">446261</span>, <span class="cm-number">578687</span>, <span class="cm-number">977147</span>, <span class="cm-number">283831</span>, <span class="cm-number">564979</span>, <span class="cm-number">690163</span>, <span class="cm-number">836863</span>, <span class="cm-number">327017</span>, <span class="cm-number">693403</span>, <span class="cm-number">794153</span>, <span class="cm-number">701257</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">3090895415152262211627476518158103729565126064320269607944002601270807904266490336040532453091</span>, [<span class="cm-number">1</span>, <span class="cm-number">729761</span>, <span class="cm-number">596009</span>, <span class="cm-number">627481</span>, <span class="cm-number">812963</span>, <span class="cm-number">576757</span>, <span class="cm-number">711679</span>, <span class="cm-number">825983</span>, <span class="cm-number">955613</span>, <span class="cm-number">911593</span>, <span class="cm-number">587959</span>, <span class="cm-number">700759</span>, <span class="cm-number">767623</span>, <span class="cm-number">268979</span>, <span class="cm-number">651821</span>, <span class="cm-number">858763</span>, <span class="cm-number">990523</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">1881182900515253077657544850252234921978522056443095815660055032303071363462608086772712619979929</span>, [<span class="cm-number">1</span>, <span class="cm-number">765283</span>, <span class="cm-number">360959</span>, <span class="cm-number">399181</span>, <span class="cm-number">468653</span>, <span class="cm-number">287849</span>, <span class="cm-number">481297</span>, <span class="cm-number">382351</span>, <span class="cm-number">711727</span>, <span class="cm-number">261917</span>, <span class="cm-number">846983</span>, <span class="cm-number">754463</span>, <span class="cm-number">346711</span>, <span class="cm-number">346217</span>, <span class="cm-number">541201</span>, <span class="cm-number">990377</span>, <span class="cm-number">338027</span>, <span class="cm-number">265261</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">23169284855147410245104557782459930672656640958302012768111347982308836202807150642723443947428384991983</span>, [<span class="cm-number">1</span>, <span class="cm-number">428899</span>, <span class="cm-number">979543</span>, <span class="cm-number">314243</span>, <span class="cm-number">947819</span>, <span class="cm-number">441121</span>, <span class="cm-number">954277</span>, <span class="cm-number">304709</span>, <span class="cm-number">620717</span>, <span class="cm-number">427877</span>, <span class="cm-number">399689</span>, <span class="cm-number">415343</span>, <span class="cm-number">289181</span>, <span class="cm-number">985063</span>, <span class="cm-number">883429</span>, <span class="cm-number">840979</span>, <span class="cm-number">488011</span>, <span class="cm-number">665153</span>, <span class="cm-number">476587</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">14148962297868150427488880128423453856260378948237916062898523907220089968114112210934057887773724022523805637</span>, [<span class="cm-number">1</span>, <span class="cm-number">289249</span>, <span class="cm-number">679417</span>, <span class="cm-number">535481</span>, <span class="cm-number">947539</span>, <span class="cm-number">832757</span>, <span class="cm-number">934537</span>, <span class="cm-number">424829</span>, <span class="cm-number">280451</span>, <span class="cm-number">990893</span>, <span class="cm-number">300319</span>, <span class="cm-number">404321</span>, <span class="cm-number">384547</span>, <span class="cm-number">424223</span>, <span class="cm-number">340387</span>, <span class="cm-number">624097</span>, <span class="cm-number">839207</span>, <span class="cm-number">793999</span>, <span class="cm-number">901717</span>, <span class="cm-number">610837</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">729883933457870363432152113700293245237626872643614401017049987282050216103044544786654875010234935256140803954547</span>, [<span class="cm-number">1</span>, <span class="cm-number">704321</span>, <span class="cm-number">342799</span>, <span class="cm-number">581447</span>, <span class="cm-number">842249</span>, <span class="cm-number">257837</span>, <span class="cm-number">938219</span>, <span class="cm-number">255349</span>, <span class="cm-number">266009</span>, <span class="cm-number">265709</span>, <span class="cm-number">725341</span>, <span class="cm-number">452033</span>, <span class="cm-number">692717</span>, <span class="cm-number">464923</span>, <span class="cm-number">648007</span>, <span class="cm-number">795307</span>, <span class="cm-number">476659</span>, <span class="cm-number">314399</span>, <span class="cm-number">367687</span>, <span class="cm-number">518579</span>, <span class="cm-number">909203</span>])])])</code><code></code><code><span class="cm-variable">largestPrimes</span> = (<span class="cm-string">"largest primes"</span>, [(<span class="cm-number">2</span>, [(<span class="cm-number">156522823147269816284598631312951810612882615746935161032701</span>, [<span class="cm-number">1</span>, <span class="cm-number">272431619873581157551105550911</span>, <span class="cm-number">574539854147262640021933661891</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">33874806091130475009235697120079470280226688813077808889362612187330734249556669208421939</span>, [<span class="cm-number">1</span>, <span class="cm-number">155903459436988767034958394683</span>, <span class="cm-number">785575136929393571457349360969</span>, <span class="cm-number">276588001275352182296868615457</span>])])])</code><code></code><code><span class="cm-keyword">print</span> <span class="cm-string">"Stored number suite - re run if needed"</span></code></pre>
<div class="output stdout">Stored number suite - re run if needed
</div>
<pre class="input"><code><span class="cm-variable">smallClosePrimes</span> = (<span class="cm-string">'Small close primes'</span>, [(<span class="cm-number">2</span>, [(<span class="cm-number">187</span>, [<span class="cm-number">1</span>, <span class="cm-number">11</span>, <span class="cm-number">17</span>]), (<span class="cm-number">221</span>, [<span class="cm-number">1</span>, <span class="cm-number">13</span>, <span class="cm-number">17</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">1463</span>, [<span class="cm-number">1</span>, <span class="cm-number">11</span>, <span class="cm-number">19</span>, <span class="cm-number">7</span>]), (<span class="cm-number">1183</span>, [<span class="cm-number">1</span>, <span class="cm-number">13</span>, <span class="cm-number">13</span>, <span class="cm-number">7</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">23023</span>, [<span class="cm-number">1</span>, <span class="cm-number">11</span>, <span class="cm-number">23</span>, <span class="cm-number">7</span>, <span class="cm-number">13</span>]), (<span class="cm-number">18515</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">23</span>, <span class="cm-number">7</span>, <span class="cm-number">23</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">161733</span>, [<span class="cm-number">1</span>, <span class="cm-number">11</span>, <span class="cm-number">13</span>, <span class="cm-number">13</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>]), (<span class="cm-number">252655</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">23</span>, <span class="cm-number">13</span>, <span class="cm-number">13</span>, <span class="cm-number">13</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">1154725</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">13</span>, <span class="cm-number">5</span>, <span class="cm-number">17</span>, <span class="cm-number">11</span>, <span class="cm-number">19</span>]), (<span class="cm-number">955695</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">29</span>, <span class="cm-number">13</span>, <span class="cm-number">13</span>, <span class="cm-number">3</span>, <span class="cm-number">13</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">7743087</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">11</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>]), (<span class="cm-number">40602639</span>, [<span class="cm-number">1</span>, <span class="cm-number">11</span>, <span class="cm-number">29</span>, <span class="cm-number">11</span>, <span class="cm-number">19</span>, <span class="cm-number">7</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">107279613</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">23</span>, <span class="cm-number">3</span>, <span class="cm-number">23</span>, <span class="cm-number">7</span>, <span class="cm-number">37</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>]), (<span class="cm-number">283487325</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">17</span>, <span class="cm-number">11</span>, <span class="cm-number">41</span>, <span class="cm-number">5</span>, <span class="cm-number">17</span>, <span class="cm-number">5</span>, <span class="cm-number">29</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">935717625</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">43</span>, <span class="cm-number">5</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">23</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>, <span class="cm-number">5</span>]), (<span class="cm-number">878332455</span>, [<span class="cm-number">1</span>, <span class="cm-number">7</span>, <span class="cm-number">17</span>, <span class="cm-number">5</span>, <span class="cm-number">31</span>, <span class="cm-number">11</span>, <span class="cm-number">13</span>, <span class="cm-number">3</span>, <span class="cm-number">37</span>, <span class="cm-number">3</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">24451456575</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">17</span>, <span class="cm-number">7</span>, <span class="cm-number">13</span>, <span class="cm-number">5</span>, <span class="cm-number">43</span>, <span class="cm-number">13</span>, <span class="cm-number">29</span>, <span class="cm-number">5</span>, <span class="cm-number">13</span>]), (<span class="cm-number">1748802168425</span>, [<span class="cm-number">1</span>, <span class="cm-number">13</span>, <span class="cm-number">41</span>, <span class="cm-number">5</span>, <span class="cm-number">47</span>, <span class="cm-number">13</span>, <span class="cm-number">41</span>, <span class="cm-number">5</span>, <span class="cm-number">31</span>, <span class="cm-number">13</span>, <span class="cm-number">13</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">6148592793</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">3</span>, <span class="cm-number">19</span>, <span class="cm-number">7</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">17</span>, <span class="cm-number">3</span>]), (<span class="cm-number">433954018575</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>, <span class="cm-number">5</span>, <span class="cm-number">23</span>, <span class="cm-number">11</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">47</span>, <span class="cm-number">7</span>, <span class="cm-number">17</span>, <span class="cm-number">3</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">2336441234985</span>, [<span class="cm-number">1</span>, <span class="cm-number">13</span>, <span class="cm-number">37</span>, <span class="cm-number">5</span>, <span class="cm-number">19</span>, <span class="cm-number">11</span>, <span class="cm-number">13</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>, <span class="cm-number">3</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">17</span>]), (<span class="cm-number">6169110180975</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>, <span class="cm-number">7</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">19</span>, <span class="cm-number">7</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">17</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">19600594410375</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">37</span>, <span class="cm-number">11</span>, <span class="cm-number">29</span>, <span class="cm-number">5</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>]), (<span class="cm-number">27464992644375</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">13</span>, <span class="cm-number">11</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">13</span>, <span class="cm-number">5</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">41</span>, <span class="cm-number">5</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">979848317369025</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">23</span>, <span class="cm-number">3</span>, <span class="cm-number">59</span>, <span class="cm-number">5</span>, <span class="cm-number">17</span>, <span class="cm-number">13</span>, <span class="cm-number">59</span>, <span class="cm-number">3</span>, <span class="cm-number">23</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>]), (<span class="cm-number">16313742837926625</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">23</span>, <span class="cm-number">13</span>, <span class="cm-number">61</span>, <span class="cm-number">5</span>, <span class="cm-number">53</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">43</span>, <span class="cm-number">7</span>, <span class="cm-number">53</span>, <span class="cm-number">7</span>, <span class="cm-number">13</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">276612138433767825</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>, <span class="cm-number">13</span>, <span class="cm-number">67</span>, <span class="cm-number">3</span>, <span class="cm-number">67</span>, <span class="cm-number">5</span>, <span class="cm-number">41</span>, <span class="cm-number">3</span>, <span class="cm-number">53</span>, <span class="cm-number">13</span>, <span class="cm-number">43</span>, <span class="cm-number">5</span>, <span class="cm-number">47</span>, <span class="cm-number">3</span>]), (<span class="cm-number">480388899282435</span>, [<span class="cm-number">1</span>, <span class="cm-number">11</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">13</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">23</span>, <span class="cm-number">3</span>, <span class="cm-number">53</span>, <span class="cm-number">3</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">13042072935932625</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">23</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">3</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">3</span>, <span class="cm-number">13</span>, <span class="cm-number">5</span>, <span class="cm-number">43</span>, <span class="cm-number">5</span>, <span class="cm-number">59</span>]), (<span class="cm-number">382555146521019375</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>, <span class="cm-number">5</span>, <span class="cm-number">61</span>, <span class="cm-number">3</span>, <span class="cm-number">71</span>, <span class="cm-number">3</span>, <span class="cm-number">23</span>, <span class="cm-number">5</span>, <span class="cm-number">61</span>, <span class="cm-number">5</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">37</span>, <span class="cm-number">5</span>, <span class="cm-number">61</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">3312499880682759375</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">29</span>, <span class="cm-number">7</span>, <span class="cm-number">79</span>, <span class="cm-number">3</span>, <span class="cm-number">73</span>, <span class="cm-number">3</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">17</span>, <span class="cm-number">5</span>]), (<span class="cm-number">1706485929231344625</span>, [<span class="cm-number">1</span>, <span class="cm-number">13</span>, <span class="cm-number">67</span>, <span class="cm-number">5</span>, <span class="cm-number">43</span>, <span class="cm-number">5</span>, <span class="cm-number">53</span>, <span class="cm-number">3</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">47</span>, <span class="cm-number">3</span>, <span class="cm-number">17</span>, <span class="cm-number">3</span>, <span class="cm-number">17</span>, <span class="cm-number">7</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">1174450948827771103125</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">31</span>, <span class="cm-number">3</span>, <span class="cm-number">23</span>, <span class="cm-number">5</span>, <span class="cm-number">13</span>, <span class="cm-number">5</span>, <span class="cm-number">23</span>, <span class="cm-number">7</span>, <span class="cm-number">79</span>, <span class="cm-number">5</span>, <span class="cm-number">59</span>, <span class="cm-number">5</span>, <span class="cm-number">19</span>, <span class="cm-number">13</span>, <span class="cm-number">71</span>, <span class="cm-number">13</span>, <span class="cm-number">79</span>]), (<span class="cm-number">201675564824001357375</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">31</span>, <span class="cm-number">13</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">67</span>, <span class="cm-number">5</span>, <span class="cm-number">37</span>, <span class="cm-number">5</span>, <span class="cm-number">61</span>, <span class="cm-number">3</span>, <span class="cm-number">23</span>, <span class="cm-number">3</span>, <span class="cm-number">71</span>, <span class="cm-number">13</span>, <span class="cm-number">13</span>, <span class="cm-number">11</span>, <span class="cm-number">17</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">2896784440836584878125</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">73</span>, <span class="cm-number">5</span>, <span class="cm-number">67</span>, <span class="cm-number">5</span>, <span class="cm-number">53</span>, <span class="cm-number">5</span>, <span class="cm-number">23</span>, <span class="cm-number">13</span>, <span class="cm-number">41</span>, <span class="cm-number">7</span>, <span class="cm-number">73</span>, <span class="cm-number">5</span>, <span class="cm-number">17</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>, <span class="cm-number">7</span>, <span class="cm-number">13</span>, <span class="cm-number">3</span>]), (<span class="cm-number">1890142883084170567125</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">67</span>, <span class="cm-number">3</span>, <span class="cm-number">13</span>, <span class="cm-number">5</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">79</span>, <span class="cm-number">3</span>, <span class="cm-number">47</span>, <span class="cm-number">3</span>, <span class="cm-number">79</span>, <span class="cm-number">13</span>, <span class="cm-number">61</span>, <span class="cm-number">7</span>, <span class="cm-number">17</span>, <span class="cm-number">5</span>, <span class="cm-number">89</span>, <span class="cm-number">5</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">65022163146983219653125</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">43</span>, <span class="cm-number">5</span>, <span class="cm-number">59</span>, <span class="cm-number">3</span>, <span class="cm-number">61</span>, <span class="cm-number">3</span>, <span class="cm-number">97</span>, <span class="cm-number">5</span>, <span class="cm-number">59</span>, <span class="cm-number">13</span>, <span class="cm-number">31</span>, <span class="cm-number">3</span>, <span class="cm-number">83</span>, <span class="cm-number">3</span>, <span class="cm-number">29</span>, <span class="cm-number">5</span>, <span class="cm-number">23</span>, <span class="cm-number">5</span>, <span class="cm-number">13</span>]), (<span class="cm-number">32369441131223583393825</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">29</span>, <span class="cm-number">3</span>, <span class="cm-number">97</span>, <span class="cm-number">13</span>, <span class="cm-number">19</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>, <span class="cm-number">3</span>, <span class="cm-number">71</span>, <span class="cm-number">3</span>, <span class="cm-number">53</span>, <span class="cm-number">3</span>, <span class="cm-number">37</span>, <span class="cm-number">7</span>, <span class="cm-number">17</span>, <span class="cm-number">3</span>, <span class="cm-number">53</span>, <span class="cm-number">5</span>, <span class="cm-number">71</span>])]), (<span class="cm-number">2</span>, [(<span class="cm-number">961</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">31</span>]), (<span class="cm-number">1147</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">37</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">33263</span>, [<span class="cm-number">1</span>, <span class="cm-number">29</span>, <span class="cm-number">37</span>, <span class="cm-number">31</span>]), (<span class="cm-number">27869</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">31</span>, <span class="cm-number">29</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">494209</span>, [<span class="cm-number">1</span>, <span class="cm-number">19</span>, <span class="cm-number">37</span>, <span class="cm-number">19</span>, <span class="cm-number">37</span>]), (<span class="cm-number">847757</span>, [<span class="cm-number">1</span>, <span class="cm-number">29</span>, <span class="cm-number">41</span>, <span class="cm-number">23</span>, <span class="cm-number">31</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">14253769</span>, [<span class="cm-number">1</span>, <span class="cm-number">17</span>, <span class="cm-number">43</span>, <span class="cm-number">17</span>, <span class="cm-number">37</span>, <span class="cm-number">31</span>]), (<span class="cm-number">21859867</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">31</span>, <span class="cm-number">23</span>, <span class="cm-number">43</span>, <span class="cm-number">23</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">272897651</span>, [<span class="cm-number">1</span>, <span class="cm-number">13</span>, <span class="cm-number">47</span>, <span class="cm-number">17</span>, <span class="cm-number">47</span>, <span class="cm-number">13</span>, <span class="cm-number">43</span>]), (<span class="cm-number">424808137</span>, [<span class="cm-number">1</span>, <span class="cm-number">19</span>, <span class="cm-number">43</span>, <span class="cm-number">13</span>, <span class="cm-number">37</span>, <span class="cm-number">23</span>, <span class="cm-number">47</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">7642399589</span>, [<span class="cm-number">1</span>, <span class="cm-number">11</span>, <span class="cm-number">43</span>, <span class="cm-number">23</span>, <span class="cm-number">43</span>, <span class="cm-number">17</span>, <span class="cm-number">31</span>, <span class="cm-number">31</span>]), (<span class="cm-number">8418710641</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">47</span>, <span class="cm-number">11</span>, <span class="cm-number">53</span>, <span class="cm-number">11</span>, <span class="cm-number">53</span>, <span class="cm-number">17</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">705261876527</span>, [<span class="cm-number">1</span>, <span class="cm-number">19</span>, <span class="cm-number">47</span>, <span class="cm-number">13</span>, <span class="cm-number">61</span>, <span class="cm-number">23</span>, <span class="cm-number">43</span>, <span class="cm-number">19</span>, <span class="cm-number">53</span>]), (<span class="cm-number">343508150821</span>, [<span class="cm-number">1</span>, <span class="cm-number">19</span>, <span class="cm-number">43</span>, <span class="cm-number">11</span>, <span class="cm-number">61</span>, <span class="cm-number">29</span>, <span class="cm-number">41</span>, <span class="cm-number">17</span>, <span class="cm-number">31</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">5001316620355</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">61</span>, <span class="cm-number">17</span>, <span class="cm-number">53</span>, <span class="cm-number">11</span>, <span class="cm-number">53</span>, <span class="cm-number">31</span>, <span class="cm-number">53</span>, <span class="cm-number">19</span>]), (<span class="cm-number">298235183875</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">59</span>, <span class="cm-number">19</span>, <span class="cm-number">41</span>, <span class="cm-number">5</span>, <span class="cm-number">37</span>, <span class="cm-number">5</span>, <span class="cm-number">61</span>, <span class="cm-number">23</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">10840457019117</span>, [<span class="cm-number">1</span>, <span class="cm-number">11</span>, <span class="cm-number">37</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">11</span>, <span class="cm-number">37</span>, <span class="cm-number">17</span>, <span class="cm-number">53</span>, <span class="cm-number">11</span>, <span class="cm-number">71</span>]), (<span class="cm-number">32246166582465</span>, [<span class="cm-number">1</span>, <span class="cm-number">11</span>, <span class="cm-number">67</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>, <span class="cm-number">5</span>, <span class="cm-number">53</span>, <span class="cm-number">19</span>, <span class="cm-number">43</span>, <span class="cm-number">31</span>, <span class="cm-number">53</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">131104352392575</span>, [<span class="cm-number">1</span>, <span class="cm-number">17</span>, <span class="cm-number">47</span>, <span class="cm-number">29</span>, <span class="cm-number">73</span>, <span class="cm-number">17</span>, <span class="cm-number">53</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">37</span>, <span class="cm-number">5</span>]), (<span class="cm-number">318821990728325</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">53</span>, <span class="cm-number">19</span>, <span class="cm-number">37</span>, <span class="cm-number">5</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">41</span>, <span class="cm-number">7</span>, <span class="cm-number">73</span>, <span class="cm-number">17</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">8917467228811725</span>, [<span class="cm-number">1</span>, <span class="cm-number">29</span>, <span class="cm-number">41</span>, <span class="cm-number">5</span>, <span class="cm-number">79</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>, <span class="cm-number">23</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">43</span>, <span class="cm-number">19</span>, <span class="cm-number">53</span>]), (<span class="cm-number">2047407165326187</span>, [<span class="cm-number">1</span>, <span class="cm-number">23</span>, <span class="cm-number">31</span>, <span class="cm-number">7</span>, <span class="cm-number">53</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>, <span class="cm-number">19</span>, <span class="cm-number">71</span>, <span class="cm-number">3</span>, <span class="cm-number">71</span>, <span class="cm-number">3</span>, <span class="cm-number">73</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">6224134475718818659</span>, [<span class="cm-number">1</span>, <span class="cm-number">13</span>, <span class="cm-number">47</span>, <span class="cm-number">11</span>, <span class="cm-number">71</span>, <span class="cm-number">23</span>, <span class="cm-number">83</span>, <span class="cm-number">23</span>, <span class="cm-number">37</span>, <span class="cm-number">17</span>, <span class="cm-number">67</span>, <span class="cm-number">19</span>, <span class="cm-number">53</span>, <span class="cm-number">7</span>]), (<span class="cm-number">51245303801837145</span>, [<span class="cm-number">1</span>, <span class="cm-number">17</span>, <span class="cm-number">53</span>, <span class="cm-number">7</span>, <span class="cm-number">83</span>, <span class="cm-number">7</span>, <span class="cm-number">73</span>, <span class="cm-number">11</span>, <span class="cm-number">43</span>, <span class="cm-number">13</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">67</span>, <span class="cm-number">3</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">108043090363342428225</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">73</span>, <span class="cm-number">29</span>, <span class="cm-number">59</span>, <span class="cm-number">19</span>, <span class="cm-number">71</span>, <span class="cm-number">31</span>, <span class="cm-number">61</span>, <span class="cm-number">3</span>, <span class="cm-number">83</span>, <span class="cm-number">5</span>, <span class="cm-number">47</span>, <span class="cm-number">19</span>, <span class="cm-number">61</span>]), (<span class="cm-number">3926065196602313399917</span>, [<span class="cm-number">1</span>, <span class="cm-number">17</span>, <span class="cm-number">47</span>, <span class="cm-number">23</span>, <span class="cm-number">83</span>, <span class="cm-number">19</span>, <span class="cm-number">61</span>, <span class="cm-number">23</span>, <span class="cm-number">31</span>, <span class="cm-number">17</span>, <span class="cm-number">71</span>, <span class="cm-number">29</span>, <span class="cm-number">53</span>, <span class="cm-number">23</span>, <span class="cm-number">73</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">22027411283540928125</span>, [<span class="cm-number">1</span>, <span class="cm-number">23</span>, <span class="cm-number">83</span>, <span class="cm-number">5</span>, <span class="cm-number">31</span>, <span class="cm-number">23</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">89</span>, <span class="cm-number">5</span>, <span class="cm-number">71</span>, <span class="cm-number">7</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">53</span>, <span class="cm-number">5</span>]), (<span class="cm-number">177118086912132284625</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">59</span>, <span class="cm-number">7</span>, <span class="cm-number">89</span>, <span class="cm-number">23</span>, <span class="cm-number">89</span>, <span class="cm-number">5</span>, <span class="cm-number">71</span>, <span class="cm-number">29</span>, <span class="cm-number">53</span>, <span class="cm-number">23</span>, <span class="cm-number">61</span>, <span class="cm-number">5</span>, <span class="cm-number">41</span>, <span class="cm-number">5</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">23707258426609810843125</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">101</span>, <span class="cm-number">23</span>, <span class="cm-number">83</span>, <span class="cm-number">17</span>, <span class="cm-number">89</span>, <span class="cm-number">5</span>, <span class="cm-number">67</span>, <span class="cm-number">5</span>, <span class="cm-number">71</span>, <span class="cm-number">29</span>, <span class="cm-number">97</span>, <span class="cm-number">5</span>, <span class="cm-number">79</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>]), (<span class="cm-number">2031893035845148045125</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">47</span>, <span class="cm-number">3</span>, <span class="cm-number">41</span>, <span class="cm-number">5</span>, <span class="cm-number">73</span>, <span class="cm-number">5</span>, <span class="cm-number">67</span>, <span class="cm-number">23</span>, <span class="cm-number">71</span>, <span class="cm-number">19</span>, <span class="cm-number">73</span>, <span class="cm-number">19</span>, <span class="cm-number">73</span>, <span class="cm-number">5</span>, <span class="cm-number">61</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">36236921442400155709375</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">71</span>, <span class="cm-number">5</span>, <span class="cm-number">101</span>, <span class="cm-number">19</span>, <span class="cm-number">67</span>, <span class="cm-number">5</span>, <span class="cm-number">41</span>, <span class="cm-number">23</span>, <span class="cm-number">43</span>, <span class="cm-number">11</span>, <span class="cm-number">79</span>, <span class="cm-number">13</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">59</span>, <span class="cm-number">5</span>]), (<span class="cm-number">95484403968664676886375</span>, [<span class="cm-number">1</span>, <span class="cm-number">31</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">89</span>, <span class="cm-number">3</span>, <span class="cm-number">47</span>, <span class="cm-number">5</span>, <span class="cm-number">83</span>, <span class="cm-number">13</span>, <span class="cm-number">67</span>, <span class="cm-number">29</span>, <span class="cm-number">53</span>, <span class="cm-number">5</span>, <span class="cm-number">37</span>, <span class="cm-number">31</span>, <span class="cm-number">71</span>, <span class="cm-number">7</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">68449749435915415117875</span>, [<span class="cm-number">1</span>, <span class="cm-number">13</span>, <span class="cm-number">101</span>, <span class="cm-number">23</span>, <span class="cm-number">59</span>, <span class="cm-number">3</span>, <span class="cm-number">43</span>, <span class="cm-number">5</span>, <span class="cm-number">41</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">13</span>, <span class="cm-number">43</span>, <span class="cm-number">3</span>, <span class="cm-number">67</span>, <span class="cm-number">5</span>, <span class="cm-number">83</span>, <span class="cm-number">5</span>, <span class="cm-number">67</span>]), (<span class="cm-number">19589478089411820609060525</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">107</span>, <span class="cm-number">3</span>, <span class="cm-number">97</span>, <span class="cm-number">23</span>, <span class="cm-number">47</span>, <span class="cm-number">29</span>, <span class="cm-number">31</span>, <span class="cm-number">5</span>, <span class="cm-number">89</span>, <span class="cm-number">19</span>, <span class="cm-number">103</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">17</span>, <span class="cm-number">83</span>, <span class="cm-number">11</span>, <span class="cm-number">103</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">17459425383139545183002625</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">53</span>, <span class="cm-number">3</span>, <span class="cm-number">61</span>, <span class="cm-number">5</span>, <span class="cm-number">101</span>, <span class="cm-number">13</span>, <span class="cm-number">73</span>, <span class="cm-number">19</span>, <span class="cm-number">59</span>, <span class="cm-number">7</span>, <span class="cm-number">103</span>, <span class="cm-number">11</span>, <span class="cm-number">101</span>, <span class="cm-number">5</span>, <span class="cm-number">41</span>, <span class="cm-number">11</span>, <span class="cm-number">53</span>, <span class="cm-number">7</span>]), (<span class="cm-number">253868269728472313813110875</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">59</span>, <span class="cm-number">3</span>, <span class="cm-number">67</span>, <span class="cm-number">5</span>, <span class="cm-number">67</span>, <span class="cm-number">29</span>, <span class="cm-number">41</span>, <span class="cm-number">13</span>, <span class="cm-number">109</span>, <span class="cm-number">19</span>, <span class="cm-number">47</span>, <span class="cm-number">13</span>, <span class="cm-number">73</span>, <span class="cm-number">31</span>, <span class="cm-number">43</span>, <span class="cm-number">5</span>, <span class="cm-number">79</span>, <span class="cm-number">17</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">10019176560312034400567595</span>, [<span class="cm-number">1</span>, <span class="cm-number">3</span>, <span class="cm-number">47</span>, <span class="cm-number">3</span>, <span class="cm-number">83</span>, <span class="cm-number">5</span>, <span class="cm-number">47</span>, <span class="cm-number">19</span>, <span class="cm-number">103</span>, <span class="cm-number">29</span>, <span class="cm-number">41</span>, <span class="cm-number">3</span>, <span class="cm-number">31</span>, <span class="cm-number">3</span>, <span class="cm-number">61</span>, <span class="cm-number">3</span>, <span class="cm-number">43</span>, <span class="cm-number">3</span>, <span class="cm-number">79</span>, <span class="cm-number">17</span>, <span class="cm-number">59</span>]), (<span class="cm-number">215947535722966231822673332275</span>, [<span class="cm-number">1</span>, <span class="cm-number">5</span>, <span class="cm-number">109</span>, <span class="cm-number">17</span>, <span class="cm-number">43</span>, <span class="cm-number">23</span>, <span class="cm-number">47</span>, <span class="cm-number">23</span>, <span class="cm-number">79</span>, <span class="cm-number">11</span>, <span class="cm-number">83</span>, <span class="cm-number">17</span>, <span class="cm-number">113</span>, <span class="cm-number">17</span>, <span class="cm-number">61</span>, <span class="cm-number">17</span>, <span class="cm-number">83</span>, <span class="cm-number">3</span>, <span class="cm-number">107</span>, <span class="cm-number">5</span>, <span class="cm-number">67</span>])])])</code><code></code><code><span class="cm-variable">mediumClosePrimes</span> = (<span class="cm-string">"Medium close primes"</span>, [(<span class="cm-number">2</span>, [(<span class="cm-number">316933</span>, [<span class="cm-number">1</span>, <span class="cm-number">557</span>, <span class="cm-number">569</span>]), (<span class="cm-number">313591</span>, [<span class="cm-number">1</span>, <span class="cm-number">557</span>, <span class="cm-number">563</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">171534277</span>, [<span class="cm-number">1</span>, <span class="cm-number">557</span>, <span class="cm-number">563</span>, <span class="cm-number">547</span>]), (<span class="cm-number">173971709</span>, [<span class="cm-number">1</span>, <span class="cm-number">557</span>, <span class="cm-number">571</span>, <span class="cm-number">547</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">94758693241</span>, [<span class="cm-number">1</span>, <span class="cm-number">541</span>, <span class="cm-number">569</span>, <span class="cm-number">541</span>, <span class="cm-number">569</span>]), (<span class="cm-number">100381676093</span>, [<span class="cm-number">1</span>, <span class="cm-number">557</span>, <span class="cm-number">571</span>, <span class="cm-number">547</span>, <span class="cm-number">577</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">56670957560149</span>, [<span class="cm-number">1</span>, <span class="cm-number">563</span>, <span class="cm-number">587</span>, <span class="cm-number">563</span>, <span class="cm-number">563</span>, <span class="cm-number">541</span>]), (<span class="cm-number">55737645509339</span>, [<span class="cm-number">1</span>, <span class="cm-number">563</span>, <span class="cm-number">563</span>, <span class="cm-number">547</span>, <span class="cm-number">571</span>, <span class="cm-number">563</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">33960079475671199</span>, [<span class="cm-number">1</span>, <span class="cm-number">557</span>, <span class="cm-number">563</span>, <span class="cm-number">547</span>, <span class="cm-number">593</span>, <span class="cm-number">563</span>, <span class="cm-number">593</span>]), (<span class="cm-number">28590087506703829</span>, [<span class="cm-number">1</span>, <span class="cm-number">541</span>, <span class="cm-number">593</span>, <span class="cm-number">521</span>, <span class="cm-number">569</span>, <span class="cm-number">521</span>, <span class="cm-number">577</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">16668687877305357367</span>, [<span class="cm-number">1</span>, <span class="cm-number">547</span>, <span class="cm-number">593</span>, <span class="cm-number">547</span>, <span class="cm-number">593</span>, <span class="cm-number">547</span>, <span class="cm-number">569</span>, <span class="cm-number">509</span>]), (<span class="cm-number">14895421562352162947</span>, [<span class="cm-number">1</span>, <span class="cm-number">523</span>, <span class="cm-number">563</span>, <span class="cm-number">523</span>, <span class="cm-number">587</span>, <span class="cm-number">541</span>, <span class="cm-number">563</span>, <span class="cm-number">541</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">8825598186724532340139</span>, [<span class="cm-number">1</span>, <span class="cm-number">503</span>, <span class="cm-number">577</span>, <span class="cm-number">563</span>, <span class="cm-number">601</span>, <span class="cm-number">503</span>, <span class="cm-number">593</span>, <span class="cm-number">503</span>, <span class="cm-number">599</span>]), (<span class="cm-number">8056030357210311798593</span>, [<span class="cm-number">1</span>, <span class="cm-number">509</span>, <span class="cm-number">571</span>, <span class="cm-number">541</span>, <span class="cm-number">563</span>, <span class="cm-number">509</span>, <span class="cm-number">587</span>, <span class="cm-number">541</span>, <span class="cm-number">563</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">5176371113800439756757811</span>, [<span class="cm-number">1</span>, <span class="cm-number">523</span>, <span class="cm-number">569</span>, <span class="cm-number">503</span>, <span class="cm-number">593</span>, <span class="cm-number">547</span>, <span class="cm-number">587</span>, <span class="cm-number">547</span>, <span class="cm-number">607</span>, <span class="cm-number">547</span>]), (<span class="cm-number">4307414133054528902898431</span>, [<span class="cm-number">1</span>, <span class="cm-number">547</span>, <span class="cm-number">577</span>, <span class="cm-number">503</span>, <span class="cm-number">569</span>, <span class="cm-number">547</span>, <span class="cm-number">569</span>, <span class="cm-number">503</span>, <span class="cm-number">563</span>, <span class="cm-number">541</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">2472832340955827717218826729</span>, [<span class="cm-number">1</span>, <span class="cm-number">499</span>, <span class="cm-number">571</span>, <span class="cm-number">541</span>, <span class="cm-number">599</span>, <span class="cm-number">491</span>, <span class="cm-number">577</span>, <span class="cm-number">563</span>, <span class="cm-number">569</span>, <span class="cm-number">491</span>, <span class="cm-number">601</span>]), (<span class="cm-number">2584284171184513506455410453</span>, [<span class="cm-number">1</span>, <span class="cm-number">503</span>, <span class="cm-number">613</span>, <span class="cm-number">509</span>, <span class="cm-number">599</span>, <span class="cm-number">563</span>, <span class="cm-number">569</span>, <span class="cm-number">499</span>, <span class="cm-number">607</span>, <span class="cm-number">491</span>, <span class="cm-number">577</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">1910856948409986584271742351543</span>, [<span class="cm-number">1</span>, <span class="cm-number">521</span>, <span class="cm-number">577</span>, <span class="cm-number">547</span>, <span class="cm-number">563</span>, <span class="cm-number">563</span>, <span class="cm-number">577</span>, <span class="cm-number">541</span>, <span class="cm-number">617</span>, <span class="cm-number">563</span>, <span class="cm-number">607</span>, <span class="cm-number">557</span>]), (<span class="cm-number">1332882535090650712169308963739</span>, [<span class="cm-number">1</span>, <span class="cm-number">487</span>, <span class="cm-number">613</span>, <span class="cm-number">547</span>, <span class="cm-number">613</span>, <span class="cm-number">503</span>, <span class="cm-number">563</span>, <span class="cm-number">487</span>, <span class="cm-number">617</span>, <span class="cm-number">557</span>, <span class="cm-number">563</span>, <span class="cm-number">499</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">852196735493924940848986241767987</span>, [<span class="cm-number">1</span>, <span class="cm-number">541</span>, <span class="cm-number">613</span>, <span class="cm-number">487</span>, <span class="cm-number">617</span>, <span class="cm-number">491</span>, <span class="cm-number">587</span>, <span class="cm-number">523</span>, <span class="cm-number">613</span>, <span class="cm-number">523</span>, <span class="cm-number">563</span>, <span class="cm-number">523</span>, <span class="cm-number">601</span>]), (<span class="cm-number">752546528211330815497003845481997</span>, [<span class="cm-number">1</span>, <span class="cm-number">479</span>, <span class="cm-number">593</span>, <span class="cm-number">503</span>, <span class="cm-number">587</span>, <span class="cm-number">491</span>, <span class="cm-number">587</span>, <span class="cm-number">503</span>, <span class="cm-number">607</span>, <span class="cm-number">541</span>, <span class="cm-number">587</span>, <span class="cm-number">547</span>, <span class="cm-number">587</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">413424284293138931542565906706071669</span>, [<span class="cm-number">1</span>, <span class="cm-number">491</span>, <span class="cm-number">587</span>, <span class="cm-number">487</span>, <span class="cm-number">617</span>, <span class="cm-number">541</span>, <span class="cm-number">607</span>, <span class="cm-number">487</span>, <span class="cm-number">587</span>, <span class="cm-number">557</span>, <span class="cm-number">617</span>, <span class="cm-number">479</span>, <span class="cm-number">571</span>, <span class="cm-number">541</span>]), (<span class="cm-number">422612439674921629650938136476012611</span>, [<span class="cm-number">1</span>, <span class="cm-number">523</span>, <span class="cm-number">569</span>, <span class="cm-number">541</span>, <span class="cm-number">577</span>, <span class="cm-number">541</span>, <span class="cm-number">571</span>, <span class="cm-number">523</span>, <span class="cm-number">613</span>, <span class="cm-number">487</span>, <span class="cm-number">569</span>, <span class="cm-number">563</span>, <span class="cm-number">563</span>, <span class="cm-number">523</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">457153207646831573744181522153370927673</span>, [<span class="cm-number">1</span>, <span class="cm-number">547</span>, <span class="cm-number">619</span>, <span class="cm-number">547</span>, <span class="cm-number">641</span>, <span class="cm-number">563</span>, <span class="cm-number">607</span>, <span class="cm-number">547</span>, <span class="cm-number">593</span>, <span class="cm-number">563</span>, <span class="cm-number">631</span>, <span class="cm-number">509</span>, <span class="cm-number">619</span>, <span class="cm-number">503</span>, <span class="cm-number">617</span>]), (<span class="cm-number">259918970541028265619885810519171604529</span>, [<span class="cm-number">1</span>, <span class="cm-number">557</span>, <span class="cm-number">631</span>, <span class="cm-number">541</span>, <span class="cm-number">593</span>, <span class="cm-number">487</span>, <span class="cm-number">563</span>, <span class="cm-number">503</span>, <span class="cm-number">619</span>, <span class="cm-number">503</span>, <span class="cm-number">617</span>, <span class="cm-number">467</span>, <span class="cm-number">631</span>, <span class="cm-number">503</span>, <span class="cm-number">587</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">109868336528703352227207124944087831704269</span>, [<span class="cm-number">1</span>, <span class="cm-number">463</span>, <span class="cm-number">599</span>, <span class="cm-number">509</span>, <span class="cm-number">631</span>, <span class="cm-number">467</span>, <span class="cm-number">617</span>, <span class="cm-number">487</span>, <span class="cm-number">643</span>, <span class="cm-number">563</span>, <span class="cm-number">563</span>, <span class="cm-number">487</span>, <span class="cm-number">607</span>, <span class="cm-number">541</span>, <span class="cm-number">563</span>, <span class="cm-number">479</span>]), (<span class="cm-number">142219206797328060675174570040656920579167</span>, [<span class="cm-number">1</span>, <span class="cm-number">479</span>, <span class="cm-number">613</span>, <span class="cm-number">547</span>, <span class="cm-number">587</span>, <span class="cm-number">557</span>, <span class="cm-number">601</span>, <span class="cm-number">479</span>, <span class="cm-number">587</span>, <span class="cm-number">499</span>, <span class="cm-number">571</span>, <span class="cm-number">479</span>, <span class="cm-number">643</span>, <span class="cm-number">563</span>, <span class="cm-number">593</span>, <span class="cm-number">547</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">76820202531067992349805610678707511043871803</span>, [<span class="cm-number">1</span>, <span class="cm-number">547</span>, <span class="cm-number">587</span>, <span class="cm-number">509</span>, <span class="cm-number">569</span>, <span class="cm-number">491</span>, <span class="cm-number">613</span>, <span class="cm-number">491</span>, <span class="cm-number">607</span>, <span class="cm-number">547</span>, <span class="cm-number">601</span>, <span class="cm-number">487</span>, <span class="cm-number">643</span>, <span class="cm-number">487</span>, <span class="cm-number">617</span>, <span class="cm-number">463</span>, <span class="cm-number">643</span>]), (<span class="cm-number">84353082637098915851350715686631411152617919</span>, [<span class="cm-number">1</span>, <span class="cm-number">499</span>, <span class="cm-number">593</span>, <span class="cm-number">541</span>, <span class="cm-number">613</span>, <span class="cm-number">523</span>, <span class="cm-number">601</span>, <span class="cm-number">557</span>, <span class="cm-number">593</span>, <span class="cm-number">491</span>, <span class="cm-number">587</span>, <span class="cm-number">521</span>, <span class="cm-number">587</span>, <span class="cm-number">491</span>, <span class="cm-number">599</span>, <span class="cm-number">521</span>, <span class="cm-number">613</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">29867711038615093175665393861938141536525529539</span>, [<span class="cm-number">1</span>, <span class="cm-number">541</span>, <span class="cm-number">607</span>, <span class="cm-number">479</span>, <span class="cm-number">577</span>, <span class="cm-number">557</span>, <span class="cm-number">599</span>, <span class="cm-number">467</span>, <span class="cm-number">647</span>, <span class="cm-number">463</span>, <span class="cm-number">577</span>, <span class="cm-number">461</span>, <span class="cm-number">607</span>, <span class="cm-number">499</span>, <span class="cm-number">617</span>, <span class="cm-number">457</span>, <span class="cm-number">617</span>, <span class="cm-number">503</span>]), (<span class="cm-number">32160416498806182862863819430142025959220975101</span>, [<span class="cm-number">1</span>, <span class="cm-number">449</span>, <span class="cm-number">613</span>, <span class="cm-number">509</span>, <span class="cm-number">631</span>, <span class="cm-number">461</span>, <span class="cm-number">613</span>, <span class="cm-number">499</span>, <span class="cm-number">601</span>, <span class="cm-number">541</span>, <span class="cm-number">599</span>, <span class="cm-number">461</span>, <span class="cm-number">617</span>, <span class="cm-number">487</span>, <span class="cm-number">631</span>, <span class="cm-number">503</span>, <span class="cm-number">599</span>, <span class="cm-number">503</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">19956848495929281188644811212469947126676084328359</span>, [<span class="cm-number">1</span>, <span class="cm-number">449</span>, <span class="cm-number">601</span>, <span class="cm-number">563</span>, <span class="cm-number">659</span>, <span class="cm-number">467</span>, <span class="cm-number">587</span>, <span class="cm-number">461</span>, <span class="cm-number">577</span>, <span class="cm-number">509</span>, <span class="cm-number">659</span>, <span class="cm-number">467</span>, <span class="cm-number">577</span>, <span class="cm-number">479</span>, <span class="cm-number">641</span>, <span class="cm-number">499</span>, <span class="cm-number">653</span>, <span class="cm-number">503</span>, <span class="cm-number">601</span>]), (<span class="cm-number">21117036798239547259422495410311750799350659014713</span>, [<span class="cm-number">1</span>, <span class="cm-number">487</span>, <span class="cm-number">593</span>, <span class="cm-number">541</span>, <span class="cm-number">571</span>, <span class="cm-number">449</span>, <span class="cm-number">601</span>, <span class="cm-number">487</span>, <span class="cm-number">643</span>, <span class="cm-number">521</span>, <span class="cm-number">617</span>, <span class="cm-number">463</span>, <span class="cm-number">619</span>, <span class="cm-number">457</span>, <span class="cm-number">659</span>, <span class="cm-number">503</span>, <span class="cm-number">563</span>, <span class="cm-number">541</span>, <span class="cm-number">659</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">13264396535897727373516274848984084788966136163607509</span>, [<span class="cm-number">1</span>, <span class="cm-number">503</span>, <span class="cm-number">613</span>, <span class="cm-number">461</span>, <span class="cm-number">659</span>, <span class="cm-number">461</span>, <span class="cm-number">659</span>, <span class="cm-number">563</span>, <span class="cm-number">569</span>, <span class="cm-number">461</span>, <span class="cm-number">647</span>, <span class="cm-number">521</span>, <span class="cm-number">653</span>, <span class="cm-number">523</span>, <span class="cm-number">607</span>, <span class="cm-number">449</span>, <span class="cm-number">631</span>, <span class="cm-number">541</span>, <span class="cm-number">631</span>, <span class="cm-number">467</span>]), (<span class="cm-number">12747441328106451238259995492136682019426946134615741</span>, [<span class="cm-number">1</span>, <span class="cm-number">461</span>, <span class="cm-number">593</span>, <span class="cm-number">503</span>, <span class="cm-number">619</span>, <span class="cm-number">479</span>, <span class="cm-number">653</span>, <span class="cm-number">521</span>, <span class="cm-number">659</span>, <span class="cm-number">563</span>, <span class="cm-number">641</span>, <span class="cm-number">541</span>, <span class="cm-number">617</span>, <span class="cm-number">457</span>, <span class="cm-number">571</span>, <span class="cm-number">499</span>, <span class="cm-number">607</span>, <span class="cm-number">439</span>, <span class="cm-number">599</span>, <span class="cm-number">557</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">5156986434929461169796816182749562003267982133556328449</span>, [<span class="cm-number">1</span>, <span class="cm-number">463</span>, <span class="cm-number">571</span>, <span class="cm-number">439</span>, <span class="cm-number">661</span>, <span class="cm-number">433</span>, <span class="cm-number">607</span>, <span class="cm-number">457</span>, <span class="cm-number">617</span>, <span class="cm-number">509</span>, <span class="cm-number">641</span>, <span class="cm-number">467</span>, <span class="cm-number">659</span>, <span class="cm-number">457</span>, <span class="cm-number">661</span>, <span class="cm-number">557</span>, <span class="cm-number">661</span>, <span class="cm-number">499</span>, <span class="cm-number">619</span>, <span class="cm-number">439</span>, <span class="cm-number">599</span>]), (<span class="cm-number">4889610655414411472658135732868818020771788946718976949</span>, [<span class="cm-number">1</span>, <span class="cm-number">503</span>, <span class="cm-number">673</span>, <span class="cm-number">487</span>, <span class="cm-number">569</span>, <span class="cm-number">479</span>, <span class="cm-number">617</span>, <span class="cm-number">491</span>, <span class="cm-number">653</span>, <span class="cm-number">457</span>, <span class="cm-number">613</span>, <span class="cm-number">461</span>, <span class="cm-number">563</span>, <span class="cm-number">479</span>, <span class="cm-number">673</span>, <span class="cm-number">509</span>, <span class="cm-number">569</span>, <span class="cm-number">433</span>, <span class="cm-number">571</span>, <span class="cm-number">487</span>, <span class="cm-number">673</span>])]), (<span class="cm-number">2</span>, [(<span class="cm-number">1142761</span>, [<span class="cm-number">1</span>, <span class="cm-number">1069</span>, <span class="cm-number">1069</span>]), (<span class="cm-number">1136347</span>, [<span class="cm-number">1</span>, <span class="cm-number">1063</span>, <span class="cm-number">1069</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">1228276303</span>, [<span class="cm-number">1</span>, <span class="cm-number">1063</span>, <span class="cm-number">1087</span>, <span class="cm-number">1063</span>]), (<span class="cm-number">1235209189</span>, [<span class="cm-number">1</span>, <span class="cm-number">1063</span>, <span class="cm-number">1087</span>, <span class="cm-number">1069</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">1334677393237</span>, [<span class="cm-number">1</span>, <span class="cm-number">1063</span>, <span class="cm-number">1093</span>, <span class="cm-number">1051</span>, <span class="cm-number">1093</span>]), (<span class="cm-number">1332235165619</span>, [<span class="cm-number">1</span>, <span class="cm-number">1063</span>, <span class="cm-number">1091</span>, <span class="cm-number">1051</span>, <span class="cm-number">1093</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">1402629106625399</span>, [<span class="cm-number">1</span>, <span class="cm-number">1063</span>, <span class="cm-number">1091</span>, <span class="cm-number">1049</span>, <span class="cm-number">1097</span>, <span class="cm-number">1051</span>]), (<span class="cm-number">1418937909399427</span>, [<span class="cm-number">1</span>, <span class="cm-number">1069</span>, <span class="cm-number">1093</span>, <span class="cm-number">1051</span>, <span class="cm-number">1087</span>, <span class="cm-number">1063</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">1597798805102350891</span>, [<span class="cm-number">1</span>, <span class="cm-number">1069</span>, <span class="cm-number">1093</span>, <span class="cm-number">1063</span>, <span class="cm-number">1097</span>, <span class="cm-number">1069</span>, <span class="cm-number">1097</span>]), (<span class="cm-number">1520005874460943489</span>, [<span class="cm-number">1</span>, <span class="cm-number">1069</span>, <span class="cm-number">1069</span>, <span class="cm-number">1061</span>, <span class="cm-number">1087</span>, <span class="cm-number">1061</span>, <span class="cm-number">1087</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">1603168127794699290541</span>, [<span class="cm-number">1</span>, <span class="cm-number">1063</span>, <span class="cm-number">1103</span>, <span class="cm-number">1051</span>, <span class="cm-number">1109</span>, <span class="cm-number">1033</span>, <span class="cm-number">1093</span>, <span class="cm-number">1039</span>]), (<span class="cm-number">1612842382725010293011</span>, [<span class="cm-number">1</span>, <span class="cm-number">1033</span>, <span class="cm-number">1097</span>, <span class="cm-number">1069</span>, <span class="cm-number">1091</span>, <span class="cm-number">1049</span>, <span class="cm-number">1109</span>, <span class="cm-number">1049</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">1718598263073818570384887</span>, [<span class="cm-number">1</span>, <span class="cm-number">1031</span>, <span class="cm-number">1097</span>, <span class="cm-number">1069</span>, <span class="cm-number">1091</span>, <span class="cm-number">1063</span>, <span class="cm-number">1093</span>, <span class="cm-number">1049</span>, <span class="cm-number">1069</span>]), (<span class="cm-number">1757529589061923699888087</span>, [<span class="cm-number">1</span>, <span class="cm-number">1049</span>, <span class="cm-number">1097</span>, <span class="cm-number">1063</span>, <span class="cm-number">1087</span>, <span class="cm-number">1039</span>, <span class="cm-number">1093</span>, <span class="cm-number">1061</span>, <span class="cm-number">1097</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">1824913317720944628804183853</span>, [<span class="cm-number">1</span>, <span class="cm-number">1051</span>, <span class="cm-number">1109</span>, <span class="cm-number">1033</span>, <span class="cm-number">1097</span>, <span class="cm-number">1063</span>, <span class="cm-number">1091</span>, <span class="cm-number">1051</span>, <span class="cm-number">1091</span>, <span class="cm-number">1039</span>]), (<span class="cm-number">1766115859678499030090922409</span>, [<span class="cm-number">1</span>, <span class="cm-number">1061</span>, <span class="cm-number">1091</span>, <span class="cm-number">1063</span>, <span class="cm-number">1069</span>, <span class="cm-number">1033</span>, <span class="cm-number">1091</span>, <span class="cm-number">1039</span>, <span class="cm-number">1091</span>, <span class="cm-number">1051</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">2044146205511432560530644353003</span>, [<span class="cm-number">1</span>, <span class="cm-number">1061</span>, <span class="cm-number">1123</span>, <span class="cm-number">1019</span>, <span class="cm-number">1093</span>, <span class="cm-number">1069</span>, <span class="cm-number">1087</span>, <span class="cm-number">1039</span>, <span class="cm-number">1109</span>, <span class="cm-number">1019</span>, <span class="cm-number">1129</span>]), (<span class="cm-number">2023343565385497662573424982849</span>, [<span class="cm-number">1</span>, <span class="cm-number">1049</span>, <span class="cm-number">1069</span>, <span class="cm-number">1049</span>, <span class="cm-number">1129</span>, <span class="cm-number">1051</span>, <span class="cm-number">1117</span>, <span class="cm-number">1039</span>, <span class="cm-number">1093</span>, <span class="cm-number">1069</span>, <span class="cm-number">1069</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">2138146560514888959638653203727999</span>, [<span class="cm-number">1</span>, <span class="cm-number">1033</span>, <span class="cm-number">1093</span>, <span class="cm-number">1033</span>, <span class="cm-number">1117</span>, <span class="cm-number">1049</span>, <span class="cm-number">1093</span>, <span class="cm-number">1061</span>, <span class="cm-number">1129</span>, <span class="cm-number">1069</span>, <span class="cm-number">1097</span>, <span class="cm-number">1019</span>]), (<span class="cm-number">2047088725942481982714204169717471</span>, [<span class="cm-number">1</span>, <span class="cm-number">1061</span>, <span class="cm-number">1123</span>, <span class="cm-number">1031</span>, <span class="cm-number">1123</span>, <span class="cm-number">1019</span>, <span class="cm-number">1069</span>, <span class="cm-number">1051</span>, <span class="cm-number">1069</span>, <span class="cm-number">1061</span>, <span class="cm-number">1069</span>, <span class="cm-number">1069</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">2353583186144653289501714282050393409</span>, [<span class="cm-number">1</span>, <span class="cm-number">1049</span>, <span class="cm-number">1087</span>, <span class="cm-number">1021</span>, <span class="cm-number">1153</span>, <span class="cm-number">1049</span>, <span class="cm-number">1103</span>, <span class="cm-number">1051</span>, <span class="cm-number">1093</span>, <span class="cm-number">1051</span>, <span class="cm-number">1091</span>, <span class="cm-number">1019</span>, <span class="cm-number">1129</span>]), (<span class="cm-number">2275159985769061830987258016478931859</span>, [<span class="cm-number">1</span>, <span class="cm-number">1063</span>, <span class="cm-number">1097</span>, <span class="cm-number">1031</span>, <span class="cm-number">1103</span>, <span class="cm-number">1063</span>, <span class="cm-number">1103</span>, <span class="cm-number">1021</span>, <span class="cm-number">1091</span>, <span class="cm-number">1051</span>, <span class="cm-number">1109</span>, <span class="cm-number">1009</span>, <span class="cm-number">1117</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">2492097436003839540838892538978283235653</span>, [<span class="cm-number">1</span>, <span class="cm-number">1039</span>, <span class="cm-number">1103</span>, <span class="cm-number">1039</span>, <span class="cm-number">1117</span>, <span class="cm-number">1039</span>, <span class="cm-number">1123</span>, <span class="cm-number">1051</span>, <span class="cm-number">1093</span>, <span class="cm-number">1019</span>, <span class="cm-number">1069</span>, <span class="cm-number">1069</span>, <span class="cm-number">1123</span>, <span class="cm-number">1069</span>]), (<span class="cm-number">2083445330217309788943292916425765482277</span>, [<span class="cm-number">1</span>, <span class="cm-number">1039</span>, <span class="cm-number">1091</span>, <span class="cm-number">1013</span>, <span class="cm-number">1123</span>, <span class="cm-number">1031</span>, <span class="cm-number">1097</span>, <span class="cm-number">1033</span>, <span class="cm-number">1093</span>, <span class="cm-number">1019</span>, <span class="cm-number">1123</span>, <span class="cm-number">1021</span>, <span class="cm-number">1069</span>, <span class="cm-number">1013</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">3026567709449547952359333008027322113358461</span>, [<span class="cm-number">1</span>, <span class="cm-number">1061</span>, <span class="cm-number">1117</span>, <span class="cm-number">1033</span>, <span class="cm-number">1109</span>, <span class="cm-number">1061</span>, <span class="cm-number">1153</span>, <span class="cm-number">1013</span>, <span class="cm-number">1117</span>, <span class="cm-number">1051</span>, <span class="cm-number">1087</span>, <span class="cm-number">1013</span>, <span class="cm-number">1153</span>, <span class="cm-number">1069</span>, <span class="cm-number">1129</span>]), (<span class="cm-number">2882599589709110224249733588127180959062163</span>, [<span class="cm-number">1</span>, <span class="cm-number">1013</span>, <span class="cm-number">1097</span>, <span class="cm-number">1033</span>, <span class="cm-number">1109</span>, <span class="cm-number">1063</span>, <span class="cm-number">1123</span>, <span class="cm-number">1063</span>, <span class="cm-number">1087</span>, <span class="cm-number">1063</span>, <span class="cm-number">1151</span>, <span class="cm-number">1061</span>, <span class="cm-number">1109</span>, <span class="cm-number">1049</span>, <span class="cm-number">1087</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">2784085616184428897659292570343329087575063793</span>, [<span class="cm-number">1</span>, <span class="cm-number">1039</span>, <span class="cm-number">1163</span>, <span class="cm-number">997</span>, <span class="cm-number">1087</span>, <span class="cm-number">1009</span>, <span class="cm-number">1109</span>, <span class="cm-number">1009</span>, <span class="cm-number">1151</span>, <span class="cm-number">997</span>, <span class="cm-number">1093</span>, <span class="cm-number">1031</span>, <span class="cm-number">1181</span>, <span class="cm-number">1039</span>, <span class="cm-number">1151</span>, <span class="cm-number">1031</span>]), (<span class="cm-number">2623289042257046506415381707180861391182863277</span>, [<span class="cm-number">1</span>, <span class="cm-number">991</span>, <span class="cm-number">1091</span>, <span class="cm-number">997</span>, <span class="cm-number">1129</span>, <span class="cm-number">1069</span>, <span class="cm-number">1163</span>, <span class="cm-number">1049</span>, <span class="cm-number">1093</span>, <span class="cm-number">1021</span>, <span class="cm-number">1093</span>, <span class="cm-number">1019</span>, <span class="cm-number">1091</span>, <span class="cm-number">1051</span>, <span class="cm-number">1091</span>, <span class="cm-number">1063</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">3309498666165362973713994449803606500505059524969</span>, [<span class="cm-number">1</span>, <span class="cm-number">1051</span>, <span class="cm-number">1103</span>, <span class="cm-number">1049</span>, <span class="cm-number">1151</span>, <span class="cm-number">1021</span>, <span class="cm-number">1129</span>, <span class="cm-number">1063</span>, <span class="cm-number">1109</span>, <span class="cm-number">1063</span>, <span class="cm-number">1103</span>, <span class="cm-number">1009</span>, <span class="cm-number">1151</span>, <span class="cm-number">983</span>, <span class="cm-number">1091</span>, <span class="cm-number">1061</span>, <span class="cm-number">1123</span>]), (<span class="cm-number">3007559565989492190685682333633142659992222889983</span>, [<span class="cm-number">1</span>, <span class="cm-number">991</span>, <span class="cm-number">1153</span>, <span class="cm-number">1013</span>, <span class="cm-number">1103</span>, <span class="cm-number">1069</span>, <span class="cm-number">1109</span>, <span class="cm-number">1039</span>, <span class="cm-number">1151</span>, <span class="cm-number">983</span>, <span class="cm-number">1153</span>, <span class="cm-number">1051</span>, <span class="cm-number">1123</span>, <span class="cm-number">983</span>, <span class="cm-number">1109</span>, <span class="cm-number">1033</span>, <span class="cm-number">1103</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">3337430374387820187766404846559737967472421425519377</span>, [<span class="cm-number">1</span>, <span class="cm-number">1061</span>, <span class="cm-number">1193</span>, <span class="cm-number">1009</span>, <span class="cm-number">1171</span>, <span class="cm-number">1069</span>, <span class="cm-number">1097</span>, <span class="cm-number">971</span>, <span class="cm-number">1093</span>, <span class="cm-number">1061</span>, <span class="cm-number">1091</span>, <span class="cm-number">1019</span>, <span class="cm-number">1187</span>, <span class="cm-number">1033</span>, <span class="cm-number">1109</span>, <span class="cm-number">983</span>, <span class="cm-number">1103</span>, <span class="cm-number">1031</span>]), (<span class="cm-number">3009463694645099549214603933901886663401681206188531</span>, [<span class="cm-number">1</span>, <span class="cm-number">1031</span>, <span class="cm-number">1091</span>, <span class="cm-number">1039</span>, <span class="cm-number">1163</span>, <span class="cm-number">1019</span>, <span class="cm-number">1151</span>, <span class="cm-number">1061</span>, <span class="cm-number">1129</span>, <span class="cm-number">1069</span>, <span class="cm-number">1123</span>, <span class="cm-number">1013</span>, <span class="cm-number">1069</span>, <span class="cm-number">977</span>, <span class="cm-number">1109</span>, <span class="cm-number">1019</span>, <span class="cm-number">1117</span>, <span class="cm-number">983</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">3205474017206716910525999363197509384671530933913244179</span>, [<span class="cm-number">1</span>, <span class="cm-number">1069</span>, <span class="cm-number">1093</span>, <span class="cm-number">991</span>, <span class="cm-number">1163</span>, <span class="cm-number">991</span>, <span class="cm-number">1103</span>, <span class="cm-number">971</span>, <span class="cm-number">1087</span>, <span class="cm-number">1061</span>, <span class="cm-number">1069</span>, <span class="cm-number">1039</span>, <span class="cm-number">1087</span>, <span class="cm-number">1063</span>, <span class="cm-number">1091</span>, <span class="cm-number">1019</span>, <span class="cm-number">1087</span>, <span class="cm-number">1051</span>, <span class="cm-number">1193</span>]), (<span class="cm-number">3838143684519378674624606833998765033603759339155011169</span>, [<span class="cm-number">1</span>, <span class="cm-number">1049</span>, <span class="cm-number">1097</span>, <span class="cm-number">991</span>, <span class="cm-number">1193</span>, <span class="cm-number">1021</span>, <span class="cm-number">1151</span>, <span class="cm-number">1069</span>, <span class="cm-number">1093</span>, <span class="cm-number">1021</span>, <span class="cm-number">1181</span>, <span class="cm-number">977</span>, <span class="cm-number">1103</span>, <span class="cm-number">1069</span>, <span class="cm-number">1093</span>, <span class="cm-number">1061</span>, <span class="cm-number">1201</span>, <span class="cm-number">977</span>, <span class="cm-number">1087</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">3630505250586537380826457274577452415857434807088548791649</span>, [<span class="cm-number">1</span>, <span class="cm-number">1021</span>, <span class="cm-number">1109</span>, <span class="cm-number">1009</span>, <span class="cm-number">1153</span>, <span class="cm-number">967</span>, <span class="cm-number">1163</span>, <span class="cm-number">1009</span>, <span class="cm-number">1123</span>, <span class="cm-number">953</span>, <span class="cm-number">1201</span>, <span class="cm-number">1021</span>, <span class="cm-number">1093</span>, <span class="cm-number">997</span>, <span class="cm-number">1171</span>, <span class="cm-number">1033</span>, <span class="cm-number">1109</span>, <span class="cm-number">1019</span>, <span class="cm-number">1171</span>, <span class="cm-number">1061</span>]), (<span class="cm-number">3328634472598003887835597528525093350883513224862826212061</span>, [<span class="cm-number">1</span>, <span class="cm-number">971</span>, <span class="cm-number">1091</span>, <span class="cm-number">1039</span>, <span class="cm-number">1201</span>, <span class="cm-number">1031</span>, <span class="cm-number">1213</span>, <span class="cm-number">1061</span>, <span class="cm-number">1153</span>, <span class="cm-number">997</span>, <span class="cm-number">1103</span>, <span class="cm-number">953</span>, <span class="cm-number">1153</span>, <span class="cm-number">977</span>, <span class="cm-number">1091</span>, <span class="cm-number">997</span>, <span class="cm-number">1097</span>, <span class="cm-number">1039</span>, <span class="cm-number">1151</span>, <span class="cm-number">977</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">3055878534232886887533008275157224451264024556815840381056001</span>, [<span class="cm-number">1</span>, <span class="cm-number">977</span>, <span class="cm-number">1117</span>, <span class="cm-number">977</span>, <span class="cm-number">1117</span>, <span class="cm-number">983</span>, <span class="cm-number">1187</span>, <span class="cm-number">971</span>, <span class="cm-number">1093</span>, <span class="cm-number">971</span>, <span class="cm-number">1087</span>, <span class="cm-number">1069</span>, <span class="cm-number">1109</span>, <span class="cm-number">953</span>, <span class="cm-number">1097</span>, <span class="cm-number">1051</span>, <span class="cm-number">1093</span>, <span class="cm-number">1069</span>, <span class="cm-number">1193</span>, <span class="cm-number">991</span>, <span class="cm-number">1091</span>]), (<span class="cm-number">4003992205233808349893596129588063075763059241015453817988877</span>, [<span class="cm-number">1</span>, <span class="cm-number">1033</span>, <span class="cm-number">1069</span>, <span class="cm-number">1031</span>, <span class="cm-number">1163</span>, <span class="cm-number">997</span>, <span class="cm-number">1187</span>, <span class="cm-number">953</span>, <span class="cm-number">1087</span>, <span class="cm-number">1039</span>, <span class="cm-number">1129</span>, <span class="cm-number">1049</span>, <span class="cm-number">1069</span>, <span class="cm-number">1031</span>, <span class="cm-number">1213</span>, <span class="cm-number">1013</span>, <span class="cm-number">1109</span>, <span class="cm-number">1039</span>, <span class="cm-number">1181</span>, <span class="cm-number">997</span>, <span class="cm-number">1091</span>])])])</code><code></code><code><span class="cm-variable">largeClosePrimes</span> = (<span class="cm-string">"Large close primes"</span>, [(<span class="cm-number">2</span>, [(<span class="cm-number">865712929</span>, [<span class="cm-number">1</span>, <span class="cm-number">29423</span>, <span class="cm-number">29423</span>]), (<span class="cm-number">865712929</span>, [<span class="cm-number">1</span>, <span class="cm-number">29423</span>, <span class="cm-number">29423</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">25454551017407</span>, [<span class="cm-number">1</span>, <span class="cm-number">29411</span>, <span class="cm-number">29437</span>, <span class="cm-number">29401</span>]), (<span class="cm-number">25454551017407</span>, [<span class="cm-number">1</span>, <span class="cm-number">29401</span>, <span class="cm-number">29437</span>, <span class="cm-number">29411</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">748949254585166161</span>, [<span class="cm-number">1</span>, <span class="cm-number">29411</span>, <span class="cm-number">29437</span>, <span class="cm-number">29401</span>, <span class="cm-number">29423</span>]), (<span class="cm-number">749815315379647091</span>, [<span class="cm-number">1</span>, <span class="cm-number">29423</span>, <span class="cm-number">29429</span>, <span class="cm-number">29411</span>, <span class="cm-number">29443</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">22042301982094473596467</span>, [<span class="cm-number">1</span>, <span class="cm-number">29389</span>, <span class="cm-number">29437</span>, <span class="cm-number">29401</span>, <span class="cm-number">29453</span>, <span class="cm-number">29423</span>]), (<span class="cm-number">22037819908204262231501</span>, [<span class="cm-number">1</span>, <span class="cm-number">29411</span>, <span class="cm-number">29453</span>, <span class="cm-number">29399</span>, <span class="cm-number">29423</span>, <span class="cm-number">29411</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">647625188777536523967038123</span>, [<span class="cm-number">1</span>, <span class="cm-number">29389</span>, <span class="cm-number">29437</span>, <span class="cm-number">29387</span>, <span class="cm-number">29429</span>, <span class="cm-number">29399</span>, <span class="cm-number">29443</span>]), (<span class="cm-number">648727214546027169234119857</span>, [<span class="cm-number">1</span>, <span class="cm-number">29411</span>, <span class="cm-number">29443</span>, <span class="cm-number">29401</span>, <span class="cm-number">29443</span>, <span class="cm-number">29399</span>, <span class="cm-number">29437</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">19047305219120345130931560910901</span>, [<span class="cm-number">1</span>, <span class="cm-number">29401</span>, <span class="cm-number">29437</span>, <span class="cm-number">29399</span>, <span class="cm-number">29437</span>, <span class="cm-number">29401</span>, <span class="cm-number">29437</span>, <span class="cm-number">29383</span>]), (<span class="cm-number">19122506962371043582760416155121</span>, [<span class="cm-number">1</span>, <span class="cm-number">29423</span>, <span class="cm-number">29473</span>, <span class="cm-number">29399</span>, <span class="cm-number">29483</span>, <span class="cm-number">29399</span>, <span class="cm-number">29423</span>, <span class="cm-number">29411</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">562143099156355627345058252853193301</span>, [<span class="cm-number">1</span>, <span class="cm-number">29423</span>, <span class="cm-number">29443</span>, <span class="cm-number">29363</span>, <span class="cm-number">29483</span>, <span class="cm-number">29411</span>, <span class="cm-number">29429</span>, <span class="cm-number">29383</span>, <span class="cm-number">29473</span>]), (<span class="cm-number">562829942618851054761838008402259709</span>, [<span class="cm-number">1</span>, <span class="cm-number">29363</span>, <span class="cm-number">29483</span>, <span class="cm-number">29401</span>, <span class="cm-number">29501</span>, <span class="cm-number">29401</span>, <span class="cm-number">29443</span>, <span class="cm-number">29399</span>, <span class="cm-number">29453</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">16549917550139176331089539530499288572021</span>, [<span class="cm-number">1</span>, <span class="cm-number">29389</span>, <span class="cm-number">29437</span>, <span class="cm-number">29423</span>, <span class="cm-number">29501</span>, <span class="cm-number">29347</span>, <span class="cm-number">29443</span>, <span class="cm-number">29383</span>, <span class="cm-number">29527</span>, <span class="cm-number">29399</span>]), (<span class="cm-number">16494942489066181415143190513104903497931</span>, [<span class="cm-number">1</span>, <span class="cm-number">29387</span>, <span class="cm-number">29443</span>, <span class="cm-number">29387</span>, <span class="cm-number">29501</span>, <span class="cm-number">29383</span>, <span class="cm-number">29473</span>, <span class="cm-number">29347</span>, <span class="cm-number">29443</span>, <span class="cm-number">29387</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">483818446645921223916066574454799803265926869</span>, [<span class="cm-number">1</span>, <span class="cm-number">29399</span>, <span class="cm-number">29443</span>, <span class="cm-number">29383</span>, <span class="cm-number">29423</span>, <span class="cm-number">29411</span>, <span class="cm-number">29423</span>, <span class="cm-number">29347</span>, <span class="cm-number">29443</span>, <span class="cm-number">29387</span>, <span class="cm-number">29423</span>]), (<span class="cm-number">490367376997778494257114997680532736329945909</span>, [<span class="cm-number">1</span>, <span class="cm-number">29387</span>, <span class="cm-number">29483</span>, <span class="cm-number">29401</span>, <span class="cm-number">29501</span>, <span class="cm-number">29423</span>, <span class="cm-number">29531</span>, <span class="cm-number">29389</span>, <span class="cm-number">29501</span>, <span class="cm-number">29389</span>, <span class="cm-number">29473</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">14298066897873419916925610084596585019684404299577</span>, [<span class="cm-number">1</span>, <span class="cm-number">29363</span>, <span class="cm-number">29437</span>, <span class="cm-number">29339</span>, <span class="cm-number">29443</span>, <span class="cm-number">29333</span>, <span class="cm-number">29531</span>, <span class="cm-number">29411</span>, <span class="cm-number">29537</span>, <span class="cm-number">29347</span>, <span class="cm-number">29483</span>, <span class="cm-number">29411</span>]), (<span class="cm-number">14320484452966964226830269428065419115967575823307</span>, [<span class="cm-number">1</span>, <span class="cm-number">29399</span>, <span class="cm-number">29527</span>, <span class="cm-number">29389</span>, <span class="cm-number">29537</span>, <span class="cm-number">29399</span>, <span class="cm-number">29501</span>, <span class="cm-number">29383</span>, <span class="cm-number">29423</span>, <span class="cm-number">29347</span>, <span class="cm-number">29443</span>, <span class="cm-number">29333</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">422988549701602021708072490756282881304545627458255859</span>, [<span class="cm-number">1</span>, <span class="cm-number">29363</span>, <span class="cm-number">29453</span>, <span class="cm-number">29401</span>, <span class="cm-number">29453</span>, <span class="cm-number">29389</span>, <span class="cm-number">29567</span>, <span class="cm-number">29423</span>, <span class="cm-number">29531</span>, <span class="cm-number">29363</span>, <span class="cm-number">29429</span>, <span class="cm-number">29423</span>, <span class="cm-number">29423</span>]), (<span class="cm-number">423761271786225112222217862150288564714519017380395689</span>, [<span class="cm-number">1</span>, <span class="cm-number">29411</span>, <span class="cm-number">29537</span>, <span class="cm-number">29401</span>, <span class="cm-number">29483</span>, <span class="cm-number">29383</span>, <span class="cm-number">29537</span>, <span class="cm-number">29339</span>, <span class="cm-number">29473</span>, <span class="cm-number">29411</span>, <span class="cm-number">29527</span>, <span class="cm-number">29333</span>, <span class="cm-number">29437</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">12293239381581520625704123339024990495993226167931711051791</span>, [<span class="cm-number">1</span>, <span class="cm-number">29363</span>, <span class="cm-number">29443</span>, <span class="cm-number">29347</span>, <span class="cm-number">29537</span>, <span class="cm-number">29401</span>, <span class="cm-number">29423</span>, <span class="cm-number">29347</span>, <span class="cm-number">29531</span>, <span class="cm-number">29311</span>, <span class="cm-number">29423</span>, <span class="cm-number">29311</span>, <span class="cm-number">29443</span>, <span class="cm-number">29399</span>]), (<span class="cm-number">12451198379061059764624491385115885732898863931874087138687</span>, [<span class="cm-number">1</span>, <span class="cm-number">29363</span>, <span class="cm-number">29569</span>, <span class="cm-number">29347</span>, <span class="cm-number">29429</span>, <span class="cm-number">29339</span>, <span class="cm-number">29567</span>, <span class="cm-number">29423</span>, <span class="cm-number">29483</span>, <span class="cm-number">29363</span>, <span class="cm-number">29527</span>, <span class="cm-number">29423</span>, <span class="cm-number">29483</span>, <span class="cm-number">29339</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">366249931054054855918254086215217231707917666117006778977380909</span>, [<span class="cm-number">1</span>, <span class="cm-number">29347</span>, <span class="cm-number">29569</span>, <span class="cm-number">29423</span>, <span class="cm-number">29443</span>, <span class="cm-number">29333</span>, <span class="cm-number">29527</span>, <span class="cm-number">29387</span>, <span class="cm-number">29567</span>, <span class="cm-number">29399</span>, <span class="cm-number">29429</span>, <span class="cm-number">29327</span>, <span class="cm-number">29527</span>, <span class="cm-number">29339</span>, <span class="cm-number">29453</span>]), (<span class="cm-number">367896370789011152412608731303715436991394396657947014758999489</span>, [<span class="cm-number">1</span>, <span class="cm-number">29303</span>, <span class="cm-number">29501</span>, <span class="cm-number">29399</span>, <span class="cm-number">29537</span>, <span class="cm-number">29387</span>, <span class="cm-number">29567</span>, <span class="cm-number">29389</span>, <span class="cm-number">29473</span>, <span class="cm-number">29311</span>, <span class="cm-number">29527</span>, <span class="cm-number">29399</span>, <span class="cm-number">29483</span>, <span class="cm-number">29399</span>, <span class="cm-number">29527</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">10644894953985381764687625074094294366413635557060109122838940666171</span>, [<span class="cm-number">1</span>, <span class="cm-number">29297</span>, <span class="cm-number">29443</span>, <span class="cm-number">29333</span>, <span class="cm-number">29453</span>, <span class="cm-number">29311</span>, <span class="cm-number">29527</span>, <span class="cm-number">29311</span>, <span class="cm-number">29527</span>, <span class="cm-number">29387</span>, <span class="cm-number">29527</span>, <span class="cm-number">29303</span>, <span class="cm-number">29567</span>, <span class="cm-number">29383</span>, <span class="cm-number">29453</span>, <span class="cm-number">29311</span>]), (<span class="cm-number">10685620363611581349723712362560065711947054666446884334157352103099</span>, [<span class="cm-number">1</span>, <span class="cm-number">29399</span>, <span class="cm-number">29453</span>, <span class="cm-number">29399</span>, <span class="cm-number">29531</span>, <span class="cm-number">29399</span>, <span class="cm-number">29443</span>, <span class="cm-number">29311</span>, <span class="cm-number">29453</span>, <span class="cm-number">29297</span>, <span class="cm-number">29531</span>, <span class="cm-number">29297</span>, <span class="cm-number">29573</span>, <span class="cm-number">29389</span>, <span class="cm-number">29473</span>, <span class="cm-number">29297</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">318513253747377908211654512553364042173627257881988069391587768229583691</span>, [<span class="cm-number">1</span>, <span class="cm-number">29423</span>, <span class="cm-number">29501</span>, <span class="cm-number">29423</span>, <span class="cm-number">29537</span>, <span class="cm-number">29401</span>, <span class="cm-number">29573</span>, <span class="cm-number">29399</span>, <span class="cm-number">29501</span>, <span class="cm-number">29311</span>, <span class="cm-number">29429</span>, <span class="cm-number">29363</span>, <span class="cm-number">29483</span>, <span class="cm-number">29303</span>, <span class="cm-number">29423</span>, <span class="cm-number">29411</span>, <span class="cm-number">29569</span>]), (<span class="cm-number">318010433938975531069970467031819358831170737214531625647265186479508697</span>, [<span class="cm-number">1</span>, <span class="cm-number">29347</span>, <span class="cm-number">29573</span>, <span class="cm-number">29327</span>, <span class="cm-number">29423</span>, <span class="cm-number">29333</span>, <span class="cm-number">29501</span>, <span class="cm-number">29327</span>, <span class="cm-number">29443</span>, <span class="cm-number">29387</span>, <span class="cm-number">29581</span>, <span class="cm-number">29423</span>, <span class="cm-number">29573</span>, <span class="cm-number">29399</span>, <span class="cm-number">29537</span>, <span class="cm-number">29347</span>, <span class="cm-number">29483</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">9274924513456323558811589191670119099925691334742148666185537727889128732529</span>, [<span class="cm-number">1</span>, <span class="cm-number">29423</span>, <span class="cm-number">29599</span>, <span class="cm-number">29269</span>, <span class="cm-number">29531</span>, <span class="cm-number">29339</span>, <span class="cm-number">29483</span>, <span class="cm-number">29333</span>, <span class="cm-number">29443</span>, <span class="cm-number">29333</span>, <span class="cm-number">29537</span>, <span class="cm-number">29387</span>, <span class="cm-number">29443</span>, <span class="cm-number">29399</span>, <span class="cm-number">29453</span>, <span class="cm-number">29311</span>, <span class="cm-number">29599</span>, <span class="cm-number">29287</span>]), (<span class="cm-number">9306534270861220085725248728885553486460012328605762858906957840590239358497</span>, [<span class="cm-number">1</span>, <span class="cm-number">29389</span>, <span class="cm-number">29567</span>, <span class="cm-number">29363</span>, <span class="cm-number">29423</span>, <span class="cm-number">29269</span>, <span class="cm-number">29483</span>, <span class="cm-number">29423</span>, <span class="cm-number">29437</span>, <span class="cm-number">29363</span>, <span class="cm-number">29567</span>, <span class="cm-number">29333</span>, <span class="cm-number">29581</span>, <span class="cm-number">29399</span>, <span class="cm-number">29527</span>, <span class="cm-number">29339</span>, <span class="cm-number">29537</span>, <span class="cm-number">29269</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">273447555319424943187398893784654666306360710336455357136751751809036563020145951</span>, [<span class="cm-number">1</span>, <span class="cm-number">29389</span>, <span class="cm-number">29473</span>, <span class="cm-number">29387</span>, <span class="cm-number">29501</span>, <span class="cm-number">29327</span>, <span class="cm-number">29611</span>, <span class="cm-number">29327</span>, <span class="cm-number">29537</span>, <span class="cm-number">29339</span>, <span class="cm-number">29537</span>, <span class="cm-number">29251</span>, <span class="cm-number">29423</span>, <span class="cm-number">29423</span>, <span class="cm-number">29473</span>, <span class="cm-number">29251</span>, <span class="cm-number">29527</span>, <span class="cm-number">29303</span>, <span class="cm-number">29573</span>]), (<span class="cm-number">273777364729800462429940443288730515555346668606062214085557317040304257088157639</span>, [<span class="cm-number">1</span>, <span class="cm-number">29423</span>, <span class="cm-number">29429</span>, <span class="cm-number">29287</span>, <span class="cm-number">29611</span>, <span class="cm-number">29311</span>, <span class="cm-number">29531</span>, <span class="cm-number">29347</span>, <span class="cm-number">29581</span>, <span class="cm-number">29303</span>, <span class="cm-number">29429</span>, <span class="cm-number">29333</span>, <span class="cm-number">29531</span>, <span class="cm-number">29287</span>, <span class="cm-number">29501</span>, <span class="cm-number">29327</span>, <span class="cm-number">29587</span>, <span class="cm-number">29303</span>, <span class="cm-number">29567</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">8092813032034752870137381401915653543865243380513951917556601612686501897877155480529</span>, [<span class="cm-number">1</span>, <span class="cm-number">29383</span>, <span class="cm-number">29611</span>, <span class="cm-number">29389</span>, <span class="cm-number">29581</span>, <span class="cm-number">29287</span>, <span class="cm-number">29531</span>, <span class="cm-number">29401</span>, <span class="cm-number">29501</span>, <span class="cm-number">29297</span>, <span class="cm-number">29453</span>, <span class="cm-number">29327</span>, <span class="cm-number">29611</span>, <span class="cm-number">29411</span>, <span class="cm-number">29453</span>, <span class="cm-number">29383</span>, <span class="cm-number">29453</span>, <span class="cm-number">29387</span>, <span class="cm-number">29537</span>, <span class="cm-number">29251</span>]), (<span class="cm-number">8101465846655008560733288209269117691483784364549949754676618472732876797621084547241</span>, [<span class="cm-number">1</span>, <span class="cm-number">29399</span>, <span class="cm-number">29573</span>, <span class="cm-number">29339</span>, <span class="cm-number">29567</span>, <span class="cm-number">29251</span>, <span class="cm-number">29423</span>, <span class="cm-number">29347</span>, <span class="cm-number">29443</span>, <span class="cm-number">29389</span>, <span class="cm-number">29573</span>, <span class="cm-number">29333</span>, <span class="cm-number">29567</span>, <span class="cm-number">29347</span>, <span class="cm-number">29573</span>, <span class="cm-number">29327</span>, <span class="cm-number">29501</span>, <span class="cm-number">29401</span>, <span class="cm-number">29629</span>, <span class="cm-number">29297</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">234378162774272083465819585268149691307105050863628353375341774554968068447199162285443833</span>, [<span class="cm-number">1</span>, <span class="cm-number">29287</span>, <span class="cm-number">29483</span>, <span class="cm-number">29251</span>, <span class="cm-number">29453</span>, <span class="cm-number">29389</span>, <span class="cm-number">29483</span>, <span class="cm-number">29339</span>, <span class="cm-number">29501</span>, <span class="cm-number">29333</span>, <span class="cm-number">29537</span>, <span class="cm-number">29269</span>, <span class="cm-number">29437</span>, <span class="cm-number">29339</span>, <span class="cm-number">29501</span>, <span class="cm-number">29297</span>, <span class="cm-number">29453</span>, <span class="cm-number">29401</span>, <span class="cm-number">29537</span>, <span class="cm-number">29383</span>, <span class="cm-number">29531</span>]), (<span class="cm-number">234135764547596304524147681265747540452786682840147054666671262723031988066482413301913669</span>, [<span class="cm-number">1</span>, <span class="cm-number">29339</span>, <span class="cm-number">29531</span>, <span class="cm-number">29297</span>, <span class="cm-number">29567</span>, <span class="cm-number">29231</span>, <span class="cm-number">29567</span>, <span class="cm-number">29297</span>, <span class="cm-number">29423</span>, <span class="cm-number">29339</span>, <span class="cm-number">29443</span>, <span class="cm-number">29231</span>, <span class="cm-number">29587</span>, <span class="cm-number">29311</span>, <span class="cm-number">29567</span>, <span class="cm-number">29311</span>, <span class="cm-number">29599</span>, <span class="cm-number">29399</span>, <span class="cm-number">29453</span>, <span class="cm-number">29231</span>, <span class="cm-number">29453</span>])]), (<span class="cm-number">2</span>, [(<span class="cm-number">1621270081</span>, [<span class="cm-number">1</span>, <span class="cm-number">40253</span>, <span class="cm-number">40277</span>]), (<span class="cm-number">1621270081</span>, [<span class="cm-number">1</span>, <span class="cm-number">40253</span>, <span class="cm-number">40277</span>])]), (<span class="cm-number">3</span>, [(<span class="cm-number">65260984570493</span>, [<span class="cm-number">1</span>, <span class="cm-number">40253</span>, <span class="cm-number">40277</span>, <span class="cm-number">40253</span>]), (<span class="cm-number">65241529329521</span>, [<span class="cm-number">1</span>, <span class="cm-number">40253</span>, <span class="cm-number">40277</span>, <span class="cm-number">40241</span>])]), (<span class="cm-number">4</span>, [(<span class="cm-number">2628907540960158751</span>, [<span class="cm-number">1</span>, <span class="cm-number">40253</span>, <span class="cm-number">40283</span>, <span class="cm-number">40241</span>, <span class="cm-number">40289</span>]), (<span class="cm-number">2628515975157071569</span>, [<span class="cm-number">1</span>, <span class="cm-number">40241</span>, <span class="cm-number">40289</span>, <span class="cm-number">40253</span>, <span class="cm-number">40277</span>])]), (<span class="cm-number">5</span>, [(<span class="cm-number">105663786523994505249787</span>, [<span class="cm-number">1</span>, <span class="cm-number">40237</span>, <span class="cm-number">40283</span>, <span class="cm-number">40231</span>, <span class="cm-number">40277</span>, <span class="cm-number">40231</span>]), (<span class="cm-number">105747846551901297102991</span>, [<span class="cm-number">1</span>, <span class="cm-number">40253</span>, <span class="cm-number">40277</span>, <span class="cm-number">40241</span>, <span class="cm-number">40283</span>, <span class="cm-number">40237</span>])]), (<span class="cm-number">6</span>, [(<span class="cm-number">4276777994168845795685084369</span>, [<span class="cm-number">1</span>, <span class="cm-number">40213</span>, <span class="cm-number">40357</span>, <span class="cm-number">40253</span>, <span class="cm-number">40357</span>, <span class="cm-number">40277</span>, <span class="cm-number">40277</span>]), (<span class="cm-number">4261730664682637298515573083</span>, [<span class="cm-number">1</span>, <span class="cm-number">40237</span>, <span class="cm-number">40277</span>, <span class="cm-number">40231</span>, <span class="cm-number">40277</span>, <span class="cm-number">40213</span>, <span class="cm-number">40357</span>])]), (<span class="cm-number">7</span>, [(<span class="cm-number">171675339450528779010130577717441</span>, [<span class="cm-number">1</span>, <span class="cm-number">40231</span>, <span class="cm-number">40351</span>, <span class="cm-number">40237</span>, <span class="cm-number">40289</span>, <span class="cm-number">40277</span>, <span class="cm-number">40277</span>, <span class="cm-number">40213</span>]), (<span class="cm-number">171725964673339015282431048008621</span>, [<span class="cm-number">1</span>, <span class="cm-number">40237</span>, <span class="cm-number">40343</span>, <span class="cm-number">40213</span>, <span class="cm-number">40361</span>, <span class="cm-number">40231</span>, <span class="cm-number">40289</span>, <span class="cm-number">40213</span>])]), (<span class="cm-number">8</span>, [(<span class="cm-number">6940328532425640161878617107022831931</span>, [<span class="cm-number">1</span>, <span class="cm-number">40241</span>, <span class="cm-number">40387</span>, <span class="cm-number">40277</span>, <span class="cm-number">40351</span>, <span class="cm-number">40213</span>, <span class="cm-number">40277</span>, <span class="cm-number">40213</span>, <span class="cm-number">40343</span>]), (<span class="cm-number">6937928030201461327568435740563312701</span>, [<span class="cm-number">1</span>, <span class="cm-number">40213</span>, <span class="cm-number">40357</span>, <span class="cm-number">40241</span>, <span class="cm-number">40361</span>, <span class="cm-number">40253</span>, <span class="cm-number">40343</span>, <span class="cm-number">40231</span>, <span class="cm-number">40289</span>])]), (<span class="cm-number">9</span>, [(<span class="cm-number">278783934216210794061753445528460285077843</span>, [<span class="cm-number">1</span>, <span class="cm-number">40237</span>, <span class="cm-number">40283</span>, <span class="cm-number">40177</span>, <span class="cm-number">40423</span>, <span class="cm-number">40237</span>, <span class="cm-number">40289</span>, <span class="cm-number">40213</span>, <span class="cm-number">40423</span>, <span class="cm-number">40189</span>]), (<span class="cm-number">280201693317557732699734499983537650751331</span>, [<span class="cm-number">1</span>, <span class="cm-number">40277</span>, <span class="cm-number">40361</span>, <span class="cm-number">40277</span>, <span class="cm-number">40423</span>, <span class="cm-number">40213</span>, <span class="cm-number">40361</span>, <span class="cm-number">40237</span>, <span class="cm-number">40289</span>, <span class="cm-number">40237</span>])]), (<span class="cm-number">10</span>, [(<span class="cm-number">11266035858555712572848498785608957810155199769</span>, [<span class="cm-number">1</span>, <span class="cm-number">40277</span>, <span class="cm-number">40361</span>, <span class="cm-number">40241</span>, <span class="cm-number">40277</span>, <span class="cm-number">40169</span>, <span class="cm-number">40427</span>, <span class="cm-number">40231</span>, <span class="cm-number">40343</span>, <span class="cm-number">40213</span>, <span class="cm-number">40343</span>]), (<span class="cm-number">11248748165423422014156975262092465859284398131</span>, [<span class="cm-number">1</span>, <span class="cm-number">40277</span>, <span class="cm-number">40361</span>, <span class="cm-number">40193</span>, <span class="cm-number">40289</span>, <span class="cm-number">40189</span>, <span class="cm-number">40343</span>, <span class="cm-number">40213</span>, <span class="cm-number">40361</span>, <span class="cm-number">40237</span>, <span class="cm-number">40357</span>])]), (<span class="cm-number">11</span>, [(<span class="cm-number">452365647933365700184455164174376023053860917287901</span>, [<span class="cm-number">1</span>, <span class="cm-number">40177</span>, <span class="cm-number">40387</span>, <span class="cm-number">40277</span>, <span class="cm-number">40283</span>, <span class="cm-number">40189</span>, <span class="cm-number">40357</span>, <span class="cm-number">40231</span>, <span class="cm-number">40343</span>, <span class="cm-number">40163</span>, <span class="cm-number">40387</span>, <span class="cm-number">40241</span>]), (<span class="cm-number">449701911482155772128565847368365973030290463048771</span>, [<span class="cm-number">1</span>, <span class="cm-number">40189</span>, <span class="cm-number">40351</span>, <span class="cm-number">40253</span>, <span class="cm-number">40289</span>, <span class="cm-number">40189</span>, <span class="cm-number">40283</span>, <span class="cm-number">40193</span>, <span class="cm-number">40343</span>, <span class="cm-number">40193</span>, <span class="cm-number">40351</span>, <span class="cm-number">40163</span>])]), (<span class="cm-number">12</span>, [(<span class="cm-number">18313458677768241029361126067868713086248286672636815087</span>, [<span class="cm-number">1</span>, <span class="cm-number">40237</span>, <span class="cm-number">40429</span>, <span class="cm-number">40277</span>, <span class="cm-number">40357</span>, <span class="cm-number">40241</span>, <span class="cm-number">40351</span>, <span class="cm-number">40253</span>, <span class="cm-number">40283</span>, <span class="cm-number">40231</span>, <span class="cm-number">40289</span>, <span class="cm-number">40213</span>, <span class="cm-number">40357</span>]), (<span class="cm-number">18250572437229924758295006051459000197191942489816056329</span>, [<span class="cm-number">1</span>, <span class="cm-number">40213</span>, <span class="cm-number">40361</span>, <span class="cm-number">40231</span>, <span class="cm-number">40283</span>, <span class="cm-number">40231</span>, <span class="cm-number">40361</span>, <span class="cm-number">40177</span>, <span class="cm-number">40277</span>, <span class="cm-number">40153</span>, <span class="cm-number">40433</span>, <span class="cm-number">40237</span>, <span class="cm-number">40423</span>])]), (<span class="cm-number">13</span>, [(<span class="cm-number">738365424372328155516200875596859028033712185143813239636697</span>, [<span class="cm-number">1</span>, <span class="cm-number">40241</span>, <span class="cm-number">40427</span>, <span class="cm-number">40189</span>, <span class="cm-number">40343</span>, <span class="cm-number">40253</span>, <span class="cm-number">40427</span>, <span class="cm-number">40237</span>, <span class="cm-number">40357</span>, <span class="cm-number">40189</span>, <span class="cm-number">40433</span>, <span class="cm-number">40213</span>, <span class="cm-number">40351</span>, <span class="cm-number">40177</span>]), (<span class="cm-number">735286352707701561586078679475095075815643479401450265856257</span>, [<span class="cm-number">1</span>, <span class="cm-number">40153</span>, <span class="cm-number">40459</span>, <span class="cm-number">40241</span>, <span class="cm-number">40459</span>, <span class="cm-number">40193</span>, <span class="cm-number">40289</span>, <span class="cm-number">40237</span>, <span class="cm-number">40289</span>, <span class="cm-number">40153</span>, <span class="cm-number">40387</span>, <span class="cm-number">40169</span>, <span class="cm-number">40387</span>, <span class="cm-number">40253</span>])]), (<span class="cm-number">14</span>, [(<span class="cm-number">29373297580035069399879971437182275084191326425505542159180637071</span>, [<span class="cm-number">1</span>, <span class="cm-number">40213</span>, <span class="cm-number">40289</span>, <span class="cm-number">40129</span>, <span class="cm-number">40283</span>, <span class="cm-number">40129</span>, <span class="cm-number">40387</span>, <span class="cm-number">40241</span>, <span class="cm-number">40361</span>, <span class="cm-number">40153</span>, <span class="cm-number">40429</span>, <span class="cm-number">40129</span>, <span class="cm-number">40277</span>, <span class="cm-number">40169</span>, <span class="cm-number">40427</span>]), (<span class="cm-number">29909068422978136679310036940712188458368142913407434306408958727</span>, [<span class="cm-number">1</span>, <span class="cm-number">40177</span>, <span class="cm-number">40433</span>, <span class="cm-number">40189</span>, <span class="cm-number">40429</span>, <span class="cm-number">40193</span>, <span class="cm-number">40423</span>, <span class="cm-number">40277</span>, <span class="cm-number">40429</span>, <span class="cm-number">40241</span>, <span class="cm-number">40343</span>, <span class="cm-number">40237</span>, <span class="cm-number">40427</span>, <span class="cm-number">40189</span>, <span class="cm-number">40357</span>])]), (<span class="cm-number">15</span>, [(<span class="cm-number">1190308734806001452624428419210166831878447638583765709998701699322677</span>, [<span class="cm-number">1</span>, <span class="cm-number">40163</span>, <span class="cm-number">40471</span>, <span class="cm-number">40153</span>, <span class="cm-number">40429</span>, <span class="cm-number">40241</span>, <span class="cm-number">40283</span>, <span class="cm-number">40277</span>, <span class="cm-number">40289</span>, <span class="cm-number">40151</span>, <span class="cm-number">40459</span>, <span class="cm-number">40241</span>, <span class="cm-number">40343</span>, <span class="cm-number">40127</span>, <span class="cm-number">40343</span>, <span class="cm-number">40169</span>]), (<span class="cm-number">1191197716982639111892135143689621152800042059925150289986504827047163</span>, [<span class="cm-number">1</span>, <span class="cm-number">40189</span>, <span class="cm-number">40289</span>, <span class="cm-number">40129</span>, <span class="cm-number">40283</span>, <span class="cm-number">40241</span>, <span class="cm-number">40289</span>, <span class="cm-number">40213</span>, <span class="cm-number">40427</span>, <span class="cm-number">40151</span>, <span class="cm-number">40483</span>, <span class="cm-number">40277</span>, <span class="cm-number">40459</span>, <span class="cm-number">40129</span>, <span class="cm-number">40357</span>, <span class="cm-number">40253</span>])]), (<span class="cm-number">16</span>, [(<span class="cm-number">48142145059544319190375895840285035420345008460652389028989842839589161101</span>, [<span class="cm-number">1</span>, <span class="cm-number">40151</span>, <span class="cm-number">40283</span>, <span class="cm-number">40213</span>, <span class="cm-number">40423</span>, <span class="cm-number">40277</span>, <span class="cm-number">40423</span>, <span class="cm-number">40241</span>, <span class="cm-number">40459</span>, <span class="cm-number">40169</span>, <span class="cm-number">40433</span>, <span class="cm-number">40151</span>, <span class="cm-number">40343</span>, <span class="cm-number">40163</span>, <span class="cm-number">40427</span>, <span class="cm-number">40151</span>, <span class="cm-number">40277</span>]), (<span class="cm-number">48304323928051683956152914371144110851492525150491340507493386931312814789</span>, [<span class="cm-number">1</span>, <span class="cm-number">40241</span>, <span class="cm-number">40433</span>, <span class="cm-number">40123</span>, <span class="cm-number">40459</span>, <span class="cm-number">40153</span>, <span class="cm-number">40283</span>, <span class="cm-number">40241</span>, <span class="cm-number">40429</span>, <span class="cm-number">40151</span>, <span class="cm-number">40483</span>, <span class="cm-number">40169</span>, <span class="cm-number">40357</span>, <span class="cm-number">40193</span>, <span class="cm-number">40429</span>, <span class="cm-number">40189</span>, <span class="cm-number">40387</span>])]), (<span class="cm-number">17</span>, [(<span class="cm-number">1947163081288901745447679864902656801561849466655905426788125701187223499442883</span>, [<span class="cm-number">1</span>, <span class="cm-number">40253</span>, <span class="cm-number">40483</span>, <span class="cm-number">40127</span>, <span class="cm-number">40387</span>, <span class="cm-number">40111</span>, <span class="cm-number">40277</span>, <span class="cm-number">40213</span>, <span class="cm-number">40493</span>, <span class="cm-number">40129</span>, <span class="cm-number">40433</span>, <span class="cm-number">40253</span>, <span class="cm-number">40459</span>, <span class="cm-number">40277</span>, <span class="cm-number">40487</span>, <span class="cm-number">40231</span>, <span class="cm-number">40289</span>, <span class="cm-number">40129</span>]), (<span class="cm-number">1950193563503571247994675503760211420163920048052169513812618570297657545722893</span>, [<span class="cm-number">1</span>, <span class="cm-number">40231</span>, <span class="cm-number">40427</span>, <span class="cm-number">40111</span>, <span class="cm-number">40427</span>, <span class="cm-number">40127</span>, <span class="cm-number">40487</span>, <span class="cm-number">40231</span>, <span class="cm-number">40459</span>, <span class="cm-number">40237</span>, <span class="cm-number">40351</span>, <span class="cm-number">40129</span>, <span class="cm-number">40427</span>, <span class="cm-number">40231</span>, <span class="cm-number">40277</span>, <span class="cm-number">40277</span>, <span class="cm-number">40423</span>, <span class="cm-number">40241</span>])]), (<span class="cm-number">18</span>, [(<span class="cm-number">78936951915049847226243400827108784756556544200163394380642260866249453916058775541</span>, [<span class="cm-number">1</span>, <span class="cm-number">40253</span>, <span class="cm-number">40471</span>, <span class="cm-number">40099</span>, <span class="cm-number">40343</span>, <span class="cm-number">40129</span>, <span class="cm-number">40433</span>, <span class="cm-number">40231</span>, <span class="cm-number">40471</span>, <span class="cm-number">40237</span>, <span class="cm-number">40361</span>, <span class="cm-number">40213</span>, <span class="cm-number">40471</span>, <span class="cm-number">40213</span>, <span class="cm-number">40471</span>, <span class="cm-number">40237</span>, <span class="cm-number">40351</span>, <span class="cm-number">40099</span>, <span class="cm-number">40487</span>]), (<span class="cm-number">78951094094132040233040058707045915482428704964122655414198932241792706059352696417</span>, [<span class="cm-number">1</span>, <span class="cm-number">40123</span>, <span class="cm-number">40429</span>, <span class="cm-number">40127</span>, <span class="cm-number">40423</span>, <span class="cm-number">40153</span>, <span class="cm-number">40483</span>, <span class="cm-number">40151</span>, <span class="cm-number">40427</span>, <span class="cm-number">40193</span>, <span class="cm-number">40487</span>, <span class="cm-number">40189</span>, <span class="cm-number">40357</span>, <span class="cm-number">40123</span>, <span class="cm-number">40471</span>, <span class="cm-number">40231</span>, <span class="cm-number">40499</span>, <span class="cm-number">40253</span>, <span class="cm-number">40459</span>])]), (<span class="cm-number">19</span>, [(<span class="cm-number">3128927636109278291345269400034681971656783052672880042429271967052894323478553387411493</span>, [<span class="cm-number">1</span>, <span class="cm-number">40123</span>, <span class="cm-number">40471</span>, <span class="cm-number">40253</span>, <span class="cm-number">40277</span>, <span class="cm-number">40111</span>, <span class="cm-number">40289</span>, <span class="cm-number">40177</span>, <span class="cm-number">40387</span>, <span class="cm-number">40093</span>, <span class="cm-number">40283</span>, <span class="cm-number">40177</span>, <span class="cm-number">40429</span>, <span class="cm-number">40193</span>, <span class="cm-number">40387</span>, <span class="cm-number">40231</span>, <span class="cm-number">40471</span>, <span class="cm-number">40099</span>, <span class="cm-number">40499</span>, <span class="cm-number">40253</span>]), (<span class="cm-number">3146520128824371716207725209907584052952049742107680993674409723280717068075495166986423</span>, [<span class="cm-number">1</span>, <span class="cm-number">40213</span>, <span class="cm-number">40289</span>, <span class="cm-number">40189</span>, <span class="cm-number">40483</span>, <span class="cm-number">40127</span>, <span class="cm-number">40277</span>, <span class="cm-number">40163</span>, <span class="cm-number">40429</span>, <span class="cm-number">40163</span>, <span class="cm-number">40487</span>, <span class="cm-number">40193</span>, <span class="cm-number">40433</span>, <span class="cm-number">40129</span>, <span class="cm-number">40289</span>, <span class="cm-number">40277</span>, <span class="cm-number">40483</span>, <span class="cm-number">40093</span>, <span class="cm-number">40459</span>, <span class="cm-number">40253</span>])]), (<span class="cm-number">20</span>, [(<span class="cm-number">128852600609349526097437512679089470899860629063921966904451544951666329006154974515208595849</span>, [<span class="cm-number">1</span>, <span class="cm-number">40099</span>, <span class="cm-number">40471</span>, <span class="cm-number">40241</span>, <span class="cm-number">40357</span>, <span class="cm-number">40237</span>, <span class="cm-number">40361</span>, <span class="cm-number">40277</span>, <span class="cm-number">40423</span>, <span class="cm-number">40087</span>, <span class="cm-number">40519</span>, <span class="cm-number">40241</span>, <span class="cm-number">40429</span>, <span class="cm-number">40087</span>, <span class="cm-number">40499</span>, <span class="cm-number">40169</span>, <span class="cm-number">40499</span>, <span class="cm-number">40189</span>, <span class="cm-number">40507</span>, <span class="cm-number">40213</span>, <span class="cm-number">40471</span>]), (<span class="cm-number">126062316213731487422916572994986948260691672311530813690188127109530700932036759345668642767</span>, [<span class="cm-number">1</span>, <span class="cm-number">40189</span>, <span class="cm-number">40433</span>, <span class="cm-number">40277</span>, <span class="cm-number">40343</span>, <span class="cm-number">40153</span>, <span class="cm-number">40387</span>, <span class="cm-number">40169</span>, <span class="cm-number">40357</span>, <span class="cm-number">40093</span>, <span class="cm-number">40499</span>, <span class="cm-number">40127</span>, <span class="cm-number">40387</span>, <span class="cm-number">40087</span>, <span class="cm-number">40499</span>, <span class="cm-number">40087</span>, <span class="cm-number">40493</span>, <span class="cm-number">40111</span>, <span class="cm-number">40283</span>, <span class="cm-number">40087</span>, <span class="cm-number">40433</span>])])])</code><code></code><code><span class="cm-keyword">print</span> <span class="cm-string">"stored close number suite - re run if needed"</span></code></pre>
<div class="output stdout">stored close number suite - re run if needed
</div>
<div class="output stdout">defined plot function - re run if needed
</div>
<pre class="input"><code></code></pre>
<div class="output md"><h2 id="trial-division">Trial Division</h2>
</div>
<pre class="input"><code><span class="cm-keyword">from</span> <span class="cm-variable">trial_division</span> <span class="cm-keyword">import</span> <span class="cm-operator">*</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">TrialDivision</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallPrimes</span>, <span class="cm-variable">iterations</span>)</code><code></code><code><span class="cm-variable">examplePlot</span> = <span class="cm-string">'''</span></code><code><span class="cm-variable">minPlot</span>, <span class="cm-variable">maxPlot</span>, <span class="cm-variable">averagePlot</span> = <span class="cm-variable">plotMinMaxAverage</span>(<span class="cm-variable">benchmarks</span>)</code><code></code><code><span class="cm-keyword">print</span> <span class="cm-string">"Regular trial division, small primes"</span></code><code><span class="cm-variable">minPlot</span> <span class="cm-operator">+</span> <span class="cm-variable">maxPlot</span> <span class="cm-operator">+</span> <span class="cm-variable">averagePlot</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">TrialDivision</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallPrimes</span>, <span class="cm-variable">iterations</span>, {<span class="cm-string">"modified"</span>: <span class="cm-builtin">True</span>})</code><code><span class="cm-variable">minPlot</span>, <span class="cm-variable">maxPlot</span>, <span class="cm-variable">averagePlot</span> = <span class="cm-variable">plotMinMaxAverage</span>(<span class="cm-variable">benchmarks</span>)</code><code></code><code><span class="cm-keyword">print</span> <span class="cm-string">"Primes only trial division, small primes\n"</span></code><code><span class="cm-variable">minPlot</span> <span class="cm-operator">+</span> <span class="cm-variable">maxPlot</span> <span class="cm-operator">+</span> <span class="cm-variable">averagePlot</span></code><code><span class="cm-string">'''</span></code></pre>
<pre class="input"><code><span class="cm-keyword">from</span> <span class="cm-variable">trial_division</span> <span class="cm-keyword">import</span> <span class="cm-operator">*</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">TrialDivision</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"small primes"</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">TrialDivision</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallClosePrimes</span>, <span class="cm-variable">iterations</span>, {<span class="cm-string">"modified"</span>: <span class="cm-builtin">True</span>})</code><code><span class="cm-keyword">print</span> <span class="cm-string">"small primes"</span></code></pre>
<div class="output stdout">small primes
small primes
</div>
<pre class="input"><code>%md</code><code>Observationer trial division:</code><code>I och med att Trial Division hittar den minsta faktorn först så vet den att ingen annan faktor är mindre, därför kan den börja räkna från den hittade faktorn nästa gång istället för 0</code></pre>
<div class="output md"><h2 id="fermat-s-factorization">Fermat's Factorization</h2>
</div>
<pre class="input"><code><span class="cm-keyword">from</span> <span class="cm-variable">fermats_factorization</span> <span class="cm-keyword">import</span> <span class="cm-operator">*</span></code><code></code><code><span class="cm-comment"># Klarade ej att slutföra 4 factors medium primes under > 11 timmar!</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"small primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">mediumPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"medium primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"large primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largerPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"larger primes"</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close small primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">mediumClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close medium primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largeClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close large primes"</span></code></pre>
<div class="output stderr">Error in lines 2-2
</div>
<div class="output stderr">Traceback (most recent call last):
File "/usr/local/sage/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 995, in execute
exec compile(block+'\n', '', 'single') in namespace, locals
File "", line 1, in <module>
File "factorization_function.py", line 79, in benchmark
resultingFactors, b = self.factorize(n, true, **optionalArgs)
File "fermats_factorization.py", line 77, in factorize
possibleFactors = self.getOneFactor(a, benchmark)
File "fermats_factorization.py", line 32, in getOneFactor
benchmark.iterate()
File "src/cysignals/signals.pyx", line 251, in cysignals.signals.python_check_interrupt (build/src/cysignals/signals.c:2721)
File "src/cysignals/signals.pyx", line 94, in cysignals.signals.sig_raise_exception (build/src/cysignals/signals.c:1328)
KeyboardInterrupt
</module></div>
<pre class="input"><code>%md</code><code>observationer fermats:</code><code></code><code>av någon anledning verkar small primes 9 och 15 faktorer ta extra lång tid. Varför?</code><code></code><code>En optimering av fermats hade varit att börja räkna ifrån n:te roten ur det sammansatta talet. där n är antalet faktorer.</code><code></code><code>Udda antal faktorer går jävligt mycket långsammare. för att för fyra faktorer -- -- | -- -- och för 5 faktorer -- -- -|- -- -- Så man måste gå en halv extra.</code></pre>
<pre class="input"><code></code></pre>
<div class="output md"><h2 id="pollards-rho-algorithm">Pollards Rho Algorithm</h2>
</div>
<pre class="input"><code><span class="cm-keyword">from</span> <span class="cm-variable">pollards_rho_algorithm</span> <span class="cm-keyword">import</span> <span class="cm-operator">*</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">PollardsRhoAlgorithm</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"small primes"</span></code></pre>
<div class="output stdout">small primes
</div>
<div class="output md"><h2 id="lenstras">Lenstras</h2>
</div>
<pre class="input"><code><span class="cm-keyword">from</span> <span class="cm-variable">lenstras_elliptic_curve_factorization</span> <span class="cm-keyword">import</span> <span class="cm-operator">*</span></code><code><span class="cm-comment">#benchmarks = LenstrasEllipticCurveFactorization.benchmark(smallPrimes, iterations, {"maximumIterations": -1})</span></code><code><span class="cm-comment">#values = map(lambda x: x[3].totalTime["default"], benchmarks)</span></code><code><span class="cm-comment">#print sum(values)/len(values)</span></code><code></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">LenstrasEllipticCurveFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largerPrimes</span>, <span class="cm-variable">iterations</span>, {<span class="cm-string">"maximumIterations"</span>: <span class="cm-operator">-</span><span class="cm-number">1</span>})</code><code><span class="cm-variable">values</span> = <span class="cm-builtin">map</span>(<span class="cm-keyword">lambda</span> <span class="cm-variable">x</span>: <span class="cm-variable">x</span>[<span class="cm-number">3</span>].<span class="cm-variable">totalTime</span>[<span class="cm-string">"default"</span>], <span class="cm-variable">benchmarks</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-builtin">sum</span>(<span class="cm-variable">values</span>)<span class="cm-operator">/</span><span class="cm-builtin">len</span>(<span class="cm-variable">values</span>)</code><code></code><code><span class="cm-variable">x</span> = <span class="cm-string">"""</span></code><code><span class="cm-keyword">for</span> <span class="cm-variable">i</span> <span class="cm-keyword">in</span> [<span class="cm-number">1</span>, <span class="cm-number">2</span>, <span class="cm-number">5</span>, <span class="cm-number">10</span>, <span class="cm-number">50</span>, <span class="cm-number">100</span>, <span class="cm-number">1000</span>, <span class="cm-operator">-</span><span class="cm-number">1</span>]:</code><code> <span class="cm-keyword">print</span> <span class="cm-variable">i</span>,</code><code> <span class="cm-variable">benchmarks</span> = <span class="cm-variable">LenstrasEllipticCurveFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallPrimes</span>, <span class="cm-variable">iterations</span>, {<span class="cm-string">"maximumIterations"</span>: <span class="cm-variable">i</span>})</code><code> <span class="cm-variable">values</span> = <span class="cm-builtin">map</span>(<span class="cm-keyword">lambda</span> <span class="cm-variable">x</span>: <span class="cm-variable">x</span>[<span class="cm-number">3</span>].<span class="cm-variable">totalTime</span>[<span class="cm-string">"default"</span>], <span class="cm-variable">benchmarks</span>)</code><code> <span class="cm-keyword">print</span> <span class="cm-builtin">sum</span>(<span class="cm-variable">values</span>)<span class="cm-operator">/</span><span class="cm-builtin">len</span>(<span class="cm-variable">values</span>)</code><code><span class="cm-string">"""</span></code></pre>
<div class="output stdout">39.1989332011
</div>
<pre class="input"><code><span class="cm-number">1</span> <span class="cm-number">0.00392751317275</span></code><code><span class="cm-number">2</span> <span class="cm-number">0.00423920154572</span></code><code><span class="cm-number">5</span> <span class="cm-number">0.00414510526155</span></code><code><span class="cm-number">10</span> <span class="cm-number">0.00408152279101</span></code><code><span class="cm-number">50</span> <span class="cm-number">0.00364659710934</span></code><code><span class="cm-number">100</span> <span class="cm-number">0.00381851321773</span></code><code><span class="cm-number">1000</span> <span class="cm-number">0.00402681074644</span></code></pre>
<pre class="input"><code><span class="cm-number">1</span> <span class="cm-number">0.00383018819909</span></code><code><span class="cm-number">2</span> <span class="cm-number">0.0042179722535</span></code><code><span class="cm-number">5</span> <span class="cm-number">0.00391916475798</span></code><code><span class="cm-number">10</span> <span class="cm-number">0.00397971805773</span></code><code><span class="cm-number">50</span> <span class="cm-number">0.00365026875546</span></code><code><span class="cm-number">100</span> <span class="cm-number">0.00352077860581</span></code><code><span class="cm-number">1000</span> <span class="cm-number">0.00339124202728</span></code></pre>
<pre class="input"><code><span class="cm-number">1</span> <span class="cm-number">0.00396525985316</span></code><code><span class="cm-number">2</span> <span class="cm-number">0.00439642730512</span></code><code><span class="cm-number">5</span> <span class="cm-number">0.00393485395532</span></code><code><span class="cm-number">10</span> <span class="cm-number">0.00405216217041</span></code><code><span class="cm-number">50</span> <span class="cm-number">0.00363662493856</span></code><code><span class="cm-number">100</span> <span class="cm-number">0.00342771881505</span></code><code><span class="cm-number">1000</span> <span class="cm-number">0.00337653912996</span></code><code><span class="cm-operator">-</span><span class="cm-number">1</span> <span class="cm-number">0.178503995193</span></code></pre>
<div class="output md"><p>Lenstras observationer:
att sänka maximum iterations innebär att fler iterationer körs (totalt, inte per "omgång") - detta innebär att fler primtester körs.</p>
<p>Det skulle gå att använda ett såll (marcus lägger till om GitHub-lösningen). Istället för att gå till alla punkter kan man ta primtal.</p>
<p>Teori:
Att 5 är bättre än 1 och 2 iterationer kan ha att göra med att det är först då det börjar löna sig med primtalstester. Det är generellt bättra att ha få iterationer och försöka forcera faktorer, men primtestet håller då tillbaka prestandan. Att exempelvis lägga till en flagga första gången ett tal är primtestat skulle kunna resultera i att tal inte behöver primtestas mer än en gång, men ändå kunna testa enbart en iteration av algoritmen.</p>
<p>Literatur har tytt på att algoritmen kan vara snabbare om man avbryter efter n försök (sqrt(n)) och kör om igen för att få nya slumpvariabler. Vid imperisk studie hittade vi.... Vi såg dock att sqrt(n) presterade klart sämst. Detta visade sig ha med jämförelse av int och cocalcs integer med decimaler som blir vid sqrt(n). int(i) < int(ceil(sqrt(n))) är alltså snabbare (med en faktor av ≈60!!!) än int(i) < sqrt(n) trots att sqrt(n) enbart beräknas en enda gång!</p>
</div>
<pre class="input"><code>%md</code><code><span class="cm-header cm-header-2">#</span><span class="cm-header cm-header-2">#</span><span class="cm-header cm-header-2"> </span><span class="cm-header cm-header-2">R</span><span class="cm-header cm-header-2">u</span><span class="cm-header cm-header-2">n</span><span class="cm-header cm-header-2"> </span><span class="cm-header cm-header-2">a</span><span class="cm-header cm-header-2">l</span><span class="cm-header cm-header-2">l</span></code></pre>
<div class="output md"><h2 id="run-all">Run all</h2>
</div>
<pre class="input"><code><span class="cm-keyword">from</span> <span class="cm-variable">fermats_factorization</span> <span class="cm-keyword">import</span> <span class="cm-operator">*</span></code><code><span class="cm-keyword">from</span> <span class="cm-variable">pollards_rho_algorithm</span> <span class="cm-keyword">import</span> <span class="cm-operator">*</span></code><code><span class="cm-keyword">from</span> <span class="cm-variable">lenstras_elliptic_curve_factorization</span> <span class="cm-keyword">import</span> <span class="cm-operator">*</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close small primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">mediumClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close medium primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">FermatsFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largeClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close large primes"</span></code><code><span class="cm-keyword">print</span> <span class="cm-string">"fermats"</span></code><code></code><code><span class="cm-keyword">print</span> <span class="cm-string">"pollards"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">PollardsRhoAlgo</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"small primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">PollardsRhoAlgorithm</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">mediumPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"medium primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">PollardsRhoAlgorithm</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"large primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">PollardsRhoAlgorithm</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largerPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"larger primes"</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">PollardsRhoAlgorithm</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close small primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">PollardsRhoAlgorithm</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">mediumClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close medium primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">PollardsRhoAlgorithm</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largeClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close large primes"</span></code><code><span class="cm-keyword">print</span> <span class="cm-string">"pollards"</span></code><code></code><code><span class="cm-keyword">print</span> <span class="cm-string">"lenstras"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">LenstrasEllipticCurveFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"small primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">LenstrasEllipticCurveFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">mediumPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"medium primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">LenstrasEllipticCurveFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"large primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">LenstrasEllipticCurveFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largerPrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"larger primes"</span></code><code></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">LenstrasEllipticCurveFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">smallClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close small primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">LenstrasEllipticCurveFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">mediumClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close medium primes"</span></code><code><span class="cm-variable">benchmarks</span> = <span class="cm-variable">LenstrasEllipticCurveFactorization</span>.<span class="cm-variable">benchmark</span>(<span class="cm-variable">largeClosePrimes</span>, <span class="cm-variable">iterations</span>)</code><code><span class="cm-keyword">print</span> <span class="cm-string">"close large primes"</span></code><code><span class="cm-keyword">print</span> <span class="cm-string">"lenstras"</span></code></pre>
<div class="output stdout">close small primes
close small primes
</div>
<footer>
<div>generated 2018-03-06T13:54:31 on
<a href="undefined">CoCalc</a>
</div>
</footer>
</body>
</html>