67564578251282033709729538728575539571496648024988697811209915827725851986353715031449693847324257359648855768879530244616363928579595744495081321805164971247819776319369511850184599428864761046590548817158225601624831362906486647020837444388236811836477385719117704102003239244629227506278898412948794981171325969176152793611367827929822286261763732997822466025962237731769669321090095469319512452361771127732557518079224988163416650371563658583014219038855442700434886450357918846172488683664936396504304994359675884306538884196893753478150097133317843592309245868011768663636403873345165011260360190451335178276689659907812062615281328857473868838994977868335409453268476402434072695910671937009168594479803282740094523615631237125189790684265883922284740618035955622740971131970986273433317685063839748119561438241370563690532580442708644261273914879462810539915255055016336867666294986878021699460687924863752682861358542813084575454127277475762656704780572939858964501482805636119992138297101862486486363457445827770763476436908334111366933871165334142435977056595989676886771671757484907316286698434698603862615573699631433395008259904420914293753122384243835637445605851591408741284003376972046838923212998618568347881667260099274745671953809713693614765513445264155836793510148440421393703812768533754668366122154390455798379775167958754336570075299964929905565715347908020731613682108386914621629738991668124699512587301548713226807859562643226995776877564667718999648507243926658635565358791083143021261041834204155247449201972043197454811619879640609252169172259141167589696571169347465991954992677816370009947379391293012969257712056366516932286896158094760620165727242253966151568376467570768821575046646647735477067200247855172839292402939265043624460934471827569894646729633389179909866542418698557982231132754165821693594960297653444104967897973484998245344043675827672426434771246987656498950852871149995903923712887530057194902172718634822281399106707579335536978332679583452535758529815186959545472429127752328743208233491433234746419992536954641852263944665732484502596544759173499832735784756622556075842137344290461225711033274111602870201951121023377135170870938365426188849889829292213588038947148313736945234571983569304255316911977670075243155173995148474160511425858154523732889866122880573269781271922846215197583365731936794004020820412412153178893779964594356433138849227909111602135421821976484385488441419228798836415969733159870422170747715345888805017601929528741812374481296198444546392142856149063127719633629679814675923313213335499966336486286287469697691779404408231395607468419640965943102812866403946656639603207738803349926600308792191512906522076392151072593751431544599108823720912788356959332136165930321919551748518295865952347860750048103504466027372765974102047731499316648228287130334658936899470616383769451970176987415366754867173859783073722815996064832461034128477943499282580106854408589821551758180302983123031126974056191948400380817417342320886375592502419741528225949055802551202654139356364032475151335089383201220892653047510181347303299914736003789056718750512549169492403853392068901655278778337966766213725936695762586271850787709251133545237080100243321914958264895781587953754564868355778213709355040107600596230491045322255823753334458563564829775953451246773759379444113385985647415487291887652585559185552205645203136997951026388686286697821798251216361285365878673331421091267181376625061249192431682885044898115219213574141073209064990146051406756138862351553230392604368077053156152956988379338143977001427310516611999669257324264465782588948929549918453852215892332995235114888910177793448414843933535412782974705477608870515814214539253567946088385286385252233272135409975369455378167907966213547459519699164656592402012984546761830543404851274994568883421326634820075192843161337273212018539243701417193082728193222583355665821966051365832418678688307757327119247161329069559962578074859287354028372776886122337770914946193033205665725383058794565730521155771958773206086134651755879286320099285634398966703633757932321277958377820632609541169059285521679868341562324166946334925981483576088110968147183942312004814773801671634005906820291826509737494418403797888288227511828822257974016789504475385322163673827016815534527141784933533027762712669573073286899607593176252674871680319862660462317214979361342798092136296548311876419979636120579498484569825090614768157479863326566231512333139426245687393979380526381941506327802622352799866307604643634673127372967595625159959037814549925444689360580681664985870106066851747790775728851034289391148726598840687487021977658525789811374131261503477420998194633577868078356272178004742725061132753437418347692242299111769713591488321634387021809954220179034050920125664557189581768186559460948894132733242082874157759923064206986020085997566039206363726157469071685228848618453518112493781047236157609278927254311477345011100592927890986958552180522500997957880686798241713746451596220772294420767887527121980062749142415100898867578869528326448745155137236394719056416287395421278310087958291520530125186946161754340494789679364296455728629292124449154914687067009675551052465941694777111458496191598013673787250353103121857637621525584680046765128997244284159715837916951427695613552097394058243482822629196141393795237311641307447545815776276552756141340461193027728479386282790327563194512433915489595616370962119273249638021965532199911053811156355255128855651461604150284489163535557481338893639161122121112147928987024691271461518689611744145065502140881671362378841813379033696085841217486882911860842900696930355033630241274073768307445316656095215528288776205560180947122495260518528265057512044248741506657936316216225956349901403889569964338514768515350930739938379570131734208597574611634890