552321638175754892081043417733774038733428622356518511588577594582848063313554777574465174767071579383865452243297909315678157629527343953310480892656452928351234215401600987511826252669481164047503799628288285783057548554317065779349154025007130499144101391073709862181055684769660963271626276381214713239626775346018104787928140553713472916163220277352385160573240944951391283663726104886995743517017183567450867483468167898873823299023911270401597128244224515127427771493925222934258490786767858727921515069749460082342022845797422779953526798206631670420399605815183450392897447426341182246349107644945352198426463020472608321685816252861768281218415433962139754727908580578551071825199605399566385797581947554430805685617462518887788456432327142997142416478731709853592828662359842646013184039819014814221155247293325064541898489272745268113884712138763363692876500145475755572006173941576934646087691594758851694682217589763523369453778265096455358319754562164388094749791057665137223937537674683427170896969926742262653378442522201039124835468127422064963210907229291326866921973791403328576364432025295818559022342685753906331038577466777326901235154553629901450877119871216782741625671278556601225653732123946771318032405944138372383465748758611122659718974765938186016535832904201616589685617401850211658002680176899908172234220436399793443545843489432818075948754314646014640942671478708947437234536146387813569492343829186475385632744273985649793814471511168242743508910177738176727342253391100225954501879219242256181253659209695365093537494170483859775344070366421384647583851341416184444234354857118847393186892152515328772998655805017302188437018257948336395921146591752280688164731129659768503963253858292817395594705659421953235725521056741985924101305586661899461422923670673104389401852336133036931558966899439875138506598895733761821397025114902846629364792432879438246804696311616434166373863659662913292065574169624705825213338863769361839314777958053051659758927989823571600697781616916528733079225727326901626411443234321678562460315530619339217133472397998450461172137759353152982349670643608872505989616557583699613283830624220834384226396551515268830678611532440758816858449763976512468237043079778496686437474275573473834119278526279696211388488495062303763044356946577187122082725835341443281081575498555064638924658029601866541774076139048929515233720562521632607669526177955592710694211248559059217900431761196311609810153694172929974557174663613076886684327909272613294369444494941875938515850961043944741334385303411730542626468211384897006253121118289496309928619821523784192460258924496954924523701250213553621550333236189709329228852528508840989925438857093908165567934525820834631040426997949504435282449640304446015221463449888755850124323347768528161642229378203443381562816528004118765934375315384169223840094456947526615689758189280281456485910509122203954357856016676796525211436137724417414127468318486424790053239452813589618710736425200458421993167363492831855783326794332685220269021878258726765545533560623693401900658821832172355198154551467786827764647184995289169887874793136134836736096643716706211035753496639928185548410114190653553393103583468922671269023233783083607368833901590879515069679999863264938686193382562952448965501496469186717540362604117364912106369665481851477888146672330276156168377887653848978890753011998826118122262679084434888156847206342769942846075287725793702208786784939853586562034618133485911439270090044810793048539618664235028195660332111883497559529187180244486443301859638692491618819338536980716211341691747361180913830010895273415776592833728597287020751125699231125577902382340852815662291158441266082940310069779441150543264498018834559156345882841824709589788699696465791841774888533906796882729225241605538699218133433295839878281380267489866081597080175377895992544389646545669222726901931143776409500356677416403933653107782915851827051452483149455395866310768909346257633533210853233351726115312265630769956675980690680975238299450522436369139431779307246740319706410464350066228126270649604907036869504482717954541928373990828130267980126996846249464890324454198809842173457191249680398516461869256886547763453985293465795991849779043741850674813893959210340825557335333354870627362434707440396267915100414106722654918159779451325226161139538372143843919603842972979541852479461082969788099701840394634533800584497014548627148786467525373538157630839017197477753285527434574787226240646593967157431787941124071860079663399743911718502291858616739431448521316777197586645127377391091940025575900332012251981449733368371789416743944125199791936105156563264631786492758249974708527346146493917164608243870566539806287577778048684383534086485953326756126418653681983416530584898722618584476146515077131231520572918349103304264969115254274764242874959946775754450067402374855269783695628973847150272324104037643826833570159220378018334141606356468089818488327665648976098191744077513133249353098791245723552048985445780926252129882950292696710341253311494260719521347532403108431072941845936199625355950389760420287563167543584566795437648484473120796783408184336619491198395686817641280727119656340439882184648202661275189988069928284443713733867515403504472217173879987268935391336152224951423759770734661185769690938605308603991283051163750439296872654305779922068264521756342292713954128668741342317677603162735112493781034638069860529621657167134181061292537773466898841437139320348121335453424219618621122608597239860178438216999633414962161859572038422523832536619431068193411845371999465204401545853620283231354921288464158855056541783439080191480251360026576764431409123960488875028669076709971830271363193573924531905418440973797722275886873751771423251925199553966808900118738141470556294901166574637527493611617636810