diff options
Diffstat (limited to 'fdio.infra.ansible')
-rw-r--r-- | fdio.infra.ansible/nomad_vault.yml | 1999 | ||||
-rw-r--r-- | fdio.infra.ansible/roles/nomad/defaults/main.yaml | 15 | ||||
-rw-r--r-- | fdio.infra.ansible/roles/nomad/templates/server.hcl.j2 | 20 |
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 -%} ] |