12227400647783179424924598624123626415392109871326829318188435399786202315568492185583538764811698047248225189526405713936081549756569613335096756091905793228714348091951345712573561678927644571147899389077911782230666928279284456329292780642271989449166329848458096636818888157067403298304115925748756126558058568800504424857958542563324522381138094983679921531331206342789556393415790149987329724044029476678780862204800296365509472470659508532085269125417681119749947941452110413835816967730714348394046999188166241669672702659847746885289026387455515735055383714253935280744192486478482738047558380650158443254961135064386083151733304946470459571248623372468240379669538737417656045327700436712043473977445433847736477721148894719665509343730552707829631853748227133616211445401491423839522999384486447682087192117668766792003551648866511346499178389616832372347619396235451775156016119992484656314104216184489856228349656080373895659471823145138711994414353827352686811896174495457685981791428688579083206580453154531200473369585837842461194382891116688646499484813959136248970253186857399489708628593965087955009248696269005667932655731535364258516892277777518118222333266756536311292894770765673308639524344982540833742752403792512616673322176267417951922326921834817560229366538983389828299754109246238127673146559590437653491857283594437185708560759528436329961468663802356904649303518985256254754846522290671292458531649513258238311423799304827638573386494609544148587977319332608895130502093347403564057094227464149762792564462575941969419802828135844979105750387729993915320125239652116335472693491976535942995822136128879321997162597936769368244201698094271210951442014673111840268768527957436712697577423768793165529173892504340583003705525683967171176189477741810949526931725335568012012825275140424459792494750214048671618156126319320818407524469498541171256971964362228140397776676172234495694628984875447410742019044855627875751825850418809474216290055180552190533228692014763077893588256399217665836489181821166576866302689669577290582641451393555191235405215101442225448988929590692053210766836375724528290391438930377995495678188541861973732721345282851667457386434301939338838088882660153338442462630383736493278225581234643694386122049066437313578996512704259306546782256322483197227558352029664148442553866242241115102325327405441343894964197962585163795129160073805809872581711813446408095928910270649702471676013286361169879313931804563692362858244237534146743730729600671453562049783610388503997856478961360538850929350588486844393231568561134192278361563653328843499298593756775888237218655524993428703932382389078738942041039606141395049664009270570671447357365061350935997568179699877858629133176340815778189637977032316371700248354987563575595443655039593733255952733628639461115824218436152458184413390326171885917954943928871954415352269836485206218322552798681978279006780555654134979018243934984216692119368252998146043988028474282357913399786987576643310422476720332251192674927899076458609785795518287103837607311212898705446267272931716236599720234253578822799898234158611925906473840789607495646248638491936372855949711134554667190608412801939612238935329974420264393492593036513013875189482649703735362136293669849362329144667213946226927438678337913383365726939497586949020483666738572887010567933341477392118381957812578798325605941698520324719414990615701674677453701537966851279641415915276404581939351436473117349159309542583418657471018297579767856191108165935242059634218597282616658570166657287785294249449990351189164917288191296770655178834237039512706764083311672221378616518862513485152964421092536842057134604676585648192731396654981762727195950963390206683280816541702664616558011742946815637078795757988969090997744038885410494992615891036216474535129651388306432898701910424615287977667967512451041601364926841775676466347680898136797264912271991474404694389925675629467896319627339089626726954985232138074080584268458399862519547031825442184669092754778031899973574513798427194208925019565951827013839081590967149495196577017483321754661356574921146835065954083034447833531860362828697849130157362920254605841431813016461773054388418187517903194598958659810966665143657385101634052914253916769178823787056746521514464379024702763534547349503739118740571148192003576440769506614477041699301551649274005410520742875466162691930164674258893603956485104903808089658599431283301777535067257615253486742594575395926249395809294894693218897155417454470780335663511291499797572152193048004931579413581396798874720684870669846916863866289642788160174262123616882250711121634016896065825443504321714431586400343498609173459686634324076263456593854316995615342765013243626242712790768148667370540645793734631185630174524309368111262474345671102756217223640937084396016593774972584386754877716269765964369433523412496815356528147995419234541192824182162141199186737057103562292461189387209275544581391147508751839066092385271187863421400866447612935322838413895205226565796794883093099594776798567224460565187394193721977867378612712269656827589515734355502288554180215785873133625860626118889819969038397631516825472670498147149147922668275727443685812044927275848491357834674159346935466160258692781273990934868459642131697427392859531492265665282243728760487418205680722787828475371588216511974354436189407877533623243509322458797619990530133893837592076833947827493804585652572075784212485339670647888614361111137197784970826148802835946541337006489244858753409118289534824141831208678599708624311981956659550727348761170428261106281380128991887923275403186368704232349224546099256334699515308768171973062748426990833599468825712381955396612186201243744983306415571091241441126323491906488488292381538319637999220488535274891124936352509517767351612638369467580965675126873997989417683708921