762922935643499662491759412736201142908676932146421784722076244170989469510683684147398122439987831629134076208492580951059247802656482002888351335643358168813329452939036735889101424859094785586985184628040830167868227918172556777114655568248775059089737823790360655481357975064706854624189075615069453292953150345672947947431555824185130413648239851078864470641267444837494762679937889456075702193667372224181491030461076908933377592275377965123649650682027745846488270427695559798591980525190860924144811194050566568766268983947286619897236722959564054199043728346272956238199442665725702635229978908607495553309689429361432139195826228094332797271113194163763172236382112775606206312797373467296769781799895545225264449385257831502151664613757817036029353804954177143490432619065223887361214848197047592685952640396596423566229352844435242943415447544648125078473301535610141198931790937769485826298681962204863019951973740027401325108574383842366487907979869348972617111340392768126999282007381035227361534875863822946414840537694945467336815879477953659613021599485927227224957903821756021002742985054416353393257788302714413464126941457816735568305419701778440634953356880858389063389722472910476635391316768657721699311722929782701811065232500551486625961503186364436063512168261249532958960219335765901746861306238126962563954203712222913206428846696692323793061290569253349691615682250087595093995053549103961692911910660833393877486534307406300813305470836286053741428768068409540123604378143913941005148526616899847242062249861129475933693620627373164556988038915215321738294366583749682225679676842570909402588412563568825305359792417349471377703517201926469622170871313747607664502444540696842200683642884712248340957170420977632919994060454069448386974757456477576381397072022411885899387035045429120222041522536593194403546340271909116332806037321577970671035477711905840417354431994285785742564674184173284347121746693574523899843485419081598427713267243337221611862432403361601380416569393018705820474657636296729388868935121217846334779573844687808920567018839863521781277463576349126865635927332307153063015395220553749712323542380421198342477762346479628207148966269367793252227440376963974854627678374471602827180969350430912375006728849307517832666536886982267776339391667368548875071313426934094604428585351730355184644899911399893512656386803057150659836072327743095992815435335006739183855922569216387855424794317882399813888215886132964505479144440382134306266647726403704356012723793356403680982574859722486994516355834192281922571822986801529386165236551526355082456685443879606555696222141799285952137031190922964546008982764329024638657233839230377848791898542799275662944414127108584075186974460981528681053849812848032325924230848061297868865266182943539646368486476791259637525003382718424977592756973840156388726548602599442315207404199273424169266695328269030659407636298285047792918025721315144628567896732021304188078570378013329696239318172657709127979232899528772629484431180292245079235783285700658664369990695402875382772827198404758752270373472663252545456192596862023804526376217224416688319218896187673861316017788497574849649359486578979378338254482595676970703217476280892984478263681046663886571787906885745103057577105436879539901430488686398314317420152206886273034814433273058768076505843348579327669096861516127036733102151479840971763669093911918508154389367437311887327654313086231953710237618649936045278037495592132965973881828769638672096188006702426854366811766326145473985699907645493221184453258952378166809953055172713892743560693777878595296212965219871360680179993506463534463282528583396425124483464856914775853772327689636173513689366158061234351535232365272957613727812175730095882069449930821628145814511531648046845602194568241597998242213950491136821962933948549742525147154262704989992005731646862291809412594413741703214657681816345794998629058820901448446329763763813321005203764131598526353439844465349917878555475959356655962901517928485452398753823598743885667122534575466241644531365546584862245369264220380884649977512358277090196299397885294256210264372431625283187592656242748196365603724219684991175738646599258947668109866017660833242393240560241525476578452115424577317146609655531634563739969279349355292083653864721655527920756655261267611165840464169684388562478757771029974336242473335317487015882948239355738201870621878442111944968623728014802620788115203443033903013691555023136093907192227951195644547665562505848079048241593297402604816133063940606188509913410184388936862421735860144572277035318239197682689264991895553869147888937894053514828812385512450777185609838134987485964397368168320032350522928636811467266539321449164548242865589355394300012169304801113225941602523869365417997333249353820447808151697448198504462017487448090697723140150766422091782829959249695367398857779875268339920532183878223043767238608904706865166689940072850170417343103387586774223640982108587305067627166419562217747826355817940372982946154537145921497114575676376331067345506715435481253191177983572683580316646902034893836528392967443933557035145232037807415355740271713173491654151632729622204898808913211319093953964443720956756399598545631174399474527812400681841204206773027144110294426943979290197147773248672317239937758254994396630529127733417467102824803780682948153361857765276779591330864968283341868012554415916410466843571821420123153499384678912387810203614515973953515486711291579563980436771320360148027304178059036709760225137498152431138395917370381161330523022473138719363706992319123013712138283407389486787661729553068684730470099384526532433915322908541538335261235607866279317859759904691796684318390276480372851636517248962651397950368784148901760083562730952739613350350057445846487457656959649076480288974986691128076827591500994566597570775913603089