The following Python 3 code, also available on
Pastebin
, (eventually) prints something. Follow the instructions and submit your answer.
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
def d ( a , b ):
i = 0
j = 0
while i * b < a :
i += 1
i -= 1
k = i * b
while k != a :
j += 1
k += 1
return i , j
def p ( a ):
i = 1
j = 0
while i < a :
if d ( a , i )[ 1 ] == i :
j += 1
i += 1
return j - 1
a = """
43996257291946865786208341684017048690747726272979
81451999041223940509097933153580450843985004654630
38277787532041930359663538443019413493168192711794
76196329587870035238273391546086039741237498221189
60477855115878910236568826330364113488791121093903
93215495829486502838553062601267535476399617475261
54308200482600861002506427336970800337387375742872
96159323971514180365915144109737226384930067724589
26343111904390643437403719181425607995766467017846
69595424930382566893815686145528070750192884478869
17168997162577846734327326408032111711555779898267
57241386000558536549634471983234109474184512908626
90504103032805274308840045725805178502658050961847
26100273888500598504303566932230897524720308170919
80630565362717027703395497389212737897424121041343
05346028976269810346506169105152004090057464807532
61273842727228250755123445741015884383801077654111
16588229236026942384150191709277927526565770052034
79227878286317453547819799214337542714508364082784
77272952060990462931295779385676174562880452592377
52721561816627443597549202349398416701790991332770
86203362670285468432753083361230272256685027307466
84381245998236615034889408396660879832119088616070
65690393645908586800829749279236206371689860282401
97263186551094036751051633877676198604651989179723
86178741022902122321462190733930994352245883684719
12235405072391897446911609456113723951304918431382
98882807883357688653318976839789269956654057091838
22310225702421206269842815235224784592230341961511
56445363702651518569939716574939995906970607567508
56871818431310890098385407718438903001165988321058
09448788754295517392700472831487399113385118587349
50027205822090159059598458701209637057831336938590
52099012401699437149232546264748397536675876990353
48432107464838946642808095318438277508253438122041
75919121553734041101098079809285414749370090998940
24806159120281491120323365178530550411775628702539
06504565785307962338308209796706357370838417742939
17234936589795753828193551473171210475141617141084
27285710160185961731029897162771273700346491087271
40358004143636924373583890618503687199309211159055
73383319592028227869484257182263065471335409583601
68756723368764234922795489533392139690778117193141
84966146951673036975409659886991479248253063449064
33386943345943529894668425067734943425488462968890
63582986230621921407680302308161229126250608267507
70590474121070200509410385092220899665637764263858
37635184203450258409532238887785007940597133178356
20582629220229229778247097857825091143449744860116
51277842553021428393753341040338703674572887205690
54647199426065641873002621044924596979851761177373
22934451676616793607827170643217022799619134904085
65827293056923524522735565636287893854280550922917
86848463706821967494323827775547286676054148436528
50965895971204447360340284213285011405065030559904
09653004125895067587685378202500068574840766611865
86539610268117890692389727161262210891170402977051
76811092927516210412731679589941276905738753675162
56511543761265465312930328371080026703291944836236
43589204629672649839020425587436436097244167181988
28946628222741389206802651835425683492432721658087
71332556060170537183865851056588091709405632363488
90452337167900401921009032287420301770500322292130
85312399398285165373847967813254828770261620477512
43319990082720975015964089073714074587861700718873
43387921301393899077819582010457189619716037063980
96371899841538281120193380115452912732716953331662
74592953773660341403544975718333977645006435956655
17169243766043988102844213849138688522252661151972
69114159221394366254024058043762536250608664232930
71930714889901652641421307360204522644253775680810
05651920317254644606657977830679291136809535941590
84134199066429192482829170824293223059558620326744
60330127577415082635278242845398068432891108716041
19259520742493489752804201803371269743553392634687
98491577265539857640911688926704091052497625796886
09794320853220271853104811495521151587358811212304
44331146122567467577710122778448638798443265915809
40104013532189809456728745166798679283071177970800
14384473377993312241629361770840700384389630056021
48718140510250964680014766498323133736502266455711
95749048416062740148162981483339146279829421930431
60813118502453049808318473788754989140048292042255
42609526347649264631615283533412229192422106554968
90788014950750902037727209463028396130219828626232
90020413213840432775145472167815902238123598981180
8091954465266570007722498014839871137514573269
"""
r = "! e0a1i2o3n4r5t6l7s8u9dgbcmpfhvwykjxqz"
a = list ( a )
for i in range ( len ( a ) - 1 , - 1 , - 1 ):
if ord ( a [ i ]) < 32 :
a . pop ( i )
a = int ( "" . join ( a ))
i = 1
while i <= a :
if not p ( i ):
j , k = d ( a , i )
b = 0
while k == i :
a = j + 1
b += 1
j , k = d ( a , i )
if b :
print ( r [ b ], end = "" )
i += 1