327284461838778056821121742845827638928930839870719045678745585691105528335608863664793160414647834023568035734668768600116924761784581565089994656347698868663201306242391672358261992546138637096014588151727957746240696733029163420592314258876043385196856716831365522862712498040679885024197134167979622473863042065761171926913221717294627902237685908230536756122244961507505692463776044361590523903981341122319037947530417146697790922922113933098198623378285474468523603670786053837368410785418886861194374364526389180338578107672883332462233523180637382293620736657717103352546343454758016397198976678174695936242386542965122567602649496569359911632894315443924186537879252663243184650257877169583269569720396511676721090647933826412604690794566335561562099275574354515917425734019602461460030651084261759004338323278909528762773242272217051010357836713923406467114593323841592991622425542483388027193248556946655038631195754424499301895548096264230088136887968240721436819332743475351703150977582698274296757696192125443427380594568113329191969261106176473038479699682196063762904032157175393286575708954469128749289982290182372666979075956305929171345441339095187245488542477701015396707134150645107133324662294615541918492155531695796181953365970592170213426202142060161398798677637533226070216570872351897412646669025970473047358614599290989038701153749222375379442146316252199470927601968641265233346156842601153205527827746826599039356573669443673586378607569897490147325752022882951499345996353808090869754682786371376968269258789254612008506935643414330774229717732907271043132792337020275954227554374335558233109024923741918968266254321253139143381546720380471101923823515749782936107373374262432533177144033011506291539257969953937668952186441526567930288469918214673288253426271847569196249627298021226418625486061885145815489619992463859416071458110328350763245518345160622666236201028093638352195052786037823435367260550675995607234982591400481866756164520582941570856183400917768942629786489989563201365458814692066132640721134194758613222893547536519899145693890883109113540688388137612976273587847187836824927118073005944895345879791907078817434687485171935499556572435515371439063908828426548791675660027214267518838289726849146601346627996054494276619213755622335792449376057188807447267742674319322252253644197283453668625645361867489304929876803567439339311858640597899247565543155887120253334793558260433108825768858460801753589475702543595371621166486495849130075314252247927375136364122960716080271181346350182219663134287502472829506309469484338333575706640849649677259315584114821146976881453826543005703315788537472648721513586814504765723372539121213450385632729293284328574805582223395093113212391683711920018801752726563444345444367484349066244317953412278747450069725461633345692503466850111405343181004009657407811638721316318718886115286496633507967309227393205734593204132769558306470142271026998856977314987328560808251226271374651440096008672532354451990445671675691428622306798421853044974544123023138791915686969503418114074636741024581918548654416472237985391848155147164842215757283311560785525883804568061517786236582968386117525720289986238834708548914889865635374121015642367429123632218483856906648873192173324233375962475088746776815288288652363784101719970770828843285239969255592835248722628805645551618115252270165453728385978762488518948249245846856834181519348681205127782517308884703363568812031893130103915202300428580481438495510395833515294993674135956228462188791385438586141529810988610603475906991862692571297423043818296221657537982526936940271630857226810667567214511310171044578335704247165810078961600424141879068415734725300601648049352792926884679202176437766687558332936012961837727637915619552695780530353248256707716491519575851099597776525952863631762795042437364336547983171161313288899432838903774174571880419052216847749815462870611494967355532535403383932565058371941923095364504988651140247848826730416049355855386814221807454170966765873359877366595959398430828798569192428791347339113340607382393533814116488419758556982228144455040615349741425258932932664996183426943393569241496627459013270162530018384182914984008889877467018009217055868452467244919936066314249351338551660945998561441457911706569788025795295243409025332860295850883257437275060163595455142628456352183329065015581649369185162230317583684246642208685717687204285392734104291254486451306713510512616700320226435994844619490088475113738249424971591378952845653261929780063477578757955279996434497936809093555964130394019334414325184565298906158255977894602767470002801531247759129398629099126436313362886176585846522422296338394857583433632590033493493112961715890874562233325154845294912655956572558959028940524390153036365365464337299034474359341444872644664189099807587047004794888077509356998431667239961964047157903662570584733326525108438592989867146385136871266748912794923764340028753953182113787822035247641569063830507647623277207423344500890456492039519086335262017387610957424246819522644408441635766727555695613048595688677687170603199217959555988752872799360352623187508344725482117269399918337668672111085762268071364841368833866887362268118862986820213341583183382078060556171951452959911951326639749870604172266539069426275853684350575033057278801237555084832394892606752473216716423616429617592825574945202802705011054108371228516043106460624371859529014124255035777168816741823565963960828329448019726040717731567699459641313780677304861710029841451157124999206493343818158782362856348304881526099826696554128187083889850444779716114561015178936312684252140563886949439362155349559228693872687471277476334689146167017195152380349278234351062899163559552504218927650862867170192205746933335696711855137598039580165439174832565335223204788027969496925367093336825153597695962089270242179684687