aboutsummaryrefslogtreecommitdiffstats
path: root/fdio.infra.ansible
diff options
context:
space:
mode:
authorpmikus <pmikus@cisco.com>2021-05-12 18:55:13 +0000
committerPeter Mikus <pmikus@cisco.com>2021-05-12 18:57:10 +0000
commit92dacd47b512d8f97c7dfbed7a6043eec11d7e9e (patch)
treed3df9209e603c960482aad3a2eb787239bd59e36 /fdio.infra.ansible
parentbd5eec0c49d4db896eab08ab3feb467f5d14ccc8 (diff)
Infra: Nomad
+ Cleanup vault + Add native GC + add raid to skx Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I402cb96fb7d1dc0c7d026ae69bf29d84be171269
Diffstat (limited to 'fdio.infra.ansible')
-rw-r--r--fdio.infra.ansible/nomad_vault.yml1999
-rw-r--r--fdio.infra.ansible/roles/nomad/defaults/main.yaml15
-rw-r--r--fdio.infra.ansible/roles/nomad/templates/server.hcl.j220
3 files changed, 765 insertions, 1269 deletions
diff --git a/fdio.infra.ansible/nomad_vault.yml b/fdio.infra.ansible/nomad_vault.yml
index 0cbb029e45..d57902dba1 100644
--- a/fdio.infra.ansible/nomad_vault.yml
+++ b/fdio.infra.ansible/nomad_vault.yml
@@ -1,1270 +1,731 @@
$ANSIBLE_VAULT;1.1;AES256
-62376331323762363234646634616631333934653237323937663735616437323565316530633863
-3237336364303134373335643035643137306562643362330a383565653835336332646536646631
-62373232303465623030636564363135306261323864313564653938353163653935396364613438
-3939633534663564620a373633663162393061333930633238376166333636623838623135353534
-30623839386638343864383532353333323534636331643763326231636136623634663666303263
-61396535373738623934663439313533356437323837663430353962353433333333613330316233
-65333164643466373563376431663339636631613236643336303636633262373130656463613164
-31323365633766656435323464306238383132313763363032383337373166376231363733663261
-38346238666638323164613238633935663832323936636535323830336238323839333261346234
-36373261653562663939363762633463646563613666303035386434323039336239643563653061
-37313436636233303539323538356338333631323563353864633861656537626136306638386632
-38303737643061323262656339323734313330383563336236616334343732653134613538656338
-39653134393663653532303163333833613964346338333230633939363534393436633335653739
-38643238343532313034623466663731346264303665666439666439343839643632616437363835
-37383366613539313736393961393232343232363563366438393631616465323935353465396162
-39363431363836653239306165643734363331653038633635333966346239656333313338636538
-38383461336431636534656133363436613766646564363862326230383133636630663663323530
-31363761373963316262373961346434633734383031663331383234373937386361376333616166
-63363934333539643237313731343139396538646265343432363530356439393463333434666635
-65616234343632316337353032366466353263313266636132383361303039616533326532396132
-39376638623064633962353936396438396638326631306438626164363239633937623664623636
-35623663343564383537333763646535663432373939656465303238643363633862336334613532
-62646439383665383261386538663162633464333530396265326166313066666437346231613062
-33653763633363646262366163643466643561663338336638383235666464316663326433666533
-65393237636133376239396632373431663335623134323635393838396564646432306533363630
-32356439393938646438373937353531653665666364336663306434356436653666336561336632
-36356335663666336535303564323130373563353630376235383639613361353933646332663036
-32366664393765313531643434373264323262303739373164326132326161383962376535386432
-30646363643333653130353134633265366464666237303465306264306465333730353365373331
-65356132353733623465303237303633373139376532353363306432313339353330323833663065
-38316532626437303666383062393962626166353133336235356462306365366264616264653563
-36383332396339396563396461646662636533633735333632636436656166633965366438633036
-34343937313861386134353731383439396133663736343664333237636332383039373266653836
-65663934633631656532633666656261633430666131653534353662353663363664613937636564
-37366430623133316463306131353063623336656336643666663566393039663839383639643535
-62306463336136343266393539343335373139636134626637393230356165353136356433313563
-66636265386433303363323164356138643639306539663335303330643862346563366438353532
-31663531663739633937313265303464303439396137303165646561366466303132343332346666
-30323632353239653633363037623537666634626238363033616536666533383034376162393964
-61653336623936313636623162653430353061646461323164363861366165313636336439326437
-35333534633334326333656637623836663736376163376139303061623965663462666535663534
-35376637346335313237616661653434633265376463383630376535363363616338643135396539
-65303437666331663331643931653036366137363332613339643739353062393133313034396338
-62643764323731333037353330363235303762343437373565326464376637366232646632306261
-33386336643839366564346538356663393233303230653762396133373262373838616161333134
-34303131346532363839326632656437316636306535396262346561666166393063306633616534
-35656163363865666331666436306339343639383034323066663037353033636265313335326430
-61626232363234653666663363393665386137326538353637386131616633306238616330643831
-62326236643637623133616266653233663533343134356635663334653666643661333032313730
-66386366346630313461353738333265616135653032393564653262336531303966356162623130
-38323536333364656562353061306638383136336137303530343038613830323161396530333064
-35373666646636303964303433303733383064666238643037366662333832303363306163653962
-32616630346534326232303962346237386238356334303965646535366334616638383865653834
-37303839363066656464666234643934643637323234343266363062626237626236386664653963
-35636237396336613566666230346538376230396231363636306463323534666637363238643265
-31306430313232333238313364653464373238626334306537373639653037373665306566633637
-61663336396236623637346231396133366266303532356235623464323361386433643764313632
-64366463333730393261653963653634303036316438373464313333353834366366353565623630
-66653231643735383938633335643737343433353463316336303964613638316261633839646239
-62306430373763643832303734653436656536346661643766316163656339323638373335633766
-66383964373963333435313433373365393566326630633562613062626465663034323663613066
-62326462346339623732343834663465633265316537626566653734373065386463653333656263
-36316530336234646334363066666362613039343339356236363961636163333037316130336231
-32613831326564633861393532363439313261613131343533623137636534653439316162356632
-38396135643537326436303165626238663731666464633133383162656532313863386230366238
-64613434386336373139343536633065353930373239383139373864373461623136653131653231
-30383164326630666530343032303831656634636265363666616161613035666131363937313066
-34353830313135346535353761613261613131393030623136303938356361336539633938383034
-30323036316330383730343230373833353632383233333835653236626665616565633265373262
-31643031313364303139386166356663316332353963346435373635623334616538326236643639
-35326164343336366333623134333063626638346530316635363734376666663530336538623063
-33316466643365643831333832616264326261363834636434656431636433333033663265646463
-34653763663337356462313062353263616530643761356430643439333234363337623135343064
-65653965303063376337393733373165393335666536613162383264333565343961653861333839
-30353631623735303562616339626231336664613437393666663634393539363265373430623264
-62306631616665333434613332626233333866643135333132336262386663303866623935656439
-66663638666130616336333434386133373235636137346561353635336431656465313234386464
-31393866383636323738353331663666343231616362323434316366643266393662663637333131
-35323838363934613933636663636432373432643561663964313539333966646262666234336632
-35613630306165323534666139393639646435313136303063306235376336643230396630356135
-32653433663631313161373266653563663161396633626634376533356565633030643737313437
-34343564613434613035333136313638356238396365353437616235623437326231343537333362
-30346466633563346330356366306261393965663335623439346632363231323935326233333834
-66656663323231316463656163363438623161333961393234306335303463316235613732613166
-62653434306462396231666461323534656530396539356365643133346230393732353736623639
-39363138343333333937323465363661306535373230356133636639643332633861373535616230
-34666266313762373363323239363866393334646437613261303038383432653631646265356232
-39653864366233663734613765343037376566653737323935626434623062656530666539346236
-32633132653337333239313830633237383662646435376130643030363532343238663935316435
-30373636653136383366353436383534336539383461666234373730343761643764343533353735
-37303336303233323436313362346665623131653630386438333765616566396131323331303935
-61373436323863303365643432333138363232313863303539356566346338393235323835656531
-34616230353233356632663664623830373436663339306566336165643839393734363830366432
-38643465653231353362396634376332303665663736306633313635333761336632643833653130
-30626465363230303239653865353139633764613834633733323334623735376632363531633366
-31306231373531663234353231366230653838306139636463336166326162373137363064393238
-35653733386132623137663737633033303930353732656537613633623434643563656233653034
-31653731333630323634626435613030353361633163643035633538653234633965316134363938
-37663331363231343733353331623430666262306639376165613132343861386666623536643265
-30373466376365393133373166653761303264303138666437393261346166326161353431343833
-34666434646532363935633363653935353935363736653562383032393061393330363837323764
-63313165666265656461666162666563653833373238656139383434363234393535376261343738
-30323537653639623263383130326439636138396366323337363038336536623065633362313836
-36633865363634306134636233313235303466643532306462356264633834363236623937336336
-32346363316333376161346537323566626161333131633234656639396163623035313265653237
-33656333363262343463316265353532653262363362386464306134336532363234363436323830
-37623438303132353535613433623535383334626337316636623939366331316162313463616638
-30323263363537623339323630393465333839653064333339393566386537386664363932363763
-64393439666666303537613539393737346536626566666231646266336532663439363764653734
-65366662333464653631356363396161376330326139373839363434626663316166396636333664
-31313636393665636463623162323532363732316365386261353665613063376234333632646534
-39393836643731343566633434366566323164626333396662646364346634303437316666663931
-37623331666335653431323034613963663532333131616434346630346230653464623530663464
-32386262353733346565363736643731646265613462626231376566373936346566393439386364
-61336534636132346438626439316238633938343132353535373231383763623864316133306165
-62336665306565396635656534313932313532363762363830383662383937363136613666353666
-64323832393034393530613533616536346666303539316262363033613537366131333230346463
-65666136316238396165656636653731613265393365663430636430663838353238343965623263
-31356131646332613037333936373334326264363737663563323031666431376434386138343837
-38396433623364323237376233306137346535323133333437643332343936363636376438333635
-61383063663433613732393636356334313530636233383464313631626439366537343166313836
-38303736663665623933656534343030313966623162376362343638393333333636336363376338
-63613233343935666637663038656231313861646433366132656336616537626332303732656665
-63353732326131343434306463663436393166313764653238636237663231323633313232646465
-37303239343163393330383538393437386565653361303761386232396231613234323331353837
-36373533663937643338383537343734376232626436386665653836663263346435623462316138
-61623765373834316139363963663336653630646639376536363763633162323836363839333366
-38643632393766333539623634326562656661363762303062663632663431663533303564633435
-33396531323261653936336165616237623338343838613739653333316230623539343432343265
-62663739386662343739333562313431663233366264383064373139396234383265656562373431
-38646138373037616134663239353432376135623565363736383438396463383362306237353533
-35363932316362333730303561303239306232653838666433333061333933373864323866353932
-37366635306337633831623164306561623430346532373235353262393931346566366231306531
-30653666323638396332666633353437653034623164613061353162663630323032343534616637
-66386433313932316337396230663765376536663662356637373433383439356634353961666236
-62613537306231333334343261666162306262326536633965303532343666623162623935626661
-66646465383937383030376237666531396162643861626232353533626365353231363061316434
-31623036343331313535356434373365376134356231376631353436303332323632623435333865
-37356466393162356538366665663330666466653735393865653133386565646466363736633464
-30313463306237643637623332356530343066363863383863396238366536376136336632393066
-64396135346234623432316264363136386638366331373862303363396531376138303336383632
-31626463376634386338323734303261323530643061316533653638353061366230626236316666
-66633663336530353261343737643264396164353332396636303338663666376136616566303065
-32343466333233613562356563393465363235393666633838386361313731383563663937623833
-39346539313731666262633261646632336665336336636530336334383762323863666633333431
-31616563393736306339383732366565653432323631313739613536383836363430366433643361
-39336264356531333337646562643331333666373630656435646330393432383163623136396161
-63346533613333626230633730653433633934663638643034353932303935656437393631323836
-61396239393861626231623234663836353763646638613437366431343836323730373835633437
-61373637306638306232623466656632643561623034333763373665653261366530653832643532
-65343032663462613466343036633039643766353466663433386233343661613661666664393234
-63303632303331666232636238633536656133396534303237323034663366353431663936333838
-36636430623565653533323931313638373432633065633533353265353537613330616138353066
-38396562323035656237666162343532323336376530663163313865306136333137383633313036
-66633435616466646365633663366466636266326266626335393466323032613733366466353033
-39613762653565333337636538633034653337303132653963653731653034373535666138326231
-32306166633666343637303731636261643866313039333031323733323635623433633836323931
-31343664656332396334376131636434616563373461613763643334323332643661303336393933
-61316131313539633235623336383265663533626433646434383635373231343762376430306565
-39396666643063613765623432303964313061326530386137313639383038396263363562613963
-30306664303035626438353964323663346435646534626235656430653863366337613738633732
-37323061623566353863343462623533653533313830343264393934343438316139633064303062
-33613734613861356463383431626432643064313065663337363366323364666431363834373938
-32633166633463626631356363663730336461356137386437366663363839373331393130313266
-35643766633964396232616239383662316165643735366363363936323964643363363964363064
-61636561653634323035353965313634626466613062316366633830666562316131313964353631
-38363531336666346232373735653662343331643133653331666164663439663032353463663734
-61376138633736343639363832396566616561353139363035343837613731363538653234313134
-39333363343163376232353034356163363062616466613665366635346466613861306338336339
-64646336623061393135643061663136323938636335356630613337346437383232623064343166
-34613534663832336264353132393536313964646664303761303530373738323531626465663134
-61646261656536326236303665346432633235353939373435386130313561386263663032383133
-61323865663137666261343263623334363439333765613638633137656230393863313931653638
-39376161656162323338313132316630316663303564646139663833653766323135643164613830
-35353639376130373462393564316162313336313230623737303031373831313964656662633634
-64393337626238653664653439656262656265666461633239346534373531383563336539393664
-61616662373934666534396465333466303835356536663939306437633039326435383036653335
-35306630633766653661346637353565393263323465353162633537343639656531653430636335
-35356331393462383934343535653930373030666263653663626134393862663831313065656233
-32346364653539383633636162646562356364306536666635613566333734373133653632346236
-30323830313336323539646436386466633666623264313035653063366633636538343831643938
-38316539343938623634383531316364393137636162333035643531383063643230666336313135
-65636330643937393866643238343339666166613964366631363630393235626536366265643861
-64306636656331313437313162333239343561623539363531356237326661333464353731353265
-34376136363264343862363036626231313464643636316531663836323833643964306435396536
-66633732653430613032363237643339383631323836303031333334356666383936393539316537
-61376362306432646461333261353637363666376161346662633139396136653861333231646264
-61623563393933646636636236366537333261396239323461613565383632386363326531643362
-39326262366434313831306631663965383761633166306365653762666633326231623364353134
-63623931346264353161643131636335393439336134626666363334613265396465383165373832
-63323062373364306365633038633836393336623134653331653131636638346630343663396562
-37626531616432633931663239343939373736383365633937333430343832393036326265343666
-65653631343866306263656161353131393733613334383639343366633766386636333661636530
-64333061386161613334646437633661343762313363353432356436336263616665613935633934
-62396534323764303537396634636164386638626162636162323664653663323964643638396433
-37316439616539353962646363316433313335663662626435646231356361346463626365636631
-36613065663264383136656630623966373462393332326238323862396561626137613830353435
-35646131376261643166343130386231633066613464343439623136643561313964386431323664
-62306665623364663865656439383666363563383866666163363762353336376365353238353732
-35396532663534643338383235323138383136346464333261383930356135333261363830363536
-61306462393865386333633961663333636633386438396135313437366535376538306562306365
-33666633316631343536343033323632346231393335663937613363623633316161303165373431
-33663936636637316531386438626631336337303866366165643733363162613262653063333063
-32316333363865353361313931323563333561333733323866626336663562623461393439363461
-35336533363563313036623434303762353836373833316430336664306635336531663331356164
-64653966663239373965323639363039303039383232393134643536326633363363376264666238
-32323639653436366237636335366464366464386363336465336537356630316630333566353264
-34353938326134303333346665303635653135396432623962623539623066383130613363383233
-36313764623538623566373932393338653262376630313335326636316432393765633338393764
-33633531616236643165643566613537356266336634646131373833636435623231303831633933
-35643734353531666538613563366339316536316263363138303864656562336164323132386335
-36636538343964356230343538636530656331373638363166626238316333306437353933393238
-62373363386531613736623734313666663638313265643662366366656338376162643839613032
-32656333656536396438656363616533613439313062623066343737653430313332653166383762
-33383865646634383562343038633236366531366563366134346638363962363939633435653966
-30613962353532623162336535636638323533383636343837386165653335636238623364313764
-33643363313237636466313264316462336338363965373862643239643437356338356439326335
-62363564363737343266373164323735393235643165633035633964353539643565343436663239
-63313435396434343939636132313838333138363564643634353165663037316139393062366362
-64336264393438376464356136316166313833356137393338346533303335336566303632306266
-64646331386166323865383561623166303363623633613938303138323061313763643635323763
-31303730323366626139626438396364383365663030376239373430623135353566356264653837
-64623030383566613736393533353164363732613961333866366130306365333732346637616262
-62323065643831373331643537376336373430353939616536653530366462613331396536313634
-31646237616263363732333166303661363335663230343135383432626362636334376165656235
-37333834636530316136663034376137336333343733326536303231303561656631376438643664
-33386634623062373566366166343363356561663266346238613962303336313439326432623861
-33646337613264643635323137623562326631336535343638633038623862393735643532343431
-37616234626638623439613431663564303934326664353439346164336565636362373834316631
-61396438643838336630386635333564323364623262643061316162663730656332626333366237
-35333333353938663465373763346634366364663435386464623030366633623632366138623233
-37663139373261643532363737303564346566323334383135366636326564666230303238666533
-63343565656536616631313439656231343237313031373036363035643836643661363665363665
-30663632366337626262396465333736653839613964383631633434326339643834633662363632
-33333965386430623730623634343838326134366335383362656330376465313333643962396165
-33383533316138316532633162653438336331383833356539386638313635646339646461663866
-39616636643665323635313833356538613466323839643537633439396136356461373764633538
-63316536636664373431646138326632643066393262316637396331646135643933653433666238
-31323064306134363335346261633333653238303339306237623362386565363237356632313566
-36666363633261386664613936643339643339636266303739326236346432636137633266613137
-66363539646365333866353139643032373666383134653139366439323361303464626237356335
-62386530636134356334353335663663343339626534316661303763633738326266323066376137
-37353536393464316439663039663830326130363065633730643636376361386436646662303564
-38626637653665663564643134306431316236326465346262373961383139396631366137643739
-63386431303535646461393032653163313431326139383139616133336333326237623334626133
-39643630633434323732653139636662616165623937653532323764363032333536386664386433
-33383537663335616339653261313837313632383865343030373036313338626230353836306666
-35656537346466393561646536643637306435373862316434656266613634646332353630626663
-63303566613331666666333930326538396362353033383966386635613234326139306138343639
-63646139356134643837343666373839333933633263646462396364366266616339643733646161
-63623264306362363732303336316634613637343437633566646334303564323636613332623035
-30386133353262613661366666643233313435353834373135623933626635643062323037363736
-31393130656337313533343161303265323834353739336366613334613839636134616561313934
-64303431313266653066616631373963346436633933306164666430333063333963666238393836
-32333732656338616332613832643065636434316666363038393231653939623763333836656562
-36303562326432373736616230386332383032633066383066343963386364613139333766663962
-65383832643464633832363563343536643531333435376235356566373135653835616133636633
-61373934353366656363396165393936366237323039393434623833383138646338366233643234
-37373731643330393638616134363863643662613836646566343063313766646435363436653636
-65323030636362336339303833303636623464343165626365376235313761626438303263653033
-66373135633664353536383237353963356630633064376137393031353064336332326464323638
-37633864666463393165336533643636626162393136663238336336613262633962643662663233
-39313234346633666333653663363635643139633936376463373731653031393030313366633532
-63383735306661383738383634333035333062363662656232616161333831643738306365363566
-65323030643662643662663166656465346335303833316338643162323461313366643831373930
-33346435366663343366343637393965616330383937663037636132326265326266386132666331
-61636336303265333638396539363530356635626165636633666137343637396638353965303331
-63326132333039656139653665353739333764336639653562356139353931663030393661613438
-63303663646535646435313937373965656161366234376364383539666362623337353133333834
-30373763636531373734336262343964356135303637356665633866363635386263366632343730
-37343466633537323366623234393038383564636630616334643633653436303735653763393339
-63636135353265336666356530343865313762396363333636383037323462366431623536323162
-33643739306565623935366532316132383135346237353661333834666435373230386234393432
-30666632353238653464313736616431656634336136636236356566346430376361373930316537
-30346262653964333263373039643264303737616430663431386231353764383462313832623464
-62333333616534623232396634333231346133323736363339373363346638363065346238383730
-38643233646137323937313366366231616561316337383236333730623763393665316365353462
-34343133353466613935636238303464623235323634376335363630353537376335393363643734
-35306161396162313834643665653235346530346561656433386361636534353466663564323364
-34353533396136396535323361666538343337633964363533396433636663393434383062313132
-33353566396566393366623064313433393263323637653832666166363337653162643134613536
-30356134333363323262633332306461663966383265363464616662613364333839646435646632
-37383235343962626437313562666337303739373964666463356532666663623330376234353963
-31333864633061636461633536326461333464386266336464303632636235366431636161316130
-31373236393437663364396534613233343135393435663939396531333563623835643532326365
-30613931393161313762306333633634343436323866353562663562646536343631383932663037
-37653061653534323061373232633231353037333033363764626338346130306332363662373965
-34353239663565663137313537646438363763636462393966373330633435336263636566656563
-65636233316631313938636533313865306238306535366566366235373433356232636661623733
-64373463393963646632626337346432633864633533356661613538613435316438353461613931
-35616531633138663730373762356338663862333263323134383837383834646133383034313265
-36393235366661356562356262353834393163303765626365303562396434633730626432316430
-63623663306466386234613735663666626432333737376364636465613465393065396630616264
-62613866663861356435643466613032386534616439393062613536653965366438386662613461
-33356465383734643738393539373566333639333765353834326532353761333031636632343562
-65616461663466383433663934366635656635343166653733616531343063633963623862646637
-61613362666634623436383835363435623038363735666236663739303333396365656165386132
-62303337613034626239623064666633333466356536666536366236383737656661363433663062
-64663830356262373731396531613337393235616161643932353130623166333531363634663037
-34643661313733376562633233333230316633626664623432316430386330363061363534386138
-64643562623531643032363566346631323761366466623133323165303465613032323132656162
-35343634356630383630343634663535336365636662396232343938393734333239333035653736
-65376264303064623861636461353366366164373935373861633130663564623836646331303936
-63623837646664633438303337346666396131373638353263653861313261343834653835663737
-38363334306433386134316335323636356533656235363633613961333635363634376261663161
-63383033303566323437323935623064383766323864643638666363376365336634316337616437
-39383866366533353162323039303265383533623132623562316265663239373830343031666462
-66346363666337363162386462353764656339666431316361333436336539353833636465393132
-64376264306637323466356165393766363861663436373338613662646232646133643636343164
-39396637636538336439346236613635366336663337323466663438393062346366346234306266
-30656533353163636434343137353363656539613863633636353334363763623565306534656431
-33343831326538316665643335363533653830343136376638653630376130663839393533633430
-62386462646637373764623934623463633935316336303131616166613237373561623130646665
-66313764333364333262633531393837333330323038613964356435633961613430323436373736
-62346532653130656166353563616266306337656163613931386136643638383831376264303836
-61323839366537343262373831633930303766613135356536343532393833663837386465333237
-37626362313538653030643839343431383636633165343465643561616332376236643061326136
-35313961613032353530333061363536333834373530626662666632643661313061316430313534
-63636333356431626631343131663731333631636134353936623934363364326233336439626662
-62313732373165326533323730366365636534633036383833386139646530646536316466396636
-37326364326639646533393736656336376563376239316434373134323533303835626361356164
-32316538336465356337623534303936333263366161666533613335663733323161393061646665
-31386336386235333038393932366164653530653533373331363535376235333936353162373931
-36353339323338343633313838653232373039313462626539396137623561643236656535333330
-35396462393362386635326134636565633135356530633963613961303165613335306333623037
-34623137626430313530353064386331323863666232656166383631656638363837333963303037
-31643034393165323866623733323634613234623661633734333064633162643965643336343562
-39323864386638633939636539643761346131366435343866636662613135376431396539393537
-66393032616534333834393464373736363262633830396236623762363063323431333730353433
-30336663636333393933346333656662613436353730376533333533633935393230363435633337
-31666361633635306531613834653864346333666532646332643839626539613163323037383634
-63363838376463653466393466333738616661386132323438613536393562323663666334376136
-36316233656233343163306335643463363437313935343135333230633861626130393966366535
-64323464356231316664303966636634326363363062623537623461623862353131646362396230
-65303863633931303333353761356666313039363066633462353132343434353866636463613463
-31653633303936613039326135313763323264353830356334633336366132373436316263326437
-35633863626337643138376238653762613836376361633532613638373461613136626530383735
-63306631626561633035353739663666316233326337646361663862333233393561663134346437
-61613062363335663737323035616537373563346334373765326463303037323837323664666166
-34333431303539656561643065373731666665363236633436616334626465306333383766343164
-65363636656238336230326431623938616466343936386532336337663038356463623730336638
-31393436393935613930396135343162646332633330343438353639643133396538663561626536
-32633938353761653137366664393539343862323133626131633336653335393135653330623532
-62383034343531653139316232333566666663626433356335303431376562376136356133316362
-39643465623435386131366238343062326534346338313832646266353930623230353964306132
-35306131353430646138613966616332303533346630383233326234323161386437633531353734
-34333630356631353634623635316230306532653164386234353562373363643030656665393032
-64646334626561323430313930306238326431333430313836383236643837343166393632633135
-66303165373938613435303861373562356534323863363433326137653664623537303838373739
-66343632323061373939653432636133626436393962326534633361396635336661653130376132
-31353835323664663637343065346630313431373234346431326130326165666637623763303234
-35323030636466316137333730656365623831363036323433313437653165616539613165373432
-38346663356631373738373134336666383833663234363335343938396534646136383864643931
-34343237343166373337626365643435333266346235373262343035613935333466333061646661
-38343633346562343138343139636239343830343235633063656530636138613062336236623439
-66353534613135613365313964356362383339363337393634343537313732303437393334343436
-39666365663538623865313239383237323930316330653232636539613263383961333737623134
-33366565366332346135646561643734633461333437663338643164643438393462656330366366
-36393931363636343665386264386338333764616466336665393334343263616232356137333066
-33356439356362396633323166613939623961363063346139653737306461383333663765303163
-33366261636239643863653937376137376638326565643662633464366663356163653236373934
-61646538326139363836306639623535323333383339653033383766633433393038626530393130
-32613265633632306132333239313132656139383031343963306633396265613037353231336532
-66393933613061323838303166383862636138316263376436336637623839633365383034373965
-63633034633762316339353336333736643836623435303633613333643034386337393935373336
-65303034646131663939376637333839316465623030653830373334656639333036666232376534
-33633563613239313966663233333934386338626634303135316263303834313461333361313335
-66376332333231346563646339616532363131383035396438336336633538343765376635616266
-65356632626362376265333266366636343830373565363465356333623636646662333862343063
-66363065633239626162396435663366373665336463623966303239623537653363613162393962
-64653138623634396438343432386162663737316433333966303962643564326433383333386133
-31356134386634303838323963313231393036373464313737623535323339363565646333623738
-37356232333438386439386666333035353434376338393130393739303034373666313763383339
-65366365626265356435343866353134353439393638663131616537326162623632306164316335
-62386364663562376634653665366230623932396539363065393733363063323837303330626432
-64343638303630303735373636393134393437376263303630353439653461353161663531623262
-35366663393866643064373034623635633836633861363433303962376464646231343730313939
-36316634393334383239306634616530613463643730646264646466346661323534383836393332
-37386366666161386661333866643337376436386235326439616237633864383435363362316435
-63383131633539643433386539653766356537663931643263383961336239623632666537336135
-62636534353530646363373061633232316365386631333130313533383362366464343766623034
-37336637643431383435346661336531316666306561613232323362353037636565313936626538
-35623031393034376131303538326633316133303837346163363830633533333463623531666633
-32383235356366386263356466323262373039333535383736623430643066643436346639306232
-65616564306334333234333730623537383937636362663630366533646435323638646263613532
-31643265353439333637323861623261653237353164383761353762643837396664633932653839
-63613332313630386664313738366238636532323931333137353030316463386630343738393065
-61653861643033313236303561633761363937613335643865336237336661336362633137316334
-39313638666365303363356235663139396238303032663161626538643630373938333431626430
-32376530363366636635363862623065346264313462613962353661363237373763396134383234
-63373936303232663538306435633333393930363637383031323335303530613265343434356465
-30316334376432343864613135346661323035616265323631333931316235303263393139376533
-63353434393365663333636362656633396661313563363239363830393539303562633035373736
-62616530323435633039323766613631306432613830363037346133643664366137666236626163
-65386236306434376165306661323362313139373539646232363962333836373538346539353837
-31323431393932653936333534333665356235623736623930373835323263363661663531653566
-32653239363164373739323233343839366233336163326262346236653833353261386666303832
-35313861396630613937316432313363303264626465653437613663623433303436653066623264
-62373839303062346139643436623436386436353438343966623535333432313038356135343537
-33383265326632393662356434336433613135363961363333663137386331643831323366626632
-61343164623365396130333163656662393461313235326137323731616331306537363935653132
-65613561663331383136333730393738643532353135613366316462303632663461666262623834
-65316161316637383364623139636264616233333733383833313831356264343266373037313835
-30336432653762346437663239336466663632616164343737313866373362626131636238386166
-38643538666439633636333530343737343264366430646534396261346330383962313565343366
-39643633636336356163306163363936633165663936366465303931373234623634373533373661
-63633064656436333662643535636466386130613034393338383565383561353738356166396164
-39333133666234376134336331653566326534386265613561316438303430626237316131343035
-61636464633736616236633936336632306534303135396530323039303061656330616636336231
-38333936343364613162396365613131633061623537393262363137666134666637333433323562
-37663330613335383730616232323963373932653336626438366461393863303331613565316162
-34613831383739616233343437366231613738316261396363353039613334643031393930333463
-63303931623236633334366265303434373436316633646563303134353064333136636539313231
-64643734663434653732616166633731346432343862366533303262616436393037623161356165
-33636530623434363035663032626331373633633935333132623634633466333864306464656262
-66616565346464336532623336316337646335353333626465303738313761313935333031616634
-61333365656639386664653030353739653563323764656465353030333535633830336165363130
-34653065373064613362666231306436386361666164303234333933353232653937623736666237
-38663063636539303233303262613430386334356639343930663632623961393235663532306661
-64326435633165383337343333353361663066663831646534643536353730353663343638396236
-34653261316463396464383630333233636261376165376631303837643061343961326663613163
-32393435623131653531643038616336666538356232353238383637323431376232643863313137
-64626339336137633431343066623962353934653538643762356633616464613565623739323965
-63376535386237616265653239663665356433323131393531613961323165336334666162393633
-36323335333663336361376538356532626433663539653064343863346637353962333737366137
-35303162373366393630373764306635626639643332633136373265363236323937646335666131
-66393761316138393931363461336232626162346265343064313636313534363363356565366436
-38663563666463366230343865626539346664613733386163303665396364323931326566396330
-62663266613835383164373539396336646131376666333235646539663439633163366166313733
-34636139316131306261643031333336356561363730616561313732386561353337313934636662
-36613831616330343533656265643861613830653562623439393438356435393238613833323361
-66633235386236353338383363613263356430656461353261373465393034326465666635316662
-37623837376535613138336265636131363238356436396464653036353237346564626239323762
-64346136353161353339323136303334393131373030326366363836356365643931633138343736
-30623032386162643865393664393339393165373863363537323933336538333539643262363934
-35353665326462313037663863656462333865356137626462613964303261333932343762343962
-37646431353932653632363935616430616230616133383064333866616531323066393430336531
-39343831623264313037356537333464336535643664623631653362613530623061363935346232
-65313231323561363964623835346638336237663530643836323266633339636663373938353639
-39663738386631336466313365303964303366343838363164383165656238326435323931356334
-38623038656633303434646638316139643032643637313539646266363434653362616562363066
-37643630663233373138653835333936373832386364373464316235363236663637393136316431
-34333437396536656563346335353166306537303032613939366534313764653035323165353562
-65636234333039626666623865393964613031646531353639316438643239303662333232383133
-64323432663162623330653763393936303338306135316433646237396264303233613234346232
-63373365303735386138656436363534323330623962346565653930373031323530663836666365
-34613561313531633730306436666462343864643036333733313831356465373361363231643636
-36613233396436383733626532643638306566303639656261353361383530616266653038313135
-34366230623264376532313433663134393236323334663063636162653532613163363235333236
-37356138626335383631666133353164336337353335346637343834646137386632336132346231
-62373136363465396165353066313130373133653063633665343538386563623864666563653138
-34363439303665316336376163303363343535303437303663306238636362633233386338306463
-64633633373231306637613630623536333365336330323337646631366332396230663133626136
-36393737373832623133326465353864396466396362623631326564643865646337626338613365
-35303262333336636363386530336461626664313836663734303864316666396361396463393030
-64363936356137383863376530616335343261643161643035643731373536353533376262393836
-63636132666539656563623437373364663938383263343664656463323064396232623861336161
-36666361653662666238323562303631636231663137376431343438643235383337393835666565
-65633538326631393836396438386232646637616534303834353835353663326132396363663230
-36383932613961376463333234363062623264653362646330323738353665333163313466643939
-62343264623036336364376663303866336261653732633039656435613534386632386438396366
-34643366666566613539613862643865373064323939633565396430346435366566313361323932
-63643666313131346461343664313261306434303765343061353034333439636130633861616336
-39313064616363666639373266333732393563326564376633366535663130616364336663303038
-39343536306334633237306262653935326336633138313137613565643037663765326566626131
-31306364623632663965373665626534366236633135663831306239333839346161653361333437
-63393839386462653363343535393261663164363233396161346531303063356662363632333364
-34626237646337323861303235303630636634393561373564396133396638653136396537373734
-33613762616136393331326431373266323461393239373939376131653261623263616465656364
-36386432623733663333383435653161623035346436626431396265633365303063316133333438
-35646634633930303937633063353861303630366362313136383639653363336332626139666663
-30646331323763316261643266323663626537333361363063326561363066653962393562663134
-34356330616562343339363964313162366534636133636636316265383538306532346461653965
-63393230663363636666303839633131623066393238653936373837323538333361393466636166
-33306665653737633631653636653430336632623965376231323861313035656238636639616537
-64336262366464383533653631336366353133663464646166383534636337356461353930363565
-30386638643839613862643461613932633163373131353430623333393532626436366562353862
-38643634333137633861333662343335613963646564353037333434393064623135626662333463
-62613736356333386233336534373037333831373239333830383561613234646131613631653066
-62623934396130316664653163323934373561363061386166633063316639643162633233396634
-30653832313331643633386163656335336638303535366334323233356437623237613436313361
-35636161653737646566316634663066336534643938303463643838616163383139663163663536
-34396465646561323066386235356362613061343764646261316334636435386639623936626330
-65623962626630326230663365323030643066626662323930666435653263396432396265346264
-65653636616633333931613632313937333965346335356336383561373230656365383662636364
-30613138316530666163616638323936656361313964333530343162616636646431366464356137
-36303136636639333866613939386464623533346566666237646539356566316264343533316466
-38326265646165646335616634623036623365626637333138323536663962336362663737336435
-64383462633734363361633165613063643032323362343433386565376564376434623838313065
-33623036636432656465343739383961646362393731376232653061366239356238333663333232
-61303334653966376537393261333339653764393632343062313331383565353664613961376561
-33346563363134643739353039373030336530323935646638623733646432316562313932653262
-32396339383662646430316634613531396665653163376361663632623564626234326239353932
-31356366653634353835646363643965363739353636663661363230376161326137386436303736
-34383431376166653337653839663662373737313835383638326463383037366334386636346266
-31643737323734646235386362393033666563663838613038313665383133393566343138343533
-66383631643937663763353339316635393131353862356331623766653932323231336262613834
-65343065343336336239366164343663666137376262663237356664643835333534343364323335
-36396634313837373362353330313065326634393966383138383866363262653836383733356238
-32636432653037356437663163633732383361346466343965366232663063306230373931636161
-66363038376133643064366461353432373332613633663438373166326437633066343263373266
-36356237613538303863373133613238383266636131363063653434323361323665646564353830
-31333833643964363966663737623466653262656436323235353134383632356331303064613432
-65346238636535363630363831643731313663313232313962613939376666613462313235643166
-30373132333936346335303938373833396264376137383263323664373364313432386665656636
-63346135383731306635316538356539353232633039666661366234326431643435386564393039
-37373966653437366232366131356666663063313066396566633238613237633133353436393537
-62656232653336323933643766643332363233336136303437663336323461653532646131646635
-66303339626133643566353237613236316536353633613562383430303361376235616131346265
-64366164613131636563663363313865666538613666653931656437666339373264396337336162
-35313536636532643439346534333536616533626230373632666661343239333766343237643237
-37646538333933656337343634373362343132663733333936373963363234326132353766613566
-33373864303231373636623661323930663539363863646634353363623234356566646266353365
-35366565396433636539323630623766633833636561313865393439363863373637643231623765
-35626130623966316339646331636439656233343561646565643265396534636634626238666263
-34636431393462316339343830363538613439333937386131663338613438353939613362316137
-32393532643839663335316637303565373465633632656333383837343237333033353763316437
-63396664656531376331623632663036376332333735303536386138643731653331343732356164
-32366466346437623730353635373964653965636330633736383035343731663939306633303935
-35323163663131633033303532623961393861303935623864633236313739316664393263626538
-38383932313036356662363966616666303633333737383930336266366436313737356564373132
-32663735663465613332396336363263383833643533306665613538663664633664376438326261
-38346530643930306264376338353262666463623765336336323734663336313130346364393433
-65316538633538613930363138366136666432306262663237636234333565366263633264333035
-37616263333238313364323235666437323435613638393632663934303939663731393930373333
-34656264316261373665616130616166306634643764396236303334353733323339353864613230
-37356235626165313064633231326339356563656261303835616134343238363230376230306131
-31383764656562336566646664353038643863363438376365633463373837656666663462323038
-38383065633965363138316539376464393330376131366565346636343761363532343166373630
-64636665653132663863666261303966633630623566636636626330633338366466376365666637
-33343830383463383161393136626563616463653139353864393737393630316533353632643136
-30373662326236393862393538633632613039623466363939333636346564326135333165323664
-61613065366332333835613766393961373832356231386234653234343738636162353035396434
-32323538653339313164393731613865646231373238653732666465366165353636353466323338
-31303962626461373764303861613334333666626636623932343535373662346332383939303031
-31323334353934386565313735333633623535393130323930366262633632653133393031363564
-33656563366364393265326263386431613361333532336639373434333238633165383566666330
-63323531366538366138666665663966663364393762653539343161656466313231396362373864
-36643536386634653164386465353965656565646165353764656235336437343966643866353133
-39616237373839306463623234383331323330383365393330626332666236313539663661616261
-64663339623630323464383238626662353964393064363863333039633032376162316466376131
-31336237626338613134303338323338633039666632336631373335333430656663393162303366
-62316230346234356365643337396631316130383161653330613836636535373331313162633636
-39356536393666326361393663376131316538376334316133353661656266636135303939646433
-65613566643964353134326562323965393933643161646662656265313866393537623066376635
-37313262366163613662633233353533376263643162373835616632356265626434353063656435
-62326135306131306236353365393964623964313933383537363266363335656166383436363038
-64336239646432316332663863386634363738626461383536353664613234323438636161363239
-63396138623961356165373733343432616234633464383439633963313634666135323533616635
-38306431303062666361333561616264343937666230316465663735626365613030363064313665
-36306639323038623634343039646461346234393730663566626230623461366231653764366663
-66303264353138336632323032353337333837653861386330326638303465663935303863653163
-64653433343332613834363938626262393330653133366632333038303934656535393736346639
-61396133643130376137346336666234386339336363303963613134633738346363393263333935
-31303337623038373538396531383532343763646430326364396438353733653537383832303234
-66646439353635396132393838653765383466306334393439336431373633616336363966653264
-31636564613032323562303463336231656136316664336534323961663865366136373764633238
-34333966343666653634303634663032316461353238343135633563666434653762306262373765
-30353330383234326138336364633363373031626163386535363537346637623535626564656363
-65303535303735623738303033353966363836383139666239343766633633373739646664626533
-35383830623734303065363731376564333662343561626562303363643037613337616431616162
-63363531313765336161383431303336636139623533653933303131346234633362336131383632
-30656332616338333538623965646433303534633033383635633436333034326662663837393565
-39366535386565373362666331306239656638376133393032653564353435316535666439383833
-35623233323938376537306638353765613732633433646665333633663764316634386337383766
-34613762636463333935353037623236643235373530633338323437333836613461383030343864
-63666262663433393935383430656362396130373264326230616236346436356162646166663433
-38353237386536333664616539623535313236356362643734656537353836316264613663623762
-62623337316531643333346264613165306632613465316364353533353933356330636335376633
-66653039623130313531376138383963316636343639353964313363623830663564646163653734
-39353237616438373135316266356430323165323862333566653837346338633338323664376561
-35313131626530336266653138393838643762353732303161343632613335363465363864353433
-34623030613166313839613237333764623039356437316334613663393162333332613338393462
-38636537646364653739633731306237333532303434376165313863383163373566366266363236
-66383530396666623265623030333130323534323631303033343437363033333435656137373935
-61303939663036373963343661316633376437663263336230313363336638373464613830356130
-66623033303231323532653462316531383961616565306335376636633637323133336536616363
-31336433333063633065336161396164326534383233356331303766333537333765363636313862
-65376339336663613032643563313162306537383230623334326165396163353661643563646239
-32383431666165653563303066343566363864326133366235376464663134363161343363663738
-61383964643761383336343330316366383962626237356637393432643261656635653963626133
-62613139363033353234366233353864383365366233386332666430343366643736303032633762
-37306435633935383331383331353264616136303535623333386633363139343836653132643232
-32663439613535303163333230643731343532643033383837616132653761313838333333376232
-39366337383636336139313730656335646233356561316366363865646637303261316133373934
-32346131396661376661623163376436313730383637646631303463343566373035643133363033
-34666263643464323837323937643738643762336436343231366139616338343633376435323661
-65386436343735383566303262346438643738376334353336626363383332303639613263303661
-33393831333430363963333738626538646265303432653234343232643832363933633936376163
-39343836373033383439306638383165373533623735313563353534393232356438666136636239
-61613161373765643030623866666338303061323830613964393031333935663835383030356566
-66363831376361633930643062663436356430333562393961313633623936393161643536353564
-38313564303939663066323462363263373330336661366238653532376662346365306662393631
-63613530633033623132326433396630626261336461373364303238626539643537633232333566
-35373339383566636638393662626533363932353865313565623237353131373434356337646637
-34303239306538396338393737363563323363383739636433366537356363393261326665633863
-32653161396263313366666437353036343935656532326333336562366263363634613963343830
-30313637366332306566393230333932356465363036396535383531633832653639333931386565
-62633033626266353532326536353731663132383261333065636531666666346534353862346333
-31343137663030623633353865653335363330363862626365326663356266356331373235383961
-36656536646261313236346365633330303739333234363032633666386164346565343735353066
-64666533636439626566633336353530383839663066616366666438613138303864326238396366
-66333766313932333237303134656465666439313261336264333232323837303965376166353535
-36386130333066613335316661333431366266356464663838316462323535333266363132363531
-35333535326533363534363361663732623632306537346435376236363039616632666338666439
-66396233663863633765646366383331656562303832333034653863636333613534623034343566
-31393831366162386361623161333931373837356130313930383833646561316237333939343730
-63386465643639613462656334613032616137663839663536643339313139653363643266646432
-64613561393130393061653039383963313535656332643330346433336535393431656637626539
-61613937346336373265306436353039316664643461323232373766396162323834373363343134
-33396364643034353064623138353433653162366437623762383464383964376433393134353666
-35653731363439306465316530636264343939363065343933306135626339656463376362663035
-63363164333864316664666363373061303962363736656165353561353834373834343536313461
-64353839386636656536323464343332383532396639663562333934613830643030633938653734
-36346265656566613630616561666630316661366263313365333539373565363639303239643363
-36613163666261623838303865633133366332316665336537373235623937656264393134376330
-61666536363338353362363565303736623463326134636638613638343332616239346236353834
-61643562373938656632353330343365333435623165323730326438376634356266383862303930
-30646235343133386430636563393464656533326635663938336230616465343239323033613431
-63656134663731663636636665643266376261396635356139393736343332663133366333363566
-33393330386261313336313361333531643436646531303636356565306364623236623631643430
-38633136356531373231613831336237646161333265393362643236316661663866323032386166
-39383836316164643137343762646338356466373839653836366633383265346563326332343932
-33373534376530316131303462343863613036656633333637656332313634623135646138383235
-39326434616465353237326436383139623537623836623163373730623338356432303936393537
-36366131376131623332323061616636303434653432363337646634663664663132356432663132
-33366361356663396439386163333333363733613466666263396339323432623235646566393238
-61306232643566663530376335383661646231643664613361346230306266616463626264366266
-33626539643366323239666565356537643934376261363364313836336366306262313532373166
-66386265313732303565636166336462303437363434653237346164366363383434366338633163
-65363632323961626636353863306161623834333531306664386438653132613738616333393534
-37313763313230616665643965316138653430626162373039373665323038383837333733303238
-65326630366532646334323037356566333966313434616639643263303764363834323633323737
-35623539393438636635643336616534393161303565343531633931353634656337366238643430
-34636363333436313933653565643135366236656261373266623335303339336330303536666334
-35636234303630626335383831653734323035353561623365366166613930393931666162373563
-62393335393937666231303463666534363437313335643431313939626564313435363565353137
-33303932353965646566366534663234363561613434386130333134633334616466303865396565
-33383765326563653366326236386233323835323861343232326330616561633565336139646232
-39613139383235313638356337373835633635663439363661643834306138313362616165323030
-65376639623439386637316665663463373436363733303531626566666366666132316136623832
-39393334623735393032333135623531633933623633333661323531636566343934373132623934
-31356634663966656461326232386534343064393165373532313738626166323331633937373366
-38353165666163386365353966363930386337393238323031663238623134366332666564613338
-36343239663532313533373432643261346538306233633230326264643163303361346566663563
-62666461356265616632643932636665663437346632383863343135623230636663656634363062
-63383539363665626366376139656463633139326666386437653531666263393330396566653733
-38373632346132653365333734653536343330656632656661636538653435636362643762646230
-61333333616331323932633163646435626431666433663132393435653435646563313235323238
-39643762643666353062316463343232393765333366316138666532363830313239353936396638
-33363134616631396435633334636234323364316665643130646165343634616339623238326162
-31303266366262333732653731636239636563623864366233623862393562333336663835626361
-30326530313361306363643366346264326234643563643639323030323966333664373138313662
-38383264663930383037316464323163353036336237626565373835386137396434316364376531
-39653932396430383838313563346163353138333561336538616531343464663635613362646435
-66333738343938663732363239376564306632636361653131656266323364623233383765323335
-65626531363434616465363735343130656663326635383361613063303766356665383032323063
-62383138393634623635323932323636626161666663636232653435383963323233363663373362
-30656430356239666363373137626530643939303166393730376233373839373636306264303938
-65333737646534353934396439303366656363336361313234306165386638376263343761663733
-33336466303132383535626530346261323732666134636335613037356263343635313131646336
-34373765663933613133626337613631663537656664313034306562353631353764353864373031
-31393236343962646239316233303236643162376362316334336234343534376438376265323131
-32373531633535343530386137316332643234333733626630646364363066633232613331633866
-35623832643763616632363464643839313164363336343533656261613537326133616533646562
-65393238656236666132643333303835333737656363303639303833363133393962353865393933
-30353261356338383738353636303362336234613863363834656532646462383261313864393235
-36643637643331623065656364306136633262663731323339363436366561633366353861666138
-63646166336331373730303836363966643563353237363332623366323436316630393364646631
-64346539393661656133623461633533623431356539653565626236396136303830636462373139
-34623536643163313062363639643630373761636365376332303034366639306532633639663837
-39666463626566353736323630336466373931633332616235643435306137646661303930636666
-65316561303465623531633966326365356334383336326436316164636232353566373232313863
-32313461356236306331313233653263363639646335626333313133383234306531643339633961
-62353064636233303731353765656564663035306534373461646632343562396239653035323364
-63316663653765633434393732656361346465386566313464613466353635663539303964666637
-39623333343436646166656464376631356635353065633532663335666165656663323337396533
-36356161393038636461393230333566346363613064633931653633333261313966653665616139
-37313731386366393039363965656438653139353734353737646631373138633038346463366435
-61616465393466396133626433663130646339633530623366336665303536666634393233313963
-65613362383265393131313838306633306163373936353263363033306236323632613862346465
-36623630376238653830343932356362633134356533373738316432383033666665356338363338
-62633133383064373765356234353333666436636163393162346363646463393866396132306435
-63383133393330303231653561356537383964343538356535666633623563346637386163303038
-63303965366432383438633332356262363064393364303266656462333361316531356261353963
-35636539343164363862346263616666383864616639303063663033353738356139336233336131
-31643635653664623230636338633833313335643566663861386464653066303665383538353338
-39663765306262663739356664336662633839353532666137356535643435326663343632336564
-37303531376161313030346462613535353936303730623336666439303134396561643161666539
-35636563323937346238383237656366626632653231336637313731636235646562353835393930
-63333362636531636464383466613133323031376238616239636266303766366439643331356236
-36613863393534613939323966326263306564373939663866646465363730656466366465326432
-63313664616538383138373331383332323561636664646336353633313035356332393462623566
-34303530613533326130643966366437373636396231316639356135613664373162393964353432
-34306530323662303230656536613465646134383037643236623130613635323533646439303539
-31313666326333373961366134353136643764636566633066653864633063316237353139643761
-63356432633961653461303163306339663962616534666263663332363537353632366564633134
-64343662356166306234663162353535343131363735303362663336633930393134303733386334
-30613066626232663661636330383231646263383838663564323036306562663566626334613663
-35313934383737353732393564326464343061616461623236323737363839353131343437393663
-38663131633235633835376565396331363132353835646132326461336236363166306535666539
-31376265346531666232666536346530343564356664303966643665616364646538656531616330
-35616662343063613666343964633336373139343766313362343932633066333833656461653161
-34366666396136323038623930323333343231356266613537623138383438316365303663323763
-30633133646635653263613637623764343237343962353066616533323165643363363965613937
-32393762313865373937373236636262653964646138636133653233393736653566353562646363
-62323639303638313531313137343161376663633862336264636332363134316433663164396630
-62616664643533346235626330356664363039303231366331386431353662356135376437666239
-32626233336634396330303266373138383764376334343634656166666335393362356162363466
-38656236633433393462626636663037623063626638613834313361343232393736356239616132
-64636535303930303363333364616161326230343139396135633465393731343636303135326533
-64636237613135333761336435613866616162636233303539376531623332313738313738323061
-34353261636461666534653237663534366662353730643765366365346635623934393766623230
-34633933623361313131653336336439343038613061343566353064373937356533366464633261
-64373631303662623337396130313161346135613930323431306335376436343564343334623730
-39356238363763633934363261623265313731613835316231333539666538313930653931666663
-64616630366235633463386534373462393966386532376433306439313638356639393564356639
-61393231336361316137663630656435373639366230343435656533376233366238303463316161
-36656538653663316335616561383631353631326432333532313238623861346539356234333261
-35333230386366303431393763373733313131396134366664643665653735303231656135393765
-37313730353132633930346361346439623432623234613965666335323632623639313439336536
-66656537326137643736326163646536633331363765343130356638643863303263656630376232
-31396436626533366432666138626438663238363234313039346165613932643439636663343335
-30356466336466353734383563393262653965646362643730363737663835323365653663313231
-62636264376133303237343466343836366261356334373638356238383732333264306530353634
-35653065343937303434343934623234623737323532346438333263393462643734646366316362
-64303062383937306664353065663261353331613764346135613562323930376664336336663739
-64376565343133346465376638653535623166613434353137346130323265333061313930346163
-34326565386166303363343036633235383633343764616436623166613737643065633761653439
-65333937393033393930366238363139306362633036313534663561353065333033323761383434
-34313265393438376339313466306336613634313332363765373865356136323264323865623666
-36643736633030393836656231613733653837373436356463646463653231353965663261323561
-64363566616230366338636539623363643466383263613337623366626561396164343963366631
-39626264323430623266356364306239326365376336633637666134323338633233643437626133
-64376566356637613865366162316438346336383134623136383930333034646336303335356562
-32373463363535323535666561623833363335363636643832363266653234393264383930643263
-36633465333463353232356239376432653436373231616566346539373032373138343363383831
-32363038353231613266643834363031396263336563383439633931663439303465353932353435
-39343537383830633535333833653261313139353934633433643363393737643663383537613536
-38373433383438386465633039656566303638636435336465393832343733373735653063343461
-37333564366264636330643833626431643265623136623130613037396132623339313933646363
-63323236303266383664386332333030663438373561613064646438376238656364383264353135
-61306663646533623862313462346633326338363838306137336563333065313866393464643236
-38376430656138313234353065313364383537633135376461666361386462653839313230326463
-36383062633035336431656135333661343465306564343232653266373833613939346566656361
-64663963343339326462663237343166363864626538366634363965613638353162383335353030
-33336234373030313633396465346439643633313861643936666364636663303634376435616130
-33666539303265303663303235616364653463646633363838653338366236323531633539353166
-32386236363133333836393930393765646534366630313566623635326561313365353163653733
-33633738386165366431616365386635653862633031376130663431303164613836323437376662
-31376462393162623232616431663838363564363939633337623631383166383363613239663037
-34643639356536326130313832616464303332333734396165353739346462386366373961633534
-33613032366136303630393436396364366233626634376363663365303332323466383531613036
-34663536333433363065356165633236623038643962643961633664666162336333343565346535
-35656133663562656236343830636639393464653136343761383336343035633638633435323832
-38623731643236626531373732373462393231626132646230323164343234626665323364633563
-38623130306363323965373136666138663461633465376232623163383461316335343931633862
-36633837643336343231356531343934323233323630366531376533336233646665306534313939
-63653931613565316566663663633335656235653536393766313332336339356335666434303965
-32613438353031396237346234613265383661323264353733653634643836346161343637653138
-62646435306465626664663430376234373930303238353538353937613163313166363038633464
-35336232383035646666623438383039613435323366346638636664373563653263313564643465
-37336332363964386263336164656630323331306363323938623534653062626330643435383430
-36623838636532623966613264353136306465633930346365376434646637386336386465626436
-65383435396461393463373365643361656461643231303535643933633933333965616636353332
-36323832333661656666626466383762386238663664333630643836333136323063306661643965
-33326163386132623731343130353536383638396162383032356135313339303032356462303938
-65356231396161613561336466383631373565383439623864616235373238633161316633636136
-31346136646237383165373438303061643231323032643934386266633462303533333931366662
-65396465343135353833633635393461376137666533623134356232353339376265346639653738
-34653638373263646538353637623235323434396461313333636630326466663536666565386565
-34353661383336373130623264323631643462653136353661663635353565376332313538316264
-39626531383861373935616462326531316462316430663133386335386565333664333464653634
-64306534666336663132363930333565616130636265623066313966353563633664316338643065
-35346363366665646535323463623730326166616261386433663464353062343235346165376539
-35643666643935333865343531346234616338303965633435663232626265366264666662643338
-38613266633539386566326133613264333531666437653562353232373238306530383231633233
-31633232633561613865306238343430653338653564386266336632633662633163336334636330
-35313061333133343562346166393234376332383565383535303139336561323033643939343734
-64623264626664336334633433306162373666383237626636613334633231633637623234656165
-64633833623032313266376166373464633337396363303165616339653162333364333939316536
-64663730393363386138303764316638343031363136616264643137343366643634653135633738
-37653863316533666136636137383561626366356261356364363864353133613535316636613264
-38653663616437323336333434613633663832643230373837623633383462626362353937393133
-31616263613864663539613732376332633632306366306230366165643233373132313639353161
-30363238303865636135613832356637346230383230356230383638626466646337646465356639
-63363165633532373463616230353961373439626632303862343565356263363537366238326161
-32613737353932623030386563316633316233373163386139376336343466323731313038356330
-38636462653338663037343830636338663630623236666262323236353963633264613966396663
-37366461333830383237613036633636373836653734383566366636363534663861633732376136
-30386639363739343530643435323965366264363136383135353764393064316137636534633537
-39333364313236336162393664623664356433646136306533616666633438383863373730316665
-32643837323537653839376663316362393036663039646436383637663663323332653133353663
-33663935653536303734386132396332303964656333363961323863323734643439646462333636
-35626663656535316364653364626264386338666332393432343266626162616466616134656465
-34386535643637393463313035306266383065326134316232323232396461313464316436303335
-63373862653462363630336131316637656332326563396164656630663135613466333738356533
-61303466653363383931363834306433376163383431363433656166316335633965653563616462
-64386265653236333163656364646432636566656434376436333331396530653833386131613062
-32616432636431396435623965316135303636386135393438636537383432376339316265613434
-62656632393239346565653839386539623931633238376665613234383632373136633038366565
-62316638646136396464396430613636633731323439653437623863323230636661373935396330
-30343733613937353536626131303638643562646539363734336165353230306261646138373030
-63353834353539313762663262363761666664376264393730303639653936303136643039363537
-39636664633339346138666638323761306436663963343635303966633565306134313331663931
-33656163323231316636316530343763653031616163653861636431323936656434313636333732
-36623832333364396131656263616461313030396537623232643663363231363939353966326661
-63623439326530316133346337636236366434636234646636303037353933653236393566613466
-63346430383462323965303631343230653938353261326466343339656538346337396336393136
-37663262613465623231373635623366396334333034316332333933636665366362313137636261
-38626363396233363930303332383338363231383164366462356233616461323131333165373562
-32326161373233663334376461393539303131373631376361333966333762633761353839323466
-30393166656666333763396665346133373537333663646365323432366139313663626638346663
-31316634343131633264353961616134336633323334356464383664653138343462363330653463
-33613039313763613261663066346363393563373061656362366330326530346137373830356539
-64616366383536343162633165663630343535643866613863326235653061373062653131663738
-63316538613864663563353034613236623364323661383337333232343038326561363734323263
-62373538366237613765616131323262616663383730386437323234303536303134363566636439
-66316264363165353265376164376461633731373236633739313035346463363264343731353563
-30616461366136363636363133333035633561633365653239353330346561353239376334356633
-33613537363165386237373437336331393832303165343939666432333538623765663539363738
-33613835353532376633336339616362623633663261366530623264646537643131623537316661
-33626433393437613338656531373734663062643831393732663535366631653630643539643237
-63316130306261336438336163393238323765383938666239376138383061323761356532623037
-33376530333863616137386537626235373736663463353064313862386638363537373630386334
-35323935323139613638376438306431633233343266386537326136363566616637633964343830
-66623333356138386138623165393939373263363938313266616539333432323038323962343764
-30623436323361343864323934343738363735326332623832313038646463663163616635393034
-65323733346561663930383730383238643431623733646538306538333761336461613036343236
-64303839633437333430376161633638633437353036646562316431333339393530393862373336
-30626637313439636430323961623865383165663839363361353236346165303064633031656133
-63323837316433653030653531323133383933303130386438353139396465363331666365643030
-66643861666435363533303638363632613334323365633836363163653962353131666561656336
-66303634373134646331303534366666343235363662626635616536613563376530333531613938
-35353839303866353733663331393762626663323835326233623665643238313332373863386664
-33376438303463393664303566313232316261633135643236366334646663663435633364326662
-65353034356261656465636337343037393532356138663164646539376433636561353337343465
-62316535623761633637636632636331616563386135336238343464303932373637616466636138
-34613835373964383862346130666161386130343931336338303165623334373839633466623464
-37373935353437643831653538663962643430616663333131383562656161353738653437663865
-63373132323733336631656439643663636262376263653535633432626133383062373464643864
-36323830343431326330343738666333303431323337656134653464653538633633353865383332
-64383262393965326364623736396561353765333861613133653361373131393332316166303162
-66613635363835666562643438313038343439613837656531616239343366306231623438336539
-66623034626264393335646663313266613230626631393839316337646161653539376332613663
-38383962613766363062613638326131313765633130643138653030326333363564333732666139
-35396437613264663363303932336637396562623938623564616266633431316131386435353138
-66353265636662656661663838353063633964383034626666333031356432353035353137313261
-64343139396139336231343763346162393661663232343063623639373236613264326538323231
-36386534343335636336383031663761356664623761616236323931303565396230663536333764
-63626239383835366135373833666462663961326164666237623438373434613161336330643737
-33646433336334663262613736656538653633353633383339636535303561336536626365613634
-33303131623731636633353430356365306130616138383338366135663436313737346262383733
-30323166393833396233633939346364643535336233366631636333663238356137343131623132
-61356164656465303730353032313662366663363032666339623139616434393034313036613035
-34646364366163333832656165303862623337666463356431623130653731636636383662633239
-30373835666432653736623162383664663932643461366135356164666333393433353133653337
-37653332663633366633333066653662643165383137626330666462646338633335633938356236
-36636332376566356438356433636537383461363438663637336130636265373762623463633836
-37313361643262633762373365643336653231383930366438363362626366643333663535383737
-62643337353161666236333231346430666536623966643263356265666437363032616163333038
-30643266356463613533636661383332333538393736336462353631323332383438333439393830
-32633232666634656434376564653332646534336332623563613063643030313230396536626164
-38653931333162336635666231663735663462376331376134383636626330306533656535613861
-63306131306461326266656366393831613132393834616365346137613730363063383231323539
-33333438336431346539656333303966623466353438323434316661396434396333626432386463
-35363462333134313063353165343862663332353466316531653632653062363231653930646362
-61333333633339356439373932663730623935383339333666353863313966653063326137373764
-30333031636239346263356532633039353935333964383763633138613732633461383461393531
-38386330333231386465313634653664666266633734343664663131326165336263616439383638
-37376637653936323562303433623836656562383438646663316438613633636165326533356163
-62393830663761356563323235663264313832663962346566646566363633383239643935396365
-31346464393838356261366535643639353138363865623730666138333664343162663631376563
-30316330383835313935373464393366336438636238303938626264393738326334363363343364
-30653439363138363134343264313266336139653861373166323136376635613362323435323161
-31336164623430343263386234383365356636353865656661383338613939333563653237353232
-33646435343538363837313337306435613239633861356439663266383438323531323738363635
-35663163633835383662626161613763396432323330363962663839303831636335666435613231
-37333535633865346431343565613763323035653665646562333738623536656563363366626466
-32336165636130326331666532376265376137663037383064383433306438333030303332626530
-38623935366166303062653932326239626564623337613738306537613665346162316462336230
-39316639333061363863316530313766396139316639366138653532643238633533343233346430
-66373732386138613565373065313537336561663062333532323235396438633930653664316663
-38363735356266323734633465613764636339366231373232313430663630326263363035336637
-35663963356562663832666632643463363664303735626535663732646565363634343831323930
-34313330386562623865363336336161393739626630653432613262393265363936663030363832
-39383664393263633435626530396464336332333661333238353932363832363232343532303166
-66663863353364313836336532643830636466643866613261613266656431363538376362316636
-31373061646533396430333339643265383834333132626438373032353065646635643262393131
-39323831346561656232656437616438356231626331633163666230333763366465303635386438
-35393238363731666230363231353939613463396166333234643930343434663439613534336430
-39663033346136366264656664376233633738633934653764653263363464353963636131666663
-34313762623430306136323565343131626435383163323366363137656639623135366166306261
-34333033353838393734373831336537383134316164646533626261363265393539343036363337
-34353035343239333939323561626233343364303238643363396435376539663331626132626434
-62623230653765313038643534353965343762623935366430643761386464303233623235356436
-62616466376636306464613662386536616430616335336561333463396335326438316630616332
-36303331646330666630636436623334313438336662633762316166323633616361356561313337
-39653863346461613638623936656562386235306637343663393332373034623633666365623833
-37643962623333363830323633386433626435363662356639616462633837393834656437633262
-63333532646666306534653336346462366163326532633033666365613533616337633063386438
-34336363623533653830386536656136356134363935333039303532326133366563383762356538
-65343132393737636561653234323266306666643061343464383630353536316331653337336634
-63333164396331663637313763336538343937313635306464346565306539313433656336653337
-31386631633630636261663038613363306235333432383835613537396138636235353765393233
-37653066326231313438356364333561343664633134306563336362396535383761323366336238
-63636133626165643537313065303930323337383036656136653939336239643465306565626632
-61313837303136343737386263306466363535343930653162383633636635666533343131383737
-30633061363966373565313363323133666339616535376361366133373935366532376133646334
-33636430323533393132623138616435366130326535356539393036356137353031613231353836
-30633463376261363633343863646234363238343763313039613462343165343061653931666239
-32366566626339336664366136633336373231393531396532376537636637616661626138396338
-37663131356334363832643034633563653234343939333136373738383338663162386235393161
-34613062346530613435366234666631623166303666386162646235353535323361326263633537
-35363938393739633530613935346630663434623834616264343262363665386336366536653636
-63623233303562383337323562383137363536383234323362383930306531306231356539643036
-66313662363762343865643736663866306434346162316433663231346261396362336235366162
-66366138323366616264366438626137313630396233313963633761373539313038656264326363
-63616133353463366239656236356633326237383066623030633738336431376361376531373636
-64613635363064376238316330346439343664623233313134373961323033656566313938313262
-32633664663133386531653966383462323062393439323731623761306239366164373239336339
-62396666363464336436623366383832643561313837333266646530653835316533306361643362
-37616431303264333834623232336462643232646336396632376133626262363464326661393335
-33616163313362616462666336623865383431363562393164616235626438636463323431643937
-66393664353964643734346233303963333565636562326631396335363666643566353265306236
-61303336366431303837366135373633363863323935313130656539323434363539623563326661
-34346230646163383663663633336364633539383366356265356433306365396563313331313239
-61383830623063373863343134363932353639303666326638383361393964373032346361343264
-36616338396231643535653131363062316263616230636134376636386334363138306132356564
-38363163346137353733623535376637363837323038313436306330633139633037333837353433
-31383333343863343631383233643666653864616430383462353732343532313830656332323530
-64663139396562313635343539303338333835303765633633366566333933343562386235343332
-63353561633061336537393937613536613435643563626662656132383763353439656639376634
-31353761356438316162376461383265376139666465623638303431306263313265643262366361
-32666438363266643061386564386533323235323735376435313363616233343435343964656566
-35653666366663326330393564396439316538613061343465376364626161316335643565643531
-62383361396332366134393238666666383935363030363066393432633763653362313961333163
-36616166306134653334336234643934656630326135383435643765643165643637323432346131
-38656466636562636361613139663233613032653265633139636361366638343135616163633739
-34326134613861343933393836623332386533366262396264613738653237636563313862363039
-37323961643637653635313133353433393333396132323139353739383963663032336265626263
-39343634353530643130626662373661643665306333353164333764303732323962386631326237
-37346265363366333731316464363961373634343536306461363437306366623830306139643538
-64316639636365393762383633356166366639383031623039663962366137666565353139386566
-33383664383465376661646331643836383362373665376437333434353133613732346536626134
-63396538393765636631383164326637633632393230626234326361653864643137356261346462
-36306266393832363534653564633437303638376536313466343237653738313965333166646138
-38646132616636376565346164633539353439383835333965383731366238313039363833353261
-32356439636530333464343336396239333630623965313434623039663265376461363932366661
-36623862656334356236333535633264343034303337616330343130663564393933323763313166
-64353030663364323866363238663530313565616535313933373561373161373365316436383838
-33313664633231323732353837363330343333363739613133383534333334303732303031646333
-39626331303737336539323164393865653264646664336430613266643866616561343131363865
-37383032313766323332353563353164313638336266363437313831326136366430623835386365
-31623264323932346163303735313966643534363161613936396435356538323664323032313561
-33666366333562316363396338353361636363313464653338323935376664316335376138636161
-63356161336133663739396634613835666462623331616439393037303835303564353836313463
-30343562663530633733326435376539643537623663626136643761616534333465643965356537
-37636434376335613435353563366334313263623332363331366433636336323232616664303036
-32313836323861653533326331646539346130336330663362396133303462376537373164353366
-38633264343933383561353834656166393565346561666532356537653937383161306338616332
-63303736366638623531343338393363396438343039643532373032316134306339333937363961
-65346163323736343138316334336630623635626361393166336665333138333033333139646433
-64366537386239313634373665333030343133323935613861303130646434663038666135346538
-35356137393734323861373830356634393735616663616566616436376563323236663135393038
-31646335326262613461663538376335363361613961336139303837613962313531626133303633
-62356563303133613935633731316363303036663261613535313433643734373830643063343236
-38323134396435386262616238353064356631636561353663646133663830346462623434356236
-61303662666137343232393335663766383565386161383030653931396362346634323831643236
-63653634653634313062663732313764383662326435306331306666666335333235656265613261
-36356635346366313834336664366631373462663538653862636333323732666265343934353138
-38343032353764633831643561343034353663343234373265303038336162626137346139613434
-66623035626634623465323337313836643337626364333131313730663161623665613963343930
-62363034343161633166376439663638303134626432633730373737623466663836366132653161
-64336133326165303165376165666235376630393839356233653362633665656433313935336533
-61333339613862323632633863383030663162613265373762386431623134653132386631626463
-38623238396563643061616330623632393431333562323931636432623035363333303037373862
-35323035323561316161623039363364306562396461366366623861623034303236653034376233
-36316166663430373763653233353537393165636630663638336133663337383665396162326634
-66363339353035653462663035383161303665376464383963326461333834386662396262646130
-62636236633233613533646638336437333263623437343832616335656633303830313765366635
-35353864646361343434623638353661306563623633353563323066616133343466336536306231
-61613562633233333836346331376234383031613938356236303866303235363131366234633562
-61636266666663656436386361613161343631643731353533343464643732363632386563636532
-35663238383037303331626334343264313736333865316564626466666262353531626238323734
-34626433353231313566313435353166303065616633626663633135613937613262356232343038
-35356631326664326235333434313739656230616332346638373438386131376365623734356166
-61643436383062303030326435663864313766633433363839396432326266653661653836643930
-34623463393362643932613231356539363133383065646131623637386236333265636462396535
-39303361396434356532656436383539343036653663616236343431343339653834303464303733
-35626232623032613931633961303363646238383438326436303262336634303264383639653064
-63646131656336373736373432306265373363393235616332663137323562323632303937636564
-66323462326232623933306531363036333463323533626636373830626564636134623839626463
-62643831643035636631376665653461396462356533393233373938616330626236306230313839
-34613263326235383736343231616638643561303632343135363434623930323035383865333165
-65316139633931383064366432376664396563393738636463373631336537323439336332623536
-37623763623032646366393562643733393265653130333166656333663238656666316438323135
-62386262323437343164643235636466633863613034663864356438396536356531363732383230
-31363637656336616534346562633566396438376166393463353163333130643539636133353066
-30336535326566653335313564333664393134393830666639336231393864323038336539663164
-37326239313764613461643130363330633762303430313864356462626465653537626366333766
-36363132393136393639653739386531386366323266323132643161333263613730393035633436
-39356236316236653030623738313062613831616562343534663434663639316433346263356336
-66633339303138316664376133393265316462623030313365326532363865346335623237623933
-36336337306262656331666236326431373261343933643238313836373932373531313863333866
-35333961396633326233626666613332396562383166623730366162623432336232313930306665
-33636235646335366166343563613266323034323631366437636335613866333737646661353835
-32363065316536616638626335383130373933623663303331323131323832656663623863343964
-62633639346638636531353866356636653835316631656334316338636432363032333463666537
-65396234663036323261666132356433383531666261363033333964306436616465336664326462
-30343564396536326135333031643065346561633437346231333939666231313639306562303639
-35656366346137376636643538633566313133616433663065353233383462363432353161643934
-37396336363162653331336163636238656164313561663137333031623239656661313237663932
-36363564666331353437343632623866366431353466306134336131373731333137353364353138
-32633433646265383933643438613635653731633038316531336330656538373463313365636439
-66643839336634343662383764363130353538396131323566626137313830353464653635346633
-36613137386333323031623831356464303761376438363531636233633134393364653462303935
-63366630636538393036326634353163346665343433653939633761376662613731373965393062
-64323235626233653033616136353739353362643835613437313632613262373233366261383335
-64653065386465316563373931363137616131653063626339343537633633643537393036643131
-62396663643836636438653130343362633833616232373639666339373937326138353736336363
-38666265363562383966656664666561616534656565323935623463396434653135353235663937
-62643536353230323936663564663365373731393037643436653833623434393932396666643065
-65636331663633646164373936373665646563313235373962643964366665353733316130373163
-64306238373262343236646462646135366561386163346463643930393064623664346266373632
-37633233653263396263626337343566373137343539353434306232623036643863353636323436
-39643965646531316530613264353930616263633337333236323930373937646466393864636130
-39653434333336393337393930323430396364623633313235306538323834396236346662316362
-35336537336464623962386464633261376631326263626439393765336165656461333137353537
-65653633343761626364353638333163366666396131666137613661653166386439613533613566
-64656662343065313031643433313237396632666332366632383538653932316331356362663834
-30333236336232373435396331633939393463336163636431626166333636313435333435333363
-34663437333938313135326464303637353164336239353232396161393833343236393537366637
-30396631323862373832346337653037623063363138393364663835343832386361393836316364
-65623938383837393963626263616435303266356362653439393930663135623666626239386534
-30386236326365643834656334633264663864326466623132346636323233303230323233643462
-33376265633438313334663335373732356666393637646234666532393362623434626162636531
-61313136396634353965623135636230303464336266323231666633616433333464636664616336
-39326264613439333665336663616139663865346635396566666464316536376461353137393866
-38633736386565306464336438616433643632373235363863393563303333616639646338373638
-36636535373238376433376562363537623538376434313761316539313065316335613034383335
-35393834396135376332306666646435316665373832656232613838396531333739646534366231
-66353562306362633038343533346134633039373937663236636462346130623665656334306632
-30363064313739613538396261613334363937616339386362643566646635383736363733626339
-31333138333034356538613562643838626332323237643638666138353134653636383534393032
-65373365626665323731616634313365643031323364313463373862353637653365653831376437
-39326263636536313830313435353165393134316330353335383639643234346664376264626364
-66636462613865623336383936663639323866316535313766303337666235386265323564346237
-30333361356233653738653862666366656565386562383732656661316439663562323965376362
-63626234376634303865396230303831666161333437393065356431373730363431626130326235
-34353132626463393637343236636137373836336132353438646164333133343737303032306237
-37306265353932666165303261653934356633323666383739393038616337383635336139656438
-34306434623337353634303939346164306161343964646439363434353139626163356466656636
-37333061663030353432633631346566306539346235333230643638306561666464356437316464
-66346130666261653632666330336163636335653730373165663366373363343433306265343665
-61343464336664366262383431393535323539633762383232363433343136333537366465623932
-66653461353663613233616538353035383965646365636231656430343963633562633134333535
-34666331396635633462353233653134383265633033313437316534396636623063336534343364
-62616231313762316537303438633730366664356461623435343365326464313232386637353466
-66623866383930616166663863613063613030353938623332646264616262346631323739626666
-34336636663636663661373937626434636365383530316130613564336432636437323735616563
-31613731626561623264613534653566373162353665303062386666393536663039613939623763
-38376337306531373231363136333566613435656630376138346333343133663461306235303235
-64663837383933373631363961303266653038353837366637613836303663613131366330396235
-30653937323531363932353339333763363364353037653662346337383964333631633666346135
-30363463333238653863643233383666306662346533666339316438356133366162363461313266
-34653561323636323964386533616133373063386161316439633738653031353063303631666562
-65623234643939316632363836663933646235356535643533313639376530653163333963666364
-39393366313233393731666662313433623739336662663565643363386139653030333565363339
-32316536646462313438363662353135343964386464303365303162333133653837383334383137
-32333166623462393066346235396330373531396230303161336439373534393434303666343130
-65653733396366346335313030346130656135363463363537663062373961383036306563623663
-64616637326539343139303562646531346232333438336366353335313363373161646566666333
-65396630626431346139613862373034386564396132303938376266626663323732313837363436
-39393733343535353863636137393538356632366336633665353462306565393937333130663936
-33643038326233333132653264313666363230633533623161343966383462326439613863323634
-66613738646438613137626231623364313965346164666539613936366135653437633666366631
-39393734643666386132353530613761646461376138346666366433396163383732643033336336
-61666330316637313530626266643630333761336666303931303338653533623565396262316331
-31383762623930656135653630353839653436366131326365643662663337656662633231313731
-61666663613038333964663363376330343664383737396565336635656432373136383130353061
-63346339343034343636653339313832656538646336346462383063613265306130616231303736
-38386261396133346565636236333535303336396330393365396166623263383530323437343935
-36313638386136303062663038613132323134653537646637336630333939643630356531313735
-33656562653639333238643739376236656361313638306539663938623036306537636163373433
-31363433623539336436616562326132363537383062613438306631343562336638383362303165
-34666261616338316162356462373233336463633435323836373138396265313231306235323633
-34366536303663323766633439343363393631343866663263396561323733353239313336376563
-64386535353934333066353166633436666531336363303966666164326137353232376631356539
-38376533303766313037626637303161653537326165323061663463363834326265313839646364
-66663566376630666438316532313832373062376239633436396664393632383334336635316563
-35336563313531396661333835383139313631643766333439386161373433376334613038396335
-65313130613265323331646538613737646436663866333962626539643538666165616163353338
-35636535303264303132393330626432663862316661666662623566333234376636353934373833
-37653862643262623035336663633236323836656233346265383731356331643066323537646133
-30363138396331303665663035306665613937343862663661393238636532613363656461363565
-35616265393934616366313463633537303162643133396238663737353366323638663563383563
-63363632376266316535646338303034646462643339356639666163613666363066366330323164
-37316433386138316239303130633763663063393636396161643666343061373833633833353837
-30383435613334623335636534346234643034353531643261636533613530386438333935656436
-61306364656162376433363435313039393232303738306135616535376635653037323233343736
-62373964393237346136393839363164656434373035363530653037626238646638633935343866
-38623864366533383537643138373366323963626337333330616434326132366561323139626538
-36613838343531396662333431663735323938373666353035373633663031326662336265376631
-38316633653834616232306238323961353562623561633433343262353064386634313562306638
-39313831386566666562386539653363386562383534376633363566396336336166323063663338
-32386136616431303531306335386161343564353333396463646262323831373930386261353433
-32666263343638313162323131333632656235393537613265646363346432386332373962393639
-32323231373538376634666330393962636637393031333637346565313936636439383234366632
-36313838633664346438346330336232346164663433333537346262366136353061393936326430
-61623464336636373637626235346434356538386234613738363231663732303965356462643963
-35323063313165316335623062383066363763326332373837653362346132616635343730636663
-37646562656361346362623732613839656261376664656164663633303038393537313730623831
-65613336623862343033313535346164306635326365333463633131663133313664353434616162
-36323332656638386463306232623031306135616638336434306164613835323034313766336338
-37383131363362376366646662616466653563356565626566653165363939396662343130323435
-39366538353835326139616431306430636166343932323337383231353866666363646365393861
-32366663663734656233656663316537386636396664393263316534656133303531396361393161
-66653765393762613335613063623033613539383233663035343230316435306137313432333936
-63623962356538383737353634343338363231326634356363366233336436316361303066373738
-66643437643364623638306337386332356331313338613334616637303334306438303938653735
-33653138656666633862333839613666343864363536636535626362323230343838663166326365
-35376131313333376238356537393664323066323434326539333439653861613765666265613666
-62613931623530316638333737343639373931323865373939393635383235346534633933306637
-34656533623433343036636533393132356439333633373835306437316130623032393639336535
-32353863356439613136366566653130376263383630336563393933656238343061306334353663
-38313864356134343332363665343837663633616634323736373263633039616638666236393338
-66316235383535666536356138343738343765353238346162643733623062643331646161646131
-30343232353832623334316637613764346136313733336265363532386433353263396434616534
-37306661326562356632393462666332386235396263633339663566623835386331303366326566
-65383032313965656332366265313866613932653939643864663337373333343934393266306231
-32376532353230626639333165626238316435363836396565343763343739376136656539623931
-38373734616137666661616136616139323337303932653035333535633962353132303164666231
-37346232626138366166346233353230656335616339613731343135376333316238653636313563
-38626435646362373934353630396133353636376130633936373266623239623038333337306237
-36656665653030376439333233326333336266363961306162336630313063356562323466646333
-66356533333936333661316234343433346361633964333835373538303835343637306663666232
-62303236333261653536333931663561333730343138386238386663656635323463336334323865
-37626166346465306637383830383166346462376239626137386461623038356666323036653833
-66336264656161313761623630363766613565366165333235316664303733383065633962383130
-32346261366337353330636566613461393635663631303264386536313361616131643664666236
-33666639646664613830343439653063353464646364303833373237346133363835333438656638
-61383831313835396633663464323734343333363032373063613131386637396630633232326566
-38646131313236396233646233656337613332343531353536386365643265376537656436333837
-62643437386634653462333961383837326238623266366632363063636637363233666337336638
-35313539333661663936383265653961303132623730643363343362346638333531316437396364
-34666364336466623730653162646564333434303435663836373034613666326265653030643636
-34633933383535323765643462613331303638303739363365613164643165333161613461626463
-35376137373335343035383738326663623031613761613664376539316534366631316463366661
-64346138623466313163396332393139303461306461316561636665346434643366343031373832
-66376433376330356266353664363833366466386231366465616265623537303731363432646633
-34356133393033666665643062363932333236613831373733393239343431613237373766353430
-34383236326431643835653635356532613863633138363763363961633233613464633161336231
-31373438303531326536623666653837663363383764643966623563363036656138666666643665
-65303539653739623532396462613737323538663038346234663739386364333161636436666138
-30323133623561646264363464356464363761623234656236366439333266383333323062376632
-65313538616534613231396430353531393665303863356262383138323433623361396164343333
-31663361646533343933613461396461333239663062646334393864363161323434333664383539
-65326538306133356437393238383233306437383135303439373632326361616466653436353465
-66643239323531376339633061343562306133663032376162393634653130343561346464653330
-38313763633361613962633430336230333534646161303130373065633965353234383839303935
-66626636623033643766616463366531343761383765313834373437623231653033396435373637
-32396663623332346131303733336231656365303561313937616636326131336535316131393762
-63626265326462663561616431393437373037323437396361626134343064653235633835343662
-34383639313538313161346332633263623761613161316137356166343030383236383039646530
-38323563633063323966373438346261383761363035393730636337656266343632646562363530
-35616434316264633437373033393464393534376234616339653034323434313635646139656361
-32303262383263613763336330623639643834616161663961346434313438653830306632306134
-65363764663733313764323162383061316438383736336532613339653935386262373162323439
-61623365356661323931313762343632626239363638373131383366663366346337363730646435
-31306461333536633737383038346165643636313662323738643364643335393163613663666363
-36386438393930313561323466333339383232633064396339323637623032386663643735663533
-33616664633730346139663236353237373363316165656537663437643537656364326634346332
-36393136376636353461396162646336366535616266343861313435303861373831613432303464
-32333730633064613335653561633330336634346135346362643939373361396265653834333337
-62303334356431343439313036306538636633393262363337613532363666393262643764353163
-62663132323734346534663430396161346434356437633336373736663734636632653734613632
-63326231666332356139373134353739303863333937656435663263346234656230613033303032
-62303832636239613031613533623638343433383761386230363135643664346161396139326635
-31366432663134623065323064306330306130343238373862346636316138393935306632323765
-36653833313032306266346339346535633264393463346162376462663436396463633334303462
-33323833366538656133336663656638386138653964303466623438343531386430376336353332
-33613938376636626563363539326335623439393866656231353836643933383830646533396461
-36343032633465393336363330343464626332393036306532353130626630633162616133393739
-63323963383231616665653931376339656137373234303564366635323064653239333738633665
-35373364343766393164393231396163653436353831323566633262363636373633323338323432
-64376561386239613039663635306566366634353963383138353630636564666562646464366164
-34616439363231663963356535633733613935336664633266303738346534376531373764393935
-62376663373933383030396362656665623432373464336664386339323465336237313833303332
-34393864666230373733323637646632316464643663333835393135383934303333656136363532
-34646366643361323437356636653433333262336561333931303932376663643536383266663633
-31313265666235666464623966353065383365623364383937393762396162363634333934303931
-64616664346232353137653335626635313464623164333865653038363735373837303434386236
-32633834663632343031303739626137333562353466376537376438366163666537333938316336
-39623938666665653363613736663064363065623134373761613966353536366431316236343865
-30623362376661303939613164393137316164643437336534626336643631636630366435313261
-38626432396135633461363361626637333335646466663233393035373638363235373832393337
-32386465653530353463366464393565323730383236333031356538396338393464616564333336
-37353466626136343937373330353534383466383163313233386434313437323937613933663964
-63346663356164653830323733633635653630646135613935636238366161383038396538333537
-38396435393733633835366564663836316338653464396538356461363830663162396534383537
-66316339663063613366323939343239306530376163383634353433653830326634663466663730
-62313334393636303238366563353336336565346338316536303761303230376266633830393539
-64656366313334323962313139303139646338363430333561366538326165393031363661616230
-66396665643931643365316362323933323338343132343861633066636230313931313935313339
-30663633353837313836373966613035613464313334383037643736633630323736366537383934
-37653163393735623532373237613735613039346234346539336437613333316537393064633437
-36363061636631323635313334363739396264326237623637613162653063303835373731383666
-32666237326462363934646137623262333761313439636366393061616338383561613738373731
-63323539656363636338303736333631663563363031656635393438303834373061623432326637
-37373466663363643664343835323966343033316261623962666235326438373434613138633733
-36323535303539623436613730333437346139333539643633373736656431636466643563303333
-61343562356533396134653739623365313837613334313136623137666132663139616632643066
-32373262663834646637643465306663386333616631663338333332323935323665646366333939
-65633237333565386637303466323963333163633763666264356661363162313262396436393232
-36623463313964636238363838633833393635363463666365353935373839623635636536396364
-30613531626161613936623564623764626132343430383430326536326531303138313238653639
-31643866353735616363383161653032386434623964396138666431353162303763386532663433
-34616136613439633032373564356130313830343633613834373735663634323637393837626334
-63616135323639636365636639616462653063323338316235616239363765303462633361336263
-39373634383035646365666632626332643063363435386533356562363132376335633230303162
-30636662323966373066333130306361626436343465666339633631316266656337666237643761
-36383931616434663633323139346566663066373165383662343933616464643536656637643731
-31313462653165316563303762383064383663356138666630626339633431386436393832613061
-35633230386636643062393530306635306330653664313936336537313133316665643634393834
-64646138383063643662623561326537376266343137366139663233353462353463623462633939
-35663639613164303837303738373436633964393065303836306564353231376463333833663862
-35376531306263306366383637356137303437383561653661313066653766376631326437643838
-33303838366261613838356165613734636665313361626566313766313864643634393230666363
-37666466373862313431643665306539623366323235373137366233646262333961646165376335
-61313335663562386134626264333231666534643933363764633234353462323462376337343937
-35343362353763376234323861616533373036653839636237383738306465636364386463653834
-61343663636130643463633030646361613164616361323834616632636433343331383863313236
-36623639313134613665643736346631373439323738626237353235313335646162393463333633
-37376136663962646264623337666634383534323136656431663638323366623262653031326361
-34386533623939343235323533383039633432626635666139393536363762393932336233366561
-65306639643763646136633934613739633139373762386631616564626336366639323261643633
-65373637376166646232653835346234626636666638336331646564666639353764633063613533
-38346134613936313833313835386464303831616630323562613936666235363064323039376336
-64303265643766363338613939633736356263316433383633623935636136303033633762383933
-34303132313364363737336264376236373733316362343338326433363539343738636565656334
-33396630376666356330336432303630393334356230323536346362323932316536656232333134
-37346464353462303466376539393063376239363839316332346332646535313735323937643638
-61326266363133343135636432626333633839663932326363396132366436306132303437336465
-62393762656163623862323338613039633734633266346137663433343534393833363632353134
-62336637616230613539656132393636653538646335343766656139663731313536366332313766
-30636231376164633935343865336339373462633662333562663534363262646136353638323137
-35633465333637363366646537373832353430306639393363336164623762313461656565353365
-39303731383562346534653434333034623230323537366564623062663934646133653461383535
-64626637633165646332663837663763623761383536313034323664383039656439303465356161
-32323664623166373262326266326231306634623263613839306261393261323561663361323863
-35306363636437643332313062386265613232373164653966396630326132303866353936633436
-31373662346135346164326234396434326637333065383762366132646533653865383963333137
-30323833613664393763383761376261653165663432663037663864356565326131663364373462
-61313462383636613565366262373738386566323363656336356235323134366535623730333938
-32316563323362623266333730646337363631393239323233363765646465303363646265666438
-34353530333034373037366533333464396361376665646439373038366131303464373362386466
-62386639326634613662306234613439613230383162613063653936343164393537363333313135
-39363638346131636665636139343737333433633637393539303539386538386561373166303037
-32313635343762393562376134366631386637653331353665373637376138613838383266663438
-36366336303138303934363330663262373233393835346561613036663334373833386431366136
-34393237326134303432393066316264343763353238343263613765333536616663323335393133
-31393031643162346434616333646164663062363162666633373161663933343462656434333335
-32373262636163356235336233343432633437643030663731323330373933306462616335616631
-39633764373039323366386230626332613263663263333234613464343264346232666632613365
-30626261316431396639643265353162313139653266366131623066356633393239623233613739
-62633939313366363165363538333363386138613930626236373036613035643735666662363634
-39353463386632363538346333323662303865653438663233616537393931363363366437303566
-6437
+61653635633962363639653162663162666533323961356332383036386535343661353631306333
+6133333861393331313434336435646562306237376137390a313731613736323566333234386264
+36366266646537313763633563663865613962333162336230323334333566646363393437393138
+6132356339373435320a353362663761623237623363373736396531653862356666336237646166
+36616436663334343363653930646434376331313662613264393164656236666630663039623937
+35366439616534646131623837333434653461636565313563313065353634326631346236363136
+37353136323235646230626235326334633266303835326430613765333366636235336335363333
+37623766386362376662393330313861383435393632636636626333646339326663653330336436
+38353131623466303833323062363532356537623661306134376532353762656562333136633633
+65626132376562373437313735346563336333663462336365623236333033646631316239663633
+65313832326137326361643363303866663432343639386235653865616132663365373033383964
+32303631613662383538656338333739643362353561346238613531316435323565303737306633
+39326132303064646665396464666135333933323838666161633937393961383334663038366433
+39383466616234343731663666636338646134373833633434626330663263373133613236323938
+61336166306566626636646361633966663538653964663464393335666666616536643335386435
+32376339326661636366386465653631303333656137613564626338643765636463316463353462
+37313736653130393036396362656430346631623439333937323264616234313461303566353964
+63393963353331613766343464346262313164306465623364306634626231333435646139643562
+30346463366130343466306533346434346431616361626366666262616565626431633130633732
+35333266373666353634343038346565333865366437643066333835623236666335393531376339
+66393563353965653035613464646334313534336663356532663863326637366136626162376264
+32333961326336653531333938386261333631343833333566656562383963656362643861626464
+64343437333633663132313431613865353136663261613437386130383238353833303438646633
+32336362383563653266373437373833346564363136333731646164366263633261353032343535
+34356561633038383638363264316530313264663961363562393661616164323561373964656133
+66343630373137326665623265336238303763396364616161323063356433313863653830396236
+64393731643035333161623237353632346536396334666239313563663233393265623438303663
+65396437396333653438656230363665333564633031666163613364626434306161626139666630
+39636532353736396338636234303135333234323237653632666635336336366535366239316630
+65303433626265336264366539666339643961313966346661396439393465306434646530396239
+62623837383964356235653936346634363138356534626131306232356533393466343137396663
+66643264616435323830636532393139346564363131326338356436343832633537343439343863
+37376666613237613839323036653139326332316666633936383734376263643037336334313263
+64623365353937613762303432333065653935383238323231386162663764303038613363393936
+37313537646130646661636433626462303936343233633336353239653637393430326239653532
+62396436376632383634376136373261343063333636386231386231366464393565663562613036
+39376437373436653231323063633931356164633533336237636264666131653332326265326233
+33396563613662346530393462393632326237366234623866316432646532366239356433333638
+39346531353534623836643537363464373230343466633335616235383233343764616131363032
+38343938386338323230623062393333343262653331653238636435373634386139303237306336
+33386334346437633830636233616132656361383966356132313732393932643862656434393163
+65646430393063313761623639376436323036656533623334303066626665363763646337666663
+37353664323861306465356237666665356632363733363937643037613461636362313861613034
+39346531396130313063633132303932313230373262376134656634383737663835373939626161
+66646434326639656163366262316430373830363736313432643137666165303433363563346239
+35313661373234346130373164396633333832383465643130353933396333613231303331653738
+64613834346563343834363331393932346561383537373563346138373231393364653735303131
+63323737313733306564326439363138396637356231653863663634313439373630633662656261
+32636435303437396432363231343835616336636264393139346165343764616235326661646539
+31373836326164343138396365323636396566313066353364346237316333656665386437646662
+38323961653133666162623732326537656530636532396333386263303539663431646138613933
+61343131353435656531306661656531623362633066623764626465623163636237663932613963
+66313538653338626633393231303039353664376439656236373535386134303533643539616533
+37383536613539333436643332623634623964323666386535376464336238313039366239343333
+32306235323364313838616539333230366136663837613066353865333562636161396532316538
+34353337613362336666376536316362633930376538343161613435633961363337393635656233
+38656439396161356234633964306138653733366562383064623132323933656533663466616538
+39356365656536373130623430303065643362623963326661653764323237613835316632353738
+64363865646230323336356438356163646263643162356161306533333463663331646565356537
+36336435313933666137353431366366363632613138306666366461666334356638313138376638
+37616363343264313730636634663165373836636631366566326436393565663731383432646366
+37613737396263363633356563326363656334656534643563336330313366613061653139393064
+32643662623031353237616432366565373939313363663134616438313164626438383735633562
+34623737333636363035623437353630363361613265366166656137336334613730656134326339
+33323031313764666333653739646564343263646665663564363465613732363338666236653033
+30343433393838613937353730303731633063363766643433353530663664383630643366316563
+38383936386636303861313361313738663639643132326564336432363233373631663337363862
+33366661623436653130383864613165356538363734303163373663313066393365303665386661
+64366136323030313466323737653933373061663666323138666635383037333638316632316162
+65623662326634323963663763636131633836366362626139323165386234666530623063393864
+36656263646233663761663263626439373335383637353638653434336566643433663666656533
+66366337313830326330383163353433656162623734323865363930333139656636363534366530
+32313331666139346562636565336362356637623765653664376465363836666339666138313131
+30663935646333623439626535623162336439663432656135343734393731636161383665623430
+33353062336232623333313135663562323862393962316234343231343431373365326137643633
+65643965356363613636616134303230386431393832313461313763636239313930343531643763
+39313466663431643265616336353530303465636539373030386439646534636635336236313065
+62353263656163323262373137376165633930333836376531393633633466396437306566646339
+62613538623762386561373561336534313362663932643764333638316161623834313431363538
+34396538613039346339636539336464656538333635366339643536386366373638366131373539
+65353665346464343339383461353961613230313039653535363237313861356336363133636234
+34323030363639303464353632303436653764343231633534633936303136366364623262366331
+63616339343231613966373739316364393133616238646530346138356164366630346230646536
+38393163386233623766623432373930616636303936636431373330633965636132353739663661
+33306132393763353538313965316631616131643563663365383831366333313535356430616134
+30616265323332346465653238646266656332313166363065643737326261646336653939613031
+37376365303964353064646435366265616534623535373563383032653030616238613764656666
+30623434383061323830653639303335313662383139653733353333366334663366646332366461
+36356537646263343133393863663139316337326561316236363434373366343631383835343638
+65613930623762353234333462323435626662653632633834613664656538336531343466366635
+61366632623236333762613763376231336366666232323665663061333136383930623564316433
+34393066646539353633356161396265613433633537363664303735333463393732386334646463
+35313130623333323438333539323265653664623332666464323565396635633930393232636366
+30336366666236326631656234643563363938646265663531343636393464656166303131633231
+34383938636339373864336231306235343565613631626232653035333961333237393732323136
+35383737356365383439313264613965633232376439396236306236623164653231643265616262
+31333263643434643066643863336433303039393864366433653861633761366666653261643530
+32356666383230356534306230363336316365346462353738646132613238313038323265343938
+65363733663966333031656565633165653730353438366166643339353065656261643732663863
+64623239366132343430626161303034383339653436613839393337376136393239326264663666
+35663835663039636466393530303161363133306665373131356434343561326265393939663334
+35663132306231666230303636313165303034333133393339623538623134363736346233383563
+34623036383064366538653162656535383830373337323563346631306536613931316364323465
+61313662663335343566373639623431313536393839613833643731333037336165336539386362
+33306638636535396538663830396137343966356166376563316265646339663130623231366430
+66336431343765666266653938313932396563313539623338333730303935623930356133663130
+61396263613731623564343766366630663032366434633266626431373133663436306238656263
+39346562353531616431323938373665663666616561626137623233396136363262336466313137
+62623761653564333136643739653664303637656339623137633537653866623737326333303635
+62656235353831353535356639303865656333393261326666323236376431643037643462383536
+37366636656563373165626531663866646430613365393665316466313834633934353764643435
+34386239343536306635636531653434656632623166343132616264396433306663303837373734
+34663039666564656562613562383839643538633132616264323737626235383362326134623739
+64326134393535663332663162653736346630623537626230643230663865383832643334333463
+65646662623535383566646466333065346161383664383062376438353663373637333735333238
+39646166396664396164343565623532313538383636623434363233636538636236303337363535
+31353766623238306461386132393763633134303965336334383434356238323432356561616130
+62663530636634353538653432346266373034333439613465373565636663643736643966643066
+34363863343031323838633661633439376266353830656465356665376436663535356535396230
+62393530363231323431653639313536373737656237646138663062623362626432393736313364
+61326235336536366538313633663634613038346465366431643136323131356533363332386530
+66666262346430393762376164653437363139393139646337663335323331343237636637616162
+34336335346237376533336666633263323630663538346135356465646236623835396565373634
+65386231613636336439303737626537383438353165383634343362356563316631383062333463
+37656163306436313136343436633137336666663236313863313566356661393535616630373866
+65393735326438663662616262666131333532333130356133663537646261666335656331353165
+33653639303166366165366638653530633631656363386530306662363136313135396131373762
+33626261393531616466356237333361373461393036393535303939623030656439343531356536
+32353563303332393161386661393562393761313737616663386437303863373932646634663830
+38616434646634666239303535646635353532326434393161366361343834613065616133306138
+32313533346133646435613930333936363435666662653837333061653737623565633862316538
+64313036653930623733316266373339626365353035333431623835313531646330373731633361
+61356262343038346565343537636631623837623638373632663764653764343232643430353436
+30623337333632383032323865333131643337613761663565383263636437323635306665373862
+39346163616632336364376139656137383333383532643737353131626331363132346339643936
+32643362313239633466643337366630633661666331306164313361633635363931343630393735
+64363933613839643736356638383933373735333830333035313766643337343563366233336266
+37386364613836343165363434323830646538623133336532356639376337363561373361666531
+30343333303661653262306135373032626531616462313937326431346439333664636131306566
+37386665313362666464366138363239666638396330393464376639393765636537323066313438
+64316364663163383331303831393861396461623738656136613265613936653234336333333934
+32393463306630666337653834613335383138653330326638373762316136366666316636303233
+34626566663062653434343363363036336333313930636335353861666235626164356263303535
+34313436623461376231643236373631666532363831343730626363633865653862363835346539
+66616330303265643362366130356165396137323064656263393831626464656334643030346132
+32383831653235333234393136343936633434313433326433656662666665396334386164306637
+35663532383534623531393866333837343865356339373035396436383336393330386439653037
+62663835643932376263633062383765393764633633313531396462343439373461626531333763
+33623734616131656530363064323263623939643433363863626561323361616164366637636235
+65353438386139336562386264383831613039643834663831323461333130376339643862643133
+34373837666531363236303831343936303431666565353132383231303865323465353664356536
+36303764343236383664326131643837616434656632323766656536346633333233306662666461
+36303137626464396131376538393638303938316135623930373734343666343161646366636666
+64366161316665313336663664333662353965393639323830376137613766663131313535336138
+36646332343762386638343939353938383833643230336462646234623732326539623431613962
+35323032316130386262636461326465313861343730393435303935613537316266636263366333
+32343765363562343734323465353661623262613631653033656137353937663637633339336630
+63346531336537656563313461613730343765646231346566343061313162663562356439303433
+31633438636264343738336165396164653435363264653963666134653634626434663337646535
+33383530616135313737386562383161326664356134313637633764363935323137346337353263
+36306333666235663539313763366531383338376530323536613664636562336563653365623135
+35363133383138363063343935363831336432663431363332636230353430353034323131653934
+66666134626564313665356433333062663036316438636161653038616461636265333166383766
+66313032616539393731653265383765666465383835663064383133646335383165393235663032
+38326337623261313638376165623864323631303832346634323433616363656562343534656235
+32623232653334373439633539663637633661636330393133313762356233656633333036326438
+32626461313636343039353262336132326437326364346631343238306639303561633738386431
+33323932306239643830633934663931646466643364303863326563313563383332336239346263
+61366563636533326166353761653963636464366534343232323331623932626335316166343766
+37373866313835396332643864326139363533373435346165353461346338373331393339373934
+65353938316264386436386261646436343131636237633535643461366134386435343932373662
+35366236656364623630313034333134393432663063653835396565313934643833383838373335
+33623536646135393739303739356631663333626537366431393230653866633231303338386663
+36393233356666613537336536363235363865306566646337623530346630366339656533333438
+33613164393862623437623437373739373132383839643965373566646431353865623637316231
+35316530646664646634323233633439353433653566653932386339613664383366646663653564
+34393532616365363763396639663631396265346232366366336435646333323666643662623137
+65303739656135356566326363363931383031346333633237343936636664346432336235636462
+62396231633163353466653366346666613031363336336434333339326362656665663463306162
+34343539656239356565316665613536356565613732663034316461336132326430623865323461
+62333338363165653463613331656133386563636165373332643965393862653430333766626136
+35336265336562663232656162613764636366663461653734363432366437656362363830333365
+61643239393866303630353839616235303461653261383839356230336363613731663566623130
+63316539633965656634653066383564386535666161393834316563313336393833343262356162
+64363435373734336638333230343865646461626462666565333166346131313636373731306462
+34333162303964653365333631323765333038646166353163633739646233653531393835363462
+38393731323131363436633066363831333864393738373964643963613933623661346461376662
+37666364613538323634616664646231663333383235633432633835323461636331626163383638
+37656434356666376539393831316232646139633737633639626133333530313137653564393361
+62623037333066383533373133663830376466353066323265653562346264333235393837653466
+39383637626662323230653137346231623630353232326661643132663239393638663036353962
+39353937353766396338373630316432393863653333393666356637376665326532656533663362
+66333338323133323636633263643136306561666162636663393765653866363734653664356465
+63633434393530616166383938613661356161666330373464643433396638663331353839303836
+34653261383838346636646566626437393561626235393733366533613732303061646231343137
+35326634633665643864303464353536383534343032616539373562313861333531323634316131
+37323235316238613263363364633133643163343436383133333531343132613039316433613136
+37623765626230313031306337376637616338633063313731373538646266623132646630346665
+33373838366462656162383931343232306465643562396130383736366133333863613938346566
+33646662386533633738396463313730653839373061313963396561333330663064343365643035
+34326138336564383432386138386530313562346262376262373962383036323330303464353464
+39373334396435376631383964393633373135633734326335306164613432623762363161643330
+66663930623333303431333038626330663532633664306133393832366138343733373264343061
+37653032356236316533356132386266376539323036326239326338616339616130313436393037
+61396339306135633436636462656334653630313937303334383263613564316638376431323336
+64366338643636613165306139613736623633653830656338393537373435333061393935343463
+30393034613638373635653732636635326666343032333836613334383163316432393238643035
+61653637313264326434343338653035363933366437306664333364623665393934363965393132
+30613033393439383037353936323937636661346161326632373663373538393332316233633864
+34373035356530653263363234303366393030633333363863356235383265373365633763353535
+63646436383262336332383539633365646130336666376431383135653664333135333562613736
+35653537313831646236623230613163323837316263346564373964646463353261626639336536
+63306263653235333631373766306462653762393436653164313531393634383564333831313664
+62643765346139366331386264326461316431646135383062326239666635623761393536616234
+36333866663664366165356532636339323235666663336635393731353636323665393232343933
+36363464366566396338313036376665303032396631316332353334396530646634333937666332
+66393231643737656262303064383231663434633432363639346466303435616663373161306661
+33363462653035336230303539653339313865323834613266316333656664616535623538643362
+38623061373465303137326530306562383438323033383731333237396364363563313461393933
+34353362343365643637666566646435346630623864383639633338643963656137643939376539
+34306535326536373730303834666537653831366164633737666465663039666234656566613064
+63396463376462323732336131313466313836343231343630303631623437663665353434303364
+36393237376233616533396637333039356363623634373430343335303939626265306561396464
+64656534396139616438393733373936336563666666393339653531343463653932363362663837
+38313135383837386134366535343836663462616131653335396166353339373736643530366639
+33336634386431376536303261306436333836646132616337666564313739376561653361626232
+37386331396662653936363937373637623761356362383564303463623932323234373165303063
+63626434373166626665313235346434633537623836393565636536396461616636666533366438
+64643836346535336665306163303235626466646130393236373362393932613235313364653336
+61343732373337663437373336616530393466653336363463363533396230353666326232313233
+64636365383435343731326134623732303163343962633239333462313132363464323761653034
+61356235393961623234366138313566663432613039323461383231323333653737316239346563
+65313762646337363064323435386533353334636239363366316131643338366536643134346532
+32343165646461613539303834636437323631346430353039303763333462356530656630363533
+37353364663863353334636638323334313539616636303233363333663734633235343463343138
+64373034363166336165316465333361363063386362313935313137313835663639323836313631
+31313861393533363935306365333138383865323366666366613266373738333532336234303039
+39363936613534313762303434333938656335663637623564343134663566323062356363646532
+62643433316166636162383232373437643338336664303433376335653332353766663832396561
+31343533346534643761333862656330356136313764626636373732613738366632363061613339
+36636462653839356432633235373862333330623531373465613831316539373765313232386661
+38653433613438386261303735353639383162343737386461323938613566306261363430666236
+38666466623534343962373863393661373131366232366133663264346538373261666337353830
+35393930643963663531623739663136353263366636393561633336643461626430336162396264
+61663864633134633732363835663834616466373163326631396136306132396233333536306634
+35316631376534386438353636326263613830306265623063626165656638363761666332653430
+35386562333862623066653362613065326265316330363331343364636562336366313632393061
+63386637646535356162383238346364633766333464353436633630393135613731353364613263
+37333038306631383863663961663430393566366439333865636532666639313530613463376432
+64353963653135316433366430383138393562636361396664656634613438663466646434636536
+32633431653565356266633134383562656266343234363362333238656336663364623566666637
+36326530326364613234623362363933383962353036653666633063333935326266656230623230
+33326165613133323563646137643232383631656366663631643237376436396439613630303933
+62323434663863316463663439366435373961353030383366663163353336343864333031373533
+34303339363039303333633138306436376333393033613031393534326630643630666165643463
+65313539323330613834646238393136626336383964663462376464613664343338333764303131
+61663561396265383237343337643664666538333831333965613539303530393263616631653537
+64333937383631616136613537306461303433636365386537373132393864633963666364323239
+36396636393237323135636463303737323130323730626163323332623539653233346166303037
+36383630643966363039346236326564306632643866636536393263303531663938396131376130
+39373734373337366337333561616662363566363130643166663331373563613231313038333961
+36333361373534646237646132373436313461353435383662333933313732613639396561343365
+30613639313633383430653265636438316239363238353432643234316132346462643863366337
+64336364623534666137336465326566666438653031356261663337316663336363393934653131
+37663937663266343032313365666230336338313031653132623165626437306236643738383562
+31313735316236663635613737323862623933396462313633643566343736356133666436393238
+61396465393363343463303763613063656232353863316661393763656232653535636331656435
+65323136356635393332666663366230643765393430303466363234343632343834663430653663
+36306330363631326335613863366164613461353539666438356162366138386632373066363236
+61656136353033663061393332646631323836666661623662613239663964613263333664613461
+31306637626638366662623236366266653362316463613239306337316437343964303638313237
+62316263356430666161643237333161396666383138396335393965633366333133613665316432
+33343039346331646161316263346134363436326539333533633561356562656161383438393331
+38656238363237386630323964613637333031366564316563343339313862363565626465343434
+61383738353834306338323435636361623031636138333965373731376537623566343361313239
+66363563626337316136313137393231633338396632653263346163313338656136373666656136
+32316361663539373864346134313235363531643935633264393361333131623566633835633765
+61383837363033623230643865373039336362666533313663313861353331363333626264356565
+36316437393265396236316362303236366265383735356233313363376563333464383361393139
+61343763306165653035653335303736666266616433326531353737646239323463626664366332
+64303163623664336266663331356535346337613130656461393663346337663439346333323339
+31393366316265613464633762313034306236633031396530616335303638333832386566656531
+37343133316566653935386634386266616430396436366361636637393435323532353133613131
+61643863393561303464366237353066396432666339336264633163363338383936366262373063
+34386233303463626164663835373662366461626230626636343735303265613034646465616266
+62366565303433653031623662613163346136663963363863353939656135316633623437623764
+62623034386261333731313930653964396662626163383638633433363236336261393834383465
+35373834346166333461636565343331623830343665343832633635373938623336396564656466
+36376236626437633162616235393663636665316265666437323433633937656165346562326230
+34386566376662303736376437303263356464363536663438333364643536636334313165636161
+37393337393561356533376238363338323432646131393533336637343037386530636363656130
+64316139653734323437353432343130316566323337623733636661663736353232306336326564
+63666430613131666666346264623238383764303431646363356462633635633533373731613764
+35633664626138623362633361346563623433323764313963323162336265623163303932336532
+61303737303331353766363633393836303262616436316531656338643934393765646265346465
+39663832623331303235393035363539396464333938613961383539343336306138333431656363
+33353836666339363139383232643465343230373632333032633638653630333530663865323332
+38346565373261313961366631616230666237306563383438623132613264353431653265666561
+34333532636162616262386238306332653833653765666139643131626630336339643662643539
+33643562313066653433386431303831333565643462646134396665386163653631326237326232
+38613461356437343534393334623137323964396237653238366437316639623236353866636232
+34303636376264356232326633616662346462313435363039323038333639393539383733373239
+37333433653132646433633665373134323230383065386335653266383764376430373731623437
+34336339636434353164346431303032326432323138303463636432333436346163656237386462
+39373131633238333932336637356663336634613431336364356131333862396235343533386563
+31393631303035366161633266343132646430373537316636326165646339616533393139643135
+31373230303238313964623432306661626161636435323535613862383163366334623761623761
+38333463626664633033373863333466306530646164666634643538363330656561626239306437
+32396261633134326236653934396233653065633433333937633864393838303139306638636436
+34623465376663353835366162353664313038663732346133633633363630303635346238326263
+39656337636462663437376362343133306663323763663737343230613761396536643136643238
+65656338373565646331323031663163323930383536376338656633386334643733656136663365
+37303935333962323834353734346338646538313031393833373438303030613039366462363634
+32346430626636393363373035386139656434313432653831383236303065636265626534643363
+30656634386663636632383031616339666639356130636330363566383061316539663564323739
+39373830353565666432336532643433363666616233346632366261646636366665653561616461
+65313131323761333431633535616133383464623734333039383265663365663361366630303138
+36303937636539613463396563396438636366643738376666613965373166353937336132643135
+31646135626439366634353531353066623937306136613762626362366634353564383431313462
+36373930323161353062343330306434653763353635303866336236383936313731353532396633
+31613836376535346466383234613134326433313561366337633132616231616365656162326566
+35353262303734356361373834386135373031653435373364343933373861383831303362333132
+33326462616134613865353338653939366161386365643162313038613335343531343833633236
+31353732663763383239643562323262383839613535666339616262663433613361653364333435
+32636536646435646236393262613639336334336336383433363237643738343563623830333432
+66316665653334643266663666373166376337656133666262363434666530653232643764643263
+37666466643837623363306436643866393162613434353730346466333537383337356562663065
+39616365323138393731393265393233386236383338616364303833613362316134326137313938
+33353066613662303733623462656635383038393238616234336632643461353763323639383536
+62666132376233653533373137376131343165643139346262313466393639623765633863633130
+31303730336333623465396365346133653063366633393064303639613938366461373938613133
+66623261336161653932366439323639333636613465643061373135363439393330643430663636
+30663435656236333231356164343666366132333466366132346463333735366538393461663163
+64393262383936656365626666303638353339383465383931323663363234663133396538303462
+34323835316139363133363539323161306239633134623636643939396135636464313063376164
+35656463656635346339373765653331323032386336653836353533633332643135643865303765
+63363338386331323933653464323131613136613665343837336230323263663265633139333737
+38643033323432393736306235376437633463646165643463653634633562653566386662396539
+64343665306537653733316330633231386238343633613761633632643066393530336431626662
+64646435306666633431666561653564613530663261313737373030663034613265363032393937
+31376233313965343263323762633131303331356333386439366663626165396666336431363637
+34303739333862636137383930376335383233376536373661386330336635656631333631353162
+35323462323766383434316231633733663236303935636366363266613963353863636439303361
+38303634386261376334646134643235326661616366656338643230393730383464343232393335
+61353261653333373766386362353730303361333630373530646531656433313364343735313636
+32396538636137623231643366643365663936393137616634343065666234646532643135303634
+63346434366262623935623036343936613064633839353932616463643465636234363531323565
+62306239666132343230316336393239383332636537303262366161366163326533333836643861
+32373733653836666565616561663033623563623565633737326364613731656536373361363337
+64393764366663346336616363376464616134386166323139363537353963303566346264323436
+64353739346564623861346534356563616335623637396263663863633835633835343539386233
+64626632356562323162343735616639343162323664353566346538303866646666373761633061
+62363838353239373032636266653165393262616365616262613166343736653832343464643537
+66613134343133356266326361343735623061366366646138353232326362376633626462303436
+30616462306438306664373061643931343565386337353338653065336531653331326638386334
+37633633623132313132623962363539313034376665323333373138643063666638393332363733
+32666538363335326461373733623434626339666536323762646564626661393035316564363731
+64643437323536643539366462616333656231656661323833303738313135386239616438666564
+63666366633036313635313738653732323965383732323936646136323637313564343036333337
+32636665656539376639353766396363656536376432313835646139373636616632373032646137
+61356261363932636139393533323461313234343861613932333562656636383436373335666565
+66613566353337653237363036333531346636653063646364343630396538636161616438353030
+33353633313761393766396630643938323733363930646534623135316134313238303436663234
+64646562343333623666396135646565353137636133393062396639633530616638316564383439
+63623131306236616263663661663932663632613238336131636137313530336330313962623563
+30316434373463303432376631396232386534323361306664633334306631386261303763663635
+38656232336135346663623435613062346132333561356139623539343532373766323637383066
+32363434376634373562393838613161626638623430326462353738313562613466396263626665
+31636435373335313061333733653239326638346336316361343333383133396538353139626132
+62303463396438356638353638396163343038336536613666333162363439653861366266623435
+61373564663235383837326133376239303261343334376534626332346532353936303338326261
+62363364333231333336616533363736323333393134623336306633616535613532613937313565
+39623735396231623335313334306663316563613663643035353464656638623864323665373163
+39373563613064326535333564623135346538313663393634623461376466306563363566656135
+32346162623466343238343139353566353134633136326539323030353438646465323231643630
+64653135323937333436643536393865356566343361366237653137666563316664363730366432
+65386533376163363230643063353638376363343264373464356432346432346466613463643865
+33633339633338376331336331336261363464663331626463643064323734646635623934616635
+63356339663662613166356137303433633437623762626438623165343536356165623737663337
+32336463343562626235396338323766393934383636366531396161643033656362333961363836
+36623139653837356336616338613335343565313238306165373963663631303535313762373333
+64616134346234363038366164383566643032653237666239623338316335373137623437353764
+66346233623039376137326637393139363334343365393935656139643739336531666665306465
+35616236633262323934316566353239333862363534316138363530316161333765373066393261
+64626238396130306663646463353266353966396431623462623164316336353734623164313538
+32366465303763346466393831333034363261356132656234333764616538396230373933663836
+35623735633263333465373930613330653634303165356339363432306266353333636438333062
+35326237396132333230343864303962313435656361623834656336633936333465616263376662
+66666532623838646230613961393035383361633132616435666135396365396663326665666161
+62616634663631313234303734626430343662326463363333386564373762363466393231646636
+30656139343936613432346137633964376538666630666464656635333361663534376666353636
+32636136353033323762356638383862643239643562363465663631356633313039356163343161
+64633965383830613661323562636634393632636237636531616537306262396666646434656661
+65316632303135666336343232623664633634323937626339326134366262626531333161636262
+61313438653134373161333839363861353434333666326536633031626661613634323764366362
+61346334336365363461383161613532373465363665356264323932303530653535376236373333
+35393131653965323936396633343366336231663035656331333961363039373137326233373165
+30353363343635353963623664393236636637353063326165363363306136323837373334643464
+63323637373665316337323961386131393336646235313332313862653163656262393866623366
+31356139333133363363653762356336343934643735393837363934336165313935383164316234
+32613765393963623830623732313533613036643630626437643262376261343733393264333231
+32616165653366643831613261653839636365333533363433326533643238353961393562366437
+31356263303930353565383662303930346163663564316665623163336535656565306564363832
+63396232643230343661323864303736353332323831323239336338356666656430633061386636
+62633533366139383936633534643836393832353733316631636136383333633437636436633637
+38653033646230323339666134333736326434656236613639613232386462383866366630656237
+33363038326430383638373335363661313639366238663464643936663333333030643266363661
+61393065376533646538333363346265323132633831363935613830393361363633303839373436
+30616431356138343361373734663436353963343335383231346563393438393537346462663662
+34303638353065636439393435613965313761653433643038393735393330643861626461366665
+33646461313232376435396530386330353932656430393738653261393035333537393261323463
+38313263303630623538333561616136363334353737323565626665363766376664336463376533
+32326130366435666131376539613934656632316639376430636133303265343438666461363038
+33323564396665663166346364306161613663623839326466326432373566346136626238386363
+36393562396135393435333164373832396138373933663962386264323534346631313432623466
+34396464353733376233376665343363643233346230343831653438393335623836366531343531
+63663366313331626663616334353539623533666161396532623665626632633936313437663435
+35373036666136363333633638333337633131633832333064616262643133373031323964613561
+61616464656639643663326339663762386138616361643862623132303639343233656462643330
+31666433373733393139346238613533316136386465666465656438333263383166376533393866
+61656362376664333339393030623837306230333065343061653731366538663666616364313030
+62636530376138623233646538653834306535663936313339373064383864623631623434323334
+33653930643936323639663962363936623734333734316162663135316534363362626435346566
+36323865306566353239313462343262303734343663353139626637393461636237316232383437
+39656337653030653932333833666362643734643739376233623563383762616334376666343765
+38326636646637366530626231346232386439373362653337666639396664336666373637366137
+37323161303231363763323236323366356661323639623636613230613363383163326131653530
+35383063666666376337343130353665356633646338616237336331393530633531386633653961
+32306535343764623736666137393666343061323763306162306362636136616262313534633234
+63343331646634353633316331313030663433333064633739396462633635396666643562613164
+64363333393734346563383032313338303161626366383064353839643461336465363137376562
+61656432343733386633616233376366383035633161336238303564366466306639363265613338
+37383633313535313737336637303565356135666562356535353866363934666562613131386337
+36323734333664663661356231643861386530303038306364656566383962383538366565393261
+35643733306361633837323962393537623339343030343665343861356130323262666264663933
+37396330333564353833306361623062386231373335656561323061653062633736346432653830
+33333262383934616232363333356536356433623638663932396463656465613831386465393465
+34383231303135653839653335303565386462313035333935626233643131373233303433363864
+31363234366331333466333933343630646166643637313862623231663334646437613834333630
+63343130383137666634623661346330663534316639333632656438356566613066316663306261
+37613731373839326534653436636530653932383138363333383832303331303939373035336465
+31376261383264336163313033653263613866343034626131383138393431326463663930343062
+65343031373562663838656136633732383633396635633431613837373833636665373935636432
+37316633626161343332343762636134396436616435616465626461633532653831646562343430
+31353130346263386333326633626363343033383238636335346136343132373934346462393364
+63626438643738396636373830363833393361323361373136303836613165356563626430353930
+31663461306139653531663861613034333666336463623261656463663433613231303133613562
+31386135646364356133666133303038633566313038373637666136346163356534616130313932
+64353936393064333330653233353730366365613239326561383662616164646462303337663231
+65643439383536313835386435336538336162633432643836666566376136303763363134353733
+39616435396565353237356430356132323863306264373764316635643439366531396433326530
+32333165333261316237326266656637663432353133623032326232386362356235356439303539
+65636263303266613239643334346433333134643962303033633964386663373135656339303231
+64313631616361623933303237333332323335623039613864393965396462626539356630373032
+31336637313165636263323938623638343236663465393361366639376133383535303561633765
+33383338376266613535343461666136613631386365393535346264316361316634316461333439
+37336164623339373965313064326132336262653664653138303031616537376533616339306434
+61306238626236373232653731343965616533656363313338326439636262613235303539613039
+30353461613462633732343139393735623263396263323861306330323765363433356234383130
+35316431366433346662323364633732313836656433636237326562336562643937653536323637
+36643537316562663636306630383030626463396534366537353336343465396531393837663264
+35313661303038383666343061643465643932383830373865643863616532376532353763396635
+61623066313265636630383933303733323962383066386134663232306265666237616662343565
+33316132336537396332333066353161313962353563396236363065303235316565353531653466
+37616161323338643861336535663537646133393131376433616139643734656461353834316532
+39373031353665316138336139363030636532366366313831373664383931326263323236363861
+61613536663039346239353365363639643639633765333536363733613037303265643161623066
+35666565626332393037306166623331376361346662626364366665343531363735326665383839
+36643666353135353661643838643461376435356666646162653662343031656336663462393733
+66383538396363323138613738623431323563343435393631373739633561393063383339613436
+65316261383436383537633964663564653761356532393331313139306163626537616234616466
+36303932613736386166326463316464666335353530666261636532646463373331316362326636
+66316639323435353166366464313133656364373731623966303236363063396362326430623534
+37343133383165643139653036616537383734663434346131306539653933366335623038353964
+38376164333831353264343462333961643632646430376262306366306136386230393133383063
+66353764333637336664363131656133383765623738353861333136613238333065616164373434
+36616465626462373538323135623733353433363834343934386666636333326530376334643933
+35616138323234353033613830333238333737356533323761633363646438323031363665333265
+63663731353337306632653033353836303232626366393865306633316366633861653663373130
+35643830373733383964626139646363323437373661373934336166386632383534613162663538
+33306263323764656231326139343134313330353832346436306630366438646436313333623537
+66323737383166373533656331356362333164656237313465363666663664373938653536383662
+64613565626162663637656264353464633535356334356138373132623133313934326335353638
+61383066373037383635656262663866356531646136646165643339306630393939636236393636
+35326638633337636339666662326534326332336662316233313839666531666561353336386566
+33363466616133303230313137323936346531303135623632303062323139646665373961643863
+33626633353764613030653430666166383163663136323738373635663561386331323662656361
+36313938303736663236666265633164643663373731366365376239613761326139653135623433
+32343061346430303164616332663636353136633261303632363430616564643939323934303135
+66376462653262326434633139353664656166663138306162313437643864326535376437333566
+37633365666634633933313032613936643036613030336338363062663036383731386636616436
+33356437396665653563623939336662333835346130383534613861303730343130343161343539
+35333365626166653932633136373562333237306130343133323762616261643266343838353462
+64306336393062343365313961616631633335653333333937303936323464316533376636616137
+36396532626639383334373637313239383663386236333762343833353064633538303766653738
+31316130323764336462393937626264396435656530653530313330306266326237386363303161
+65613563376434613331623736386234633133313432643462326562333031346338376434323335
+37363665333539376561666633353061656236323535633663656430366363613866653861363435
+31316530386363343361343430386663353837306438633563663461663330643862353134383737
+63636561613232303935343262643866386130366539356637373334623234306138356464613133
+36363430626137363137613361643763656563306431336266636536643266323061343761386261
+33656132393533663037366563643530313366326465316235643064323132663961346464313361
+39363263643930383261633034313234616639383230353732323030393630626432376163396239
+65363466363662396531313231323530653937636332396461303061336436653931373437313330
+61633033323266363639313761333732393238666664303234633361383465616334383837636434
+61653762363332666462373735393032356231333230386238633262616439303938633132633837
+37646132636261623135353761623366316231363131343232613138656662633331393666653363
+65323230643639323961383236653563616562393937396337333932313562636362383832326339
+61626464656139316365353265303431353835653335663137373632643962333734313431613832
+62383837633337366635336462666435653135643539396230346162626539323430363561393332
+66643239653737383161653061643265663362393863393437393664623963643533353037333363
+64616566343438313236653336646362363463303233666636653631306231363062613766653465
+66666439383132383730663135623530353439613333626632643338353731636433386637633366
+33343231396363313064323335623466633638656234363531336436386261313639623132343431
+30616162383939363062383265623739643737343536353762313033393766323038343864363166
+65376239323163313632663861656566333737346336306261366337653433356465386462393666
+62306638323333666230343531363435626461306530636161646639333238643233653234613261
+30633634333762616231653862366535366164303339613830336662303663356335383363313037
+61316565646461613035613538613337623132313132303162623062643337376439343035623631
+62633031636337343539373132613062363734346564363662616463353765333130663434303035
+38353731356637636161663861303230656330663136643233653131663062333161366437616336
+37656664633037653134393237363833343266393366303531313266366431376261383732393562
+30306339623061303631386334636565663732366233663638323336333139376239626639653362
+30353732306364356365636235383565623462616631636265316161383065316561626635373834
+66653639373831623939316337313134383463633231323834666632383431636633336434313862
+30303434653965343134363634393231386465386364366230356164396336313464306538396461
+34333862663663373039356337353138353861376332333338393439666239386630373839646266
+34386466326562363531393832663331303163303630313863306163653663333834346161323837
+38323433303537376432353636653938626565376438323330343366346131656433636434386665
+38313934643765343132363166346438323063303636303932666532666531393535353434623939
+31353738333361666561643364656535666639333433313764353537643338393732656464366561
+33316137363566623832316430333239373730393238336238353161613438633532313330383033
+65653765336564363064653461393131316262666539623032303236383939376138353437393234
+66613632383762363365313830613666313862323839663337656631633566343835613930333730
+32343735383764353161323266653166303535663262323932613231623131383030353836663933
+63636431633835393739326434326234376134356532313765303433393531393361336535366363
+61656534333932636231616465393362313862343264336439323839323533393135666438393130
+61633066663033633430666338363936346163623831663563393462616238396134333739303730
+62383334326137646461613838316163303039383338323461656535316366313839633634323663
+32323730353038336531353161316364626239313532636664653334323536353561623831383166
+62336561323937623631663330643934373831306231616361386161653561643939313863333263
+30363435353561376362613437336565303033383538396132386535393439363230333534643338
+64333966656633653062383535663531626463343838363139633632396238396333343632326565
+33666264396233303565646430663734376339383361306436623562646266323331303061663234
+65366165656631386464396332666234386637353765653734316336626537643237633735306331
+37653636366230613764313037363732313766303439613337616636353464366263373464613337
+63333763386638663031326437613238336662383733333465343765386238316236383630333237
+38626536343131383061333136376362333636366331376265623137383437383466613466646564
+30633837363933383661336263396530623734633562653739396336313431623139386263626135
+31626462333236663034643139363264366539326135303165656531393036306166346465393434
+65613061663636353866313530313865656365646261373831326239663961336265383764353765
+33366130323863313736343864383962363239346533313238383164323832383635333737393536
+65373633666263623965613861313732363439356538346661333066373236303135333636646334
+30633330666334323031323266613936353864313639316165346637616130353137343861376464
+65356631393638333361353235393261386461656634636463313630616562636662313236376566
+61663465356139656165343965373965326661326161333961313435633933323536323939373064
+64623434383665623163373232393133323361636536383862623965323335656463613265373835
+62323065353635633935633637356662396536653437316632303764346536626366333936346135
+31313034623965623661336163383239653437343433343963393334663465636162663533313232
+35376230343064393361633466626237303761646436613537363637373733306336306135313632
+39386634633036376561376330343434326139303365386131663566636333636632306665383835
+31303034313961383734336331656265353263623437303230373961333631383363353166313230
+38643161396163643031636636323037343037313038356238373130623161353132323339303866
+63633966333735386434366232383865633332626462306430373161346235316466393234316234
+66393631383166343533333365396566383533646464343635636635613530396638373339396437
+35646233363636396664313237383331343234316364643335323334393438656634666336646331
+65616665356339373165653863343439663434373065366535343865393636373065393735363935
+31363733373530623866376430666466366230653033316638303639373762326432313565343431
+33316533663935363263363334313563343166623534356161343763623762353532323939396333
+61653539313965303833306331396232346237396465323066383966353039643464323764636265
+33346563363630353936333563343135393439613864623637396339313430343661353661636263
+30656362353863343966643132623334333466343731313666656266343332356562383361336662
+30383933303737363261613930613738656366383966636363636636616237353637383639353130
+38633232613665663063353739356536666533643762613630353663656338666639343633313839
+64346533386136366630316332306361303262383837323733333336623361316433346532663035
+66356339613463373832386430326266313931393638323538363835396666303331393264653833
+38313466373231316365303535643936303364333961396630303165353232363833303832343761
+39366331636430653537303235623363386538643134646664303034333530383234666366303561
+36646231316538363365613030656532613061356530666634643438363265313630383162326464
+34386465373539333134653966616563373238393664326330326137626430623132356532393665
+36613838653432653565643231656461313331663461616634346637623766383431346238643362
+38646163643537666665666666386435653031356534313564663435393632623335636265343836
+62376539346632333137663632323165353736313930666134636233323531613362653636353265
+36366466356165303763333038313836393835613438346665643664653233643832313837336563
+38343433323130356130313462613263316230356238346163336161633161356532616236313036
+30363565306561636266666237336237333839353338323565313065636465383537623538376437
+37366464346436356462393932386564353039343263313361656638303038376566303562633962
+31396535633264303037356431303239336365636333366565623832613861316432653365613062
+61623063336337376534393236633964633166656237333061306530616231643333643564313966
+30623436353038336165323635383430623835616637323438653032306666366430636265356664
+30346131333331396138626564323261373538383563383131303366383331373863373661633438
+62636230323264353164366538646465383835333836653732396538306433303136333331336234
+61313964333534346161646232376461386132386332356438386130636438353366663465653434
+33656337396638373837363835333233616331343037363939306336373538323863386337653762
+37343833663936353435613437386336363161646663636662393132633037316435373730326134
+36353566663134646632373435643065353331336166353139356463636439353135616565343231
+31633236656639643863396465636262653331346631643961393732396666333464313261343230
+66313430643162623237306337393261326631626631353231313538653830346561663534346632
+61343833636362333666393762323963393466656464393839656238666465356635383936396430
+63366535623763363465663361666133343730353062623266626133396262653464613330373135
+37643166326235636433363364316537356130383365323661636265646266313433366337323361
+65323663643532383833343636366634653462306336313936666235623232623033383139303434
+32616130663561326266613632343163346464386330396636646335396333633732663661373263
+62396666643132633939663033303839383530343939366463333834353831333039636536303833
+31343831333861396532353931346366343937303963356630313334393966656639636161636135
+61323830336137346132396438366639373563616136336664666134376333356138333834393331
+63323666613266333132653464396433303938663563393439323238303135373765373831303365
+39663162666539356166316335376562353165636631356164343638343039616430366135633265
+30363265343139653561623266383530626235313238393139363166343933303231383536376365
+31653232356161643035383138633338313633653732303366386439316132353563663630613837
+38636233663565646138383138336439396533666137336164663764643634613333643364333932
+35306434613138353966346637336665366364336539663533346261626135363430633464323537
+31393166313866323531363237663634326235313465653634376131333436336466363763393635
+62343063326662646238323364356666663363613330616135393034346239663062393331316564
+65353866353233373664613066623032623639393135356131626133323433623165616639396535
+32646466343736306666613931356430653566323737666131333130633366653265656238393466
+39393333353534623439316430316361366634373435306265316238383531313936636533376638
+37323866616433633034346263373034363166316530623634663737633465636638316234353130
+36326434396136306436346631333564393534326131643436353165313466353061616233313965
+39383437623163323739636465663135313435346333653030376338616165663261623532393837
+35623436356536613537303138303965663236356134663765653935653462323662613364363336
+30303537313463633532613138643938646165393732333163313338616633633163623931353537
+32643534663733376631303534363165656133336461616438356663383665616436636462343834
+38333262633364346564343435613836616634633236636235373339343864633634666339353562
+38343333396539663237656665656562396665316331336635316361343162373663306562383339
+33626631336633336662393433393765353037336136313032636662616565633432303833666534
+61633337306166303437373163633130383835303933623235663437363039613164306665393230
+61306135653430316539613433353965396666323366633834376335653432316337623233356533
+35353430663338623230376237383838323432353338633136306330393334613439663238613934
+61656663356136613464353366663531613431303962316131303433303230356335663739373438
+38383735303838616664623434343838343536643336316561323564383862303465396563633536
+37643165623730336664613935356432343838353134643131323735333432613566353962316637
+39653239326139613366623762366138663639313938353137353538613137346634376531313732
+33333530353739666131396465373262363266313838636535643130346465646432333839643731
+39386565323537356639393135343464363536633764326230393133373935353330363133323265
+66346262636163613862353665343339643033323138396463373565653738343134633335343663
+34363939643764633561323733613965353264656535666562303730383766653333316564616565
+35363237303437393061373634353534316430336265343265323365663961656435353764343534
+65346133383836363638353365366562636331656134653636386263343738326261386631336531
+65633134316536383437663966663463363235383161303937303365363861636531623363633833
+66643234346236336430313932373931306337313030663765626236383866653463623632346662
+32383562613433306634343939643434313638663762326662376435613561383165306339303039
+66653239656333656364383561353466623861333332386333623135326638663434396365366565
+62613563393834653466356239363063613935626130623664343765613831613330666435636166
+30633236636566343162616634646334343231613766383830366333626665656634376535646237
+36313336636666613336353066666461383266663336376465326532376663623932393133373230
+32373662363563316264343964373962643036313165306162323062323265326663633837653965
+65373535303961663966656562306339363039333366326230393263306239393631323766613738
+66343433643138373939356639663030653565626537346339626433363332643632393839323337
+62613163306338636237366536633465356364336165666334376463383034343131383835323564
+32643636373938356266393666356362393431323666336363643462633863323633316238386333
+36333934306435633265663333633738656565633531626661393066633636323561643266306636
+34343538623132393538323966323264316363386565666638303230373261343035306636373834
+62623730616232613766326664373563383332623039656534373064363838623633353138636633
+32316638396166353136636365323034313639373232633739363832326264353531353162656438
+30396661373366363636633863653939373262343366346161346531313831376164626231303337
+61316530306337396561326433663866653539303137313062313962663033323262643636393262
+37643930323064313465616434323461313863666639396464663338386130376136636565333635
+62353165333736653931313939343236326535323034663664386330373965646262333365353664
+62616336616463656663633564626232633266353665346231383464386236306634386165646336
+37323730346238626139356636643166626330306363646436636439353465383862643766616430
+66393031393139363063633036616161613438396163383164646131313839386561313262633966
+37313433613331663237383438323736353465383732323337326233383130616634663231616631
+63643461316161626265613233393534386364623365633535393138333933373330393934336462
+63616634623735613865363532366133393838313932643164313965313933643737363530643964
+62303762363164303732383534346239326431353037316437376334356562623334353130356662
+33393162633038373636626365316332386334643564643731383638373464643230613434303635
+66653338653665366536326137623864306666303438616632353062383530623666633764623831
+35313638643538623334343561326138313133373239346634366535613434303737323165396661
+65633033336432633461653632303836336364633433633865386562396464626364663435346533
+65333533336464343331353835323037343839613237666463613639303566636437366639303434
+65393631373664666138646634663630626562386434613539323861363535306665373530333638
+34613637643433396266303761633238303566636531646661346563623639613437633231623636
+62393737306633653532316137633137396333346663353362343638623332303538393465633737
+36326163353538663133383264373437633266303430373764623932633466656338626561656534
+64363361353939393937623432626339633765643636633137613662623066393338383736353934
+64356437396531666639386539313637306235376138386133646538323138313735666333663933
+31656337383238623731643139316434343339313363333739356564306563336431653761623432
+66613538663335626234376462316331336435643964383931636138323164646164646566383161
+31323261623865303465656363653533323061633030396163663065366530633435666565376433
+61616666323838393333363463616534653431343363656261643466643166663639653439656437
+33623035626630313631623162303566303339343461366362356632383866643530383062306435
+35623666303537663633613464376334376361643939613633653639363962333865373833633331
+35393734343332353737396531616438663566373333333162383638333266643161353465623461
+31313234363732346432383034616630383935346138303739336330353939333739356365353836
+31643234653362303837346331346631363037303838343262643038623837323166653565393230
+35316630616632316331306137363266373633336331386631656565363065633061303035353831
+35316264323832303537656331633766656638316164663330326661396162333036376131666430
+37396363656163616638623965633137633238326330663264393532383333646638656334336665
+63653635613339666636616639356266363261616230373834356264313036323936363131343263
+63633134636131323836366637656634633236346264363635383666363664333362336232363937
+32353632376139343464366665663161336364633533613630356232333937333361653630663631
+64303935303361626263376561653831653931333732393133623836633531646464623639303266
+63343563333238646232633730396230393036343839333364326637613337636332636263376539
+36653365653965663034633366323531363830623866613632666162323334653665363430343735
+62626434333865643331643064393763306563386534386632303931383263623239363138303764
+32343332366232653439333437383035646265313438626236616237653632616365653434366431
+61303737623365386463393134323939363130366264396430653730643765393539653664636531
+39656165316162626139353030613632326365356462353432656532666437616130333531653535
+63343362643661663831643636376166343835386565663461306166373939326563663732373365
+39626231653665353837383466613063616230383266326436613937646531633633346130636536
+33363363333935313035616637643235343062643562663735393962633061373535343832343133
+63636166313736396463653763616138666662366163633830313539656537663733666437386364
+30636537653633323061316531376462666235343333346363643165376164326434626564643238
+37363161303233393930363536653665353139326330313738363432353832363131343466356165
+34626639363831633639623161653334323137333433353562343038386134373332323438366338
+30326635396266356637633963666238316439613963653732323262636232393331623631333137
+64336538306364353736383037383164633061343837343931313964393165393136363035366161
+63396239346432346564343136366363346532653261363263353733393932613238653638333365
+30343163376666336361393533623830633263353463613833636565613135363734363035323130
+63343436653066343636323437373462356137643732633634353037646630323361663166376139
+34653462646363373036313438373139653131393130303832613134653931373538376261386534
+33653531356530313730393032616439356238386366653835386235363366396164623965373037
+33623338316133653562323234623365383365383462306664306233663032383136366361623666
+66633933626464336137316639666639363064303461396661626331623634326266323435363736
+61656233336133373230653130326663333136366233373566316362636337396632303063313464
+62396166646166653337623437376630376364326564373565333437333638663935373536613262
+36393535633634343934393762306338343039333338323361616438616562643836373733353837
+63643561623264356464303332646164343736393535623131666139333532663330313363343738
+34376532336638373466323737343463323332356666376262303932326639663935393866313839
+32613564373862363739396431306132383733653163663335383834366632383737346664303439
+37646530636237323766633861643038646436633130626636383938663331626563636161623536
+63643966656462343932303731636139643631313130363263363762343334336335316665383039
+35656535393466303835633162323738333463326661333137646563613264633933636632303666
+66363336613833313562373064656532346233623631633065313634383862333734373736343632
+36653663386366323036336237643439653530616263643732646464326534303534616365366632
+34306663353136336562653363396333663261303936313039333564666433643964626365313834
+36386662663863623739366166666561363035353733373966636138646533366138613732383534
+63326633393230333837636535323461363062323365366662636363333838663536613237643165
+3763373539376337633830646237363064653366313364326637
diff --git a/fdio.infra.ansible/roles/nomad/defaults/main.yaml b/fdio.infra.ansible/roles/nomad/defaults/main.yaml
index da9a872f83..01f020ad81 100644
--- a/fdio.infra.ansible/roles/nomad/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/nomad/defaults/main.yaml
@@ -85,6 +85,21 @@ nomad_volumes: []
nomad_bootstrap_expect: 2
nomad_encrypt: ""
nomad_retry_join: true
+# Specifies how long a node must be in a terminal state before it is garbage
+# collected and purged from the system.
+nomad_node_gc_threshold: "24h"
+# Specifies the interval between the job garbage collections. Only jobs who have
+# been terminal for at least job_gc_threshold will be collected.
+nomad_job_gc_interval: "1m"
+# Specifies the minimum time a job must be in the terminal state before it is
+# eligible for garbage collection.
+nomad_job_gc_threshold: "1m"
+# Specifies the minimum time an evaluation must be in the terminal state before
+# it is eligible for garbage collection.
+nomad_eval_gc_threshold: "1m"
+# Specifies the minimum time a deployment must be in the terminal state before
+# it is eligible for garbage collection.
+nomad_deployment_gc_threshold: "1m"
# Conf - telemetry.hcl
nomad_disable_hostname: false
diff --git a/fdio.infra.ansible/roles/nomad/templates/server.hcl.j2 b/fdio.infra.ansible/roles/nomad/templates/server.hcl.j2
index b581de9ad0..5ccf45c1ac 100644
--- a/fdio.infra.ansible/roles/nomad/templates/server.hcl.j2
+++ b/fdio.infra.ansible/roles/nomad/templates/server.hcl.j2
@@ -7,6 +7,26 @@ server {
encrypt = "{{ nomad_encrypt }}"
+ {% if nomad_node_gc_threshold -%}
+ node_gc_threshold = "{{ nomad_node_gc_threshold }}"
+ {%- endif %}
+
+ {% if nomad_job_gc_interval -%}
+ job_gc_interval = "{{ nomad_job_gc_interval }}"
+ {%- endif %}
+
+ {% if nomad_job_gc_threshold -%}
+ job_gc_threshold = "{{ nomad_job_gc_threshold }}"
+ {%- endif %}
+
+ {% if nomad_eval_gc_threshold -%}
+ eval_gc_threshold = "{{ nomad_eval_gc_threshold }}"
+ {%- endif %}
+
+ {% if nomad_deployment_gc_threshold -%}
+ deployment_gc_threshold = "{{ nomad_deployment_gc_threshold }}"
+ {%- endif %}
+
{% if nomad_retry_join | bool -%}
server_join {
retry_join = [ {% for ip_port in nomad_retry_servers -%} "{{ ip_port }}" {% if not loop.last %},{% endif %}{%- endfor -%} ]