836214686253614347033073490757791232421855069826042935139810959641939657259875893586765475987524271926376583274498036443430942109486856667487270552592006901730422935277388011711891855735713558434789066412762972317547237178755580986873288954254637996589411557686783822955019244635600822283173439417899949994883484416794818426919617131009973989985038153390945939759404171445735287544375034456331607731296081774822712547519245042186726796228481159438009009817842906994176283897672395280157052604462998328788146113640553558854519927860187432574562234566612145107307188101721851961259769312285150312387065272856764111983646970493979319543976221636524337228303968242655180029043356545272576834755328118806145376173057941163194144539022863140430886017061750172232242108692191517520760256546421381978180433919269796523075743528022139896230810749825319232741269888462292153347676370386647412571244492669328031886524484245469757977885548281159696221729509115538421770351985565021220994574355361063037640823849066908400446082704558643876925859229486941903149400014923685647276302878965876278280491877206078623220147546327826513513666560687900756713798613848334562609614260577431977146246154052834642245949904397999963174883353692113080244981956794545512501892771676139423884803075901191985130121864773940138624155150463774038415977097356014883650205312974162182645338349151633454955738549722165457531694456264276353302302686251812155376860304871553088575486416669568692952493215396751779079322863251252501274482955017978609603561258639861796322645421928506136589257484173493938681848964756484518677748115490702613633831579596177832238730633570089545339227843988432170015035369871630417831847358586866093633824628071486592144850045103853459423507561304861643874046737711221242749767004144423921025027862691355725813242534182261981754776364329852086662825996730446846946955898485872670367254182871813388416903267909053879787952612627674355453518779537660402495087272147662823781123112099723743793627641379555573278135613022208762474044795803534790261512966143014718406425789707621156325999913759753239873476434479093022836645586076134602357204793304324624217407681818204625436941708212643347644215584782392617490219521576908012910036101797961671731771371216291763971538273334067256600155927344099708895398296502569655670593622713821116602130965534117378653459544548552849372600129582229531678221392669738372965942930410765990203395707380810288629163461522018135406348157298674405869882849806941562695868421072572847167885786469630337217985408215892338548446344987284712523560307949895990128673599529463163006711292122926767247053778544810037992599418075346680886021258653768541668223611899959595518090425183802136129486100406784236643521389776648354501190131431697123945214554504074737318345428323528783384174068215607677849713521857964241862780571335217330211551661787303933249499791514958254592855026822876894780516973018795175025444643199565083032930318049771338150884234985379563262595280879414007482026219896222652152827771606828720005050990655285772764261148328416897941276291924627703893336626182630766197996128366588291695845191141300479853293130184524812306973947299827196485531065417457309798429157246177778767567263688251605402396182363767698587745529869598971121391877269645766935256750368823269996723901238852269931541426231869742123172513842759270759072949200204890595378509796813114228332387625783859624528615348825499128143524774411628486322643785454046168416898339719423696234154683386562689567004181671950485804740876759587508989687769702327704041878717482743215885416372235157431270381271686575061252415923382037288315490177589917292620889368419385234235134692054626676331619541151766787330476222946805152990479619857480493422663437582649499215440397193167979236826036389232988648115759112265963505190015858026975064229070957934632557842293444943610915460457094219105402978954632882637733859884436346412687137879932434874025195881230655336824473786358436057693881370376388691051864307587774859237741243162912177227462411508562845484793990764493838320384698974157064292823122386708497563967537878595434622759088448512498891118422690701159745651574094263774153663400735717324788668586181463988044673142493315608373161658877569771935179589541040631383861844485147382859081975683886733105215660869752720522036077626426125809760634787632381500985566846934671453195581157320489013123262535190310589791765719395736305351717141215425319621598890358285192920721988990062669568516438819365305708775882035994194348202944248486777071141569748878637800150508819243454953028179518394287716607532754706968908766255339776558186794283961789796142392695671120710138230724471936267403411289192190861251320915229333549075807137984272126645835629868073596457853617416409074857979188738353809831996791402324355167786684080457408302253432407188462344324779664392481523716126743601543770396254035124278286765548247787554464356325947142184172379382326125167445741719945013203298823751086425794097024825273586139802839339794147732851093879820810498983119626131101100248145548125160710142558738910623843317388453848421830114987813533244799746211888614770534230761064286049383390971118297752564666796111100614626795164736688237537823835781486516712211482380179005284771284790321441872185910026212001402781894814851545375442396357574973703843679022524729101397227121763646751468978958198029211936243953677579550667405161860487364528423213137224564367038175961102035106197976546326158611050215379439126725089489020594036588457512757218273491436402147996936751792079332478711686985538633189004856588385771555217149836596815360995598174196528723534788366576671207679111809837378915282899751529153658823526954514650547830540946478178960556600452272855249243410879667511916252147684610699643937818355403551875785792186792237098801944809168643518454492