12102771118459196451777422618092609390321022597275618538688564951094963396414636455566114918191555014312217114705261755632639608780929722508701148167516509461982578889097467984581631232887994109587883154315150446471658458610279432442403070591995694747807277129896129617479994522216248778275217680436810788100436718323379659619224863834038585624028684352075116799054711589858578760456534370346915875795480276863745772736722821521326585142161111728110522748128345119290125865235117035190996312855084869970610296767237650633177169491928176761921315854872491795255832153193838431409829322136868332704759489421302665125645662691056465158235262117456730950985247421811157728014252043206216606729309890851785893288458016343476383984661228412562654057215602453013541393045441852216153069266704772888659010601600410544118581347011296139399282622063676248674427405645541725120870135973611263038966488468556793882201997451628418253657278525602350743723813488825602775174697323256573405805778117720969108075547021204324676395212894686460627929816588479137051547404980437773863921664813691190730487982268981642133141689007468915154548893591777035346512584029022660525155035382369196661150899662481415046823565606916294184974843896246825324916481191316025079954334248516716204221098435432029604764608999298441642640696348798830522608557733138709531445238741934214361650985221764887513674508139283216057010525289731830633840148274931369318161415562087118109220081538381926199291514290934789894255873764048739490391161860352888274115543223782778410378924308285254370693618431971240357901955546921308990310844149790948152623114909294010047892230157146273421548488005361608510183356194548339907551953666045215474679633370252616274941534087407814512334474392589910357474328218109020467747203811524919456518464980515138761244136322394723545222643059127281609967443698758196594966965140451395526623774844375176310864149351951544309495472837741589939781093626356021774020778297893777669101846754373667340271614602951145119392770309790731832489491505959443927932530515444336047334169262060110075731193916206752361672928216502640159972731559587143855408144052182093419445210212768149349151495687143357399198399029165009499219731250648491508269044764514886985385255554636388214504879711479009165949331634182803290082516759414989718766615019554004286474067718642814387654357772427324406356869643923179196059952702929197618376897771570073902245924573449241763880703858952056728584612081530650584900100810099671936941311132608165623319246969648097754287263254788123978456215649884792821834079332943405125096012458175658894327849782592707690232101702457679011355230417617649537804292875364637327719433509313618928802566480848358172536684957140466861376979258763805186366756458470302808388865791558375841742914980985608674942855455657174382874588999132768776081877154338826189458518418423813268566415428837711810972725948294852272744021660101633023922629455851136188462181183356988911684812312449987129511430888346720940248398985659501896775862721864012286264553236775791713414642158888371369171749348062755369478189109515869459259342077372715552042662089985022649270628665956618441213345441550870831921908736771237250864671596295044711983177469968665854428902299222567073265653520645793874534587540424158558312948128058472872532179564878027552199115532342002304350783113812421741754987969455388762667406402947760795894706231288104186344436628365210616108859626786696559996726944593350764911582437977772778318372163962581142493478061919183864364301777236836527801965599289917372376322524435565438167241629052389203719445245694380559192286265847697314095180107765462915971589712886818936618710735597443804609369358457347044703970335351035963203749641335878957246064314001335889267731547382659467617830506470889618413639757473428884984386829986644757195171136559499451117456848392972047081631134961403659494991466192938329907599102344763606704723974762895973542042598517321559595582519458416010590855642526624645185859546306741658839369888379170024718151157277551437325356867135800340245352016562775932852932350585616956846825561719986962848660336617818714034180771599743381757128918412237311599262648469609622535336353681504630267767434725594614992323324542246908703677437320613846934942859414668515297037883496775255270923803965183371515877835298472195196878565499742903205170844919668715248149235882784287524348557069085385843675296219688543688933105870835801247705456096796359627801554991963829971407751460229048275487885575535825815027212933435238806294015832119459091050935795229175288817217762736544043388991974827565535595168412416503371077585546827159688720849748439448175732188963156762431650950280433565682947413021343536421537213308591568523639609189449278761242774835036913123836287274859585048855039649002147552821738261913199659045558192189880825288988297261899179681145226356319108810086505552428072878920280715818057412026283773039019998868224030838988430519541322368098421321314999453796881884249588452694320439190334786770536778775225966169727538054506238567315835541286282429798095742212923583607414523967558210773214694533588640404859484081173996171559434342979941383694017254957955298414572961412696255577336457918928976785322917975049419029665357290317572543858082118121379040471492586315789927563668168265701379769523686791684260371067830759217152471870432434782494625531846315263602427630456144226531494773926966419563779137026847635746814471574037337293945631377974606988156147451840424848204721147830067334474447671863227492459924638508146598631654550329042213237275537722308047185901573410567337681416695277643095266312356399495578453335394954837686889672295589340657346606104849466604905747698000399932408617342314628943603135226491624190518192676934414765495353936533769764922996368214272040076958307445907352723430443520687278775246651