125325081095320316887065923592645373032561181152169958864457045788234256430413699177233189036393324139798243802714717627899753814169924767710892445439689557361145905651454152240792484273774396271909682744977467517329118712249515818402405959048385054144255853753839736382906843248233607932939739998438886726569301482967968208828202874591284602366639646560442875921359099587031382133339121225370596054123166463100878297924241482550027016563176145514297998643989476759932423638440870146412864216521173335102685009898360517957665806673948482765790349326442382592039109363558767176982598923534146979197598559414936799959647755991828261152340117822017280275941712127571975122869517796397481025525007925328693069161488893729914775875636941686533766716427059208828842909677182759817440909478591772965018318864065368016402252233527441252376104238685695785682445291322505756762825134781756142001274311483796313968282747245706245376171176728286267590122422262267917429389447472951463307463310937091467427810458420306711325589126673562126794813858803238603494532587693083227702498075565708862238562587291949791423606351772248558354156536305995797913152866927370624774281840398732056449627841520224545480801158755445722483217804368054573914054154167817372698058100450213469642505243934417835599421938369138528647741056465449536115153093366444611180588694867283046134788302728990961905380886736412186939766792949282722873153960706255624259861859874168641035843098331638126688475377345480803534927662556923969132609040417512539830496793249047368164034213406387155053397922607617524348028859261560341625087867587968697184646515537542146838994253251754418854328734067903585873218426492193232378712557798412078288546076802599074455028341994177821596959852262317270116007495567952395764324871645541157567103800317733756786092495412409257633252909054568033996786733102298132694356748106718442995125499847028445032507067544586457012157383638602602510495437989804486499782839854181051846227967067623110258529848257453096124895826167343477060757965537884352057828235443693972910336328497960526641557533265527272766821488114051437062457657227901846499483773437044319610392483507337453324943611023739440893993419924807402402739889527865922192812815994599927814912771818349617192429724952935622633756706727146595942201777428387929164390191789986842484200896675575241387313194768664683296076990253583531432679521539358068935608018605258421949103514829703871997840714339450569633385139191218765514034475429292743036603658433418653638484562540929005920783062051160555713246210331456316844656669593368268866446694628986675646815436881528064360476555181128188453735912636012310868336939851493841717792847683852306254541227441773332513051706264986299022390163493332663950218889445053181144919931159751293129138757710738279433926296873994156951557007462536398161388422273382755252347672553194222601164725679946679664105501780524597601446573079207283154046771941264684758802762222106159147125014801179954776004941617118668035704342028109976576718415767355560188982241126830043602827972849391738147046337038001752892198864479570898777382648321859002445606544481689705975012886178847891916615636628282513158921479415093658428043468802231278036515799687029912033131511928698468529547302636256994816497330677243829295526714764453070495672822087017345990277260172955969665319394342360638716395982818642643707306564409664957443649895142627669752169987669635192169907558707342144891931984933092142854454473337547397165219498527133334769002499611424650967391600957976159789573775550388454218756795853383589782793174955297371577706690369015245752226052361639715122022495259163419212830886667452171612282448387570464171713042433922905515853150814143068545704720184511123459469634770630985875796787962672428625865983064537197562893176151518363609973970543911765333616290813854743762785661304643337783614995346630515954916653323074968462856302909758750174545561467497695348299356520406577018662136242679283641618832928949403338915546130566281081293393782021072782415627598686480345411819798679867755673055057719783299888007830362792746854049139457753474955557801502762845354115159974177686315415677014818136367687517556238591118246552177979984439993528309828893426451301218345283384414430927715132330537644659333386232477725444105065751225542682627309214480565143614957215455745194179283620577628434858716942178247371597122006947280762277335839794422023773066394589851596099450514187454570760085414091297940063194452832183491584710799848613869450683135708984279218929643579569562478981038790877096585985512998488568379931217746272778595103973616628982634090542680414861169898641844536712356555221609770749300251056958557213492317961829192655791507388681461766686707189575302979266856214152521779651717727915229347183052259746869796218446510048688520945539902845740032665318726266209651934314776733366555496076064623336814707816355159038648025286722695937639461668296947425215479099692515256778301895615684476312171314840269749636816131468980164288587971843417623338854518217412873339864241393427212421665315811302418748141748296239934979226059536577530096705074861244313677242330731970823118146631450818596871150076644487298636546899514166744379293422612793566435811468194230039818195441966133389783659620350266684513985966459829164450623615849218950343384794593857752305160328781995239037916672469229652159139561771840164488472421999258380205206502672434947839669437844515986606904304723403022416286935039258962046322928247287946532560060103289148533361032255365966187427884716626503581458845351743822305150100696210852207192948261109725720711662633651449314226255006521779140130593467984734765968296281755395162277226015356230138823962935222149702772719066816771977231688983664643559950556998311127167688876593751592708974808816210860339923213020852692393012817586840047298868710