43768442396729624243489316341286392199889591597630923657438309239962115176565307305860865776673305712824160373401619123644175909549961735935326691336621717275496769742365907266902564924104661871691370939875019289853674543424705277864927233128830832418131791365775179870365695667200920185572747619574123825408923665913683129859404625268039504421755282663785565520817211945981267198635946943365048339598871522777377556439935700917768942935372989168396629088201904604882736768583397718369688215850297854127444440285391252485779442991361398162801914813133150199589255789669462768756282331722476950843472655283265506520234852411899505426153966840343573349451445833059635936748339325568688819267383328968174046711454815230296584474628360780609438661292271816939290823720903510572281825653005241419995943221457351714285255449216949348276592453381832226479353044698216866053706284016920656361684808237116255239800820407845713331508889183977388228186142371677437689961158698824974192164277645489765674880712275366672091154380251799572242819130592353846864416429966391747923597887314206080589180327548429947246273814231622131661271235887763328533164246392449750379832910489789894144822917629326639931054440288759223912948916282453614393878308504967037335288313474173513589842454329688343920479696972191885626117014075097666019423919920171339389241898719508953046209897584186454309349438977617337501854296222329677627631347887924574445143887404207807565177851347978138490702890051909329814417325902669184776115763583844449225347612126136647793890606430270789348324160786904323346093425321568596847545647930718712656917518606060529790290588812195897249723035335605010381695782926563763393728804483000378591452975604987797003245243346688724315991246320789728864428181217574140374555153716518053058297183289074869259264769081523028981478228379927708843635626295190316255172363946139278181310927937161174714903724589484933509271008627739840720843849243883838229307703167298253374614277400566928305447654687166248920884655030440043708414399238928981628613098422351259816247191318540445095941855777845517890603241053736671439194654109667537170482092541995234668411997893319791654795207118772839241571573399847273803352440761743000549725762891860619723612358463788949494703594045266628987412523489356332753621426187709585222628444730385097683031226671290121139708677886348909568281413061422280692303325708273568415016675244426747787230285084184563345525188643163336107453479390214206105322445402085314947424695265243529786546513539897998785907399304222877125960144755583479047483941189984092963224275756477383474575698377857206803482943896308779217317956843676051297555936544403339363808556124360667855404113368162405058283107111864436088724573425271384723188864557712844819263429876339762371397656217490889151316464659309254642986617083372225335249711330774515555359556977404288819957465883869595335777337260428293556469560711089626735751007175426113621316064401459112516894021312040918250141031540392161991531404445271604251729561067642289229867657232414989822751671971921642231984154534475811012677682346633033429229618757189917498125996791697246914894208512884818132347824665213083410460147007693662128718512351639825253316564602180975566714133250343681952316283065439016176244575240427383965480329544186222520922063198360900241377832297147329462240696359437924855487616001838839388546132342513720791859692748721149382263068617857062648187721555872578701789309346137961359592280877261728899618984855222828951408230544195012173713483901591162771470818970787691887927678897178938223703957777890912784908268276813478947759928595038905778466029073571598173763538015689091128694519579503749587929738922894907987239705691850891454055526883803646138366946518237077681040256063359475374577725755410729581765632478493589151899588241752166080612101788955002442759542828696141795426893728826979878677826985322566488573073193296479967016300965398185688237716141499629373022145110128217291974946743886288456715854225537570358017934127164681691899918959455229041751943328817103363964326790684688431382522148075352722493301165783640381353648985756239559620706998296350231662729987114501899410110226870240788188191396332767151796838365538339554318228687079544198736974735738861061704526432540756763873685517043849548709043892706300652405601564452664543285742665111667664358766245391533382943965577823645225915649559576359974402182349165615439694695551995681984750165003016821320819719534655925071948964668215736849398826516982600624473085981918663518570221756159949706385272286833588836035179628707586245371042001931318765222583798264827237157312382955533557485655256293175276778748787579846996246706249246268564117752003645863525459349796579659456682551060593395599178619249758081310794023474302661083454801549964835541677943631027589438124916600955216967225319015492383189311268462468123635857919321467119219125665890040338408629794065072503069135012163886052747851474313627513588544823536648852633343949832026413951437641954968299352219162235303337797839365809247871715893982615087972857213244067857927648453218614241361845218964496983699737941151133892580386082544870501721477329142880192710948071356919455218968620809023094602702273317674191509298978568062454210667778097218433173921797703271940054639401599936839486865120689893293891606140102326688191832137355591607715469252989465946725595333655464544482218724999230141293622257666657097312137456742592399433335090927770113404289347844086507528426615801978193658451620035613827843270711920937183633691846779435179105248394815533003743749645126528420994519899338589032314450927069918379173630948433410950751954536395983805308163691713729853058826890578580074601248762521747448819568087792312810380538723458690359172814631807477312561536299044393696952172109513061063454171628838947729270613863133226489042