574124718987322546168475894637420751236211346055805934547307774343591227358889860592015538078409832775055583521747961130188662072225292316732253141251987175960493308024455613498462397492828686617836742615242451852952887403417919075583636330346796932218767533397745330221401452588161626423492588817446480458316582445243345877994532177475937634901333535193071243474415548496781142957991451872998968743820591337493846688666865762262724849092728167799043671349724823808548983610222330985429614658839246541381118323596961747796791167840951218420403879321816378135046367608295806862648638748171169534384309895117587984580530547887404614345559167803126373437943426141936915771539957935529016682610563721639116946707654107578386274966794352606245888144694229048924222283706668843142344113265864313438796355718127961623223472729038766816108565864489476976791892173628275948876180976259898529780759298628943388613339335266962270222669797718087465571597657979631498212015233133843797452322504342034744147214487356278424303643429257291650297869297691551063979967354253798532994341161473484673352885743490261736953861928769073116515127941184579122714212481219608472804973949995958599551316031195254360316066637184933728177941913528499305366471961787494254028483410909931466532732805700851375274488146452217362408189587311731099608567246632113385106708185143063127225733625287269333313197372316164745436135647680715715083402462444701900716384753395690836277027704858080943171923392930461132936426853483336488059053858857869260151458683685136452949839061367215624209292482611184706724031818669630197883759589133857130961074839318924136799314467123874171674528906217321930935109431718066491702894991171530240650453570265966373166364213263762192512036918166437759092126678312916270892701512909453033298559460944777373319735334249280887495208356392305205618844044250932188935920413459805609311887013088189933770567466882673966899222337625053740466791998477622753238872218796413279119186188557084966144760867872967582884605689593518685568041719018477408580992627923831994728672658489935244188229352786622379742650977490347848705631456575249528146959698952051634236644148128523740803709997692417929358490799325290498226159298640669632613609467671682875909922451725637922324829539258297215422635835334244290525482157084292440427434430244783605772797098067676949965892149290993876371596932634647500111697994831167953562243582617861608486698915235622544625138945575048174584930522796544818842511056062390535914243253421236488140063392214925693909524969474715167764858520029793066485319087742927293911393856943388501535153808819983528971062709526741514184050696715123315176735784511526161415312964301646154534579777951719529263100237985076298148345818401739063778364291894814256917323315617494068936510414966072448332533254181577058803954225947515874259469998537548392844367547168474642716081662581128311334693479758777953754014982074851352793764728807624221722020422787928193714346315505823245254365701172561348625067642972665917019943312082436469416821425247407275043069493897897728632625658611704753637482469025117911716225307195531516844953112329866941624865408906281989998328746869437769664579326733928613588512735990919811205647264967841775579472690611151158869825980853950388492803027197335457159409734361086439123329721811722917496562915169464802835847987361645983171112255625993460570103354695070466451983297423451629452290789638629693428487552420338210318425408419163114937497121000116592283886665243238891919728804859222443608323401112442547961303209693045570886286248434818632169896905489638051539626217782992659591464835456118219908671226319475089632520087595617204663152173103749423523497348027803482598720278998970515325690373477675532472545244773999085231877856778667296755697444302623731662823309945363749728343887035573469311901653755798305982298979781148952876965760960909918590081961761341575804342760431730802678579731169389641470171004187362363736271267788516666333364473522180591193938384543823581644854596087862854572214605675555319251809120879466899053593696619498717077814962628350647241067521959146174949484697158372882274032219190298785373314309432835365427192931595946338538128680541426569905720306568282552723868207278530077481297629240547392276961515765383094171876391997832410772344419685305746540195492891973484107180431868453428847932795188084977532431174046545769649831494650019781783332918099304737430217201101946756727765853791791281326248951248053450619693696275893828371971555477384998928764751816294635246568448510125725610396616518351328476265170566042934615517938007194438498358307326189725928566634761252783276317888531841878846448599787288406331944564229749796065009165255342950249556294809697491834618104793490833481161615534757953996909518926042884586839224005481813140011815548152755265089379267446532149328681514143870349657329045671890241765641705942004312692472744574220846732941116452981453964875148272655888433119486651364567654259457725001695079781618779544633329387269173447709356793128980328680151520430050647439835466311985653684078713797701211273351835753291899964634385358158966114651847457998118735620697254039464946607085771944468885437458863803980377278392634736802942369429872513896656571853447252092224142596569809649103151361490398378317961885766231936057198064369309302098029527705254174282601867093921717519141948994507322866956494431166059641357586649148495508644251896744245577817371409241524751984896963034222659238048640229998097691673068317502595382154981345777758423087465461345858146752189474041089638387026014168432989750462947251040944872689767317883089075529174265816274413800811938146949349375295476539021067699638140979961790170796434849297921583521176277851667207675203170871164337875243136710772265764923286399440250464648787713546828382582138951760509368473784