557173570743322682596051327478782453155701861209209746696938918793584449879173182037310808059791398125820447702388700671971493616390989098600975377581447882709733812923186151925738012172442051574088963655285283438547212696411678896580661381605651139001485451233336640924647347280161281684354637219276679324864063989285694242574620995436983573030967263114623212818522578866296870167532469810341539013821319348071748702707776430344839357884887954574188239470037313993432457054770949243079630808023248303693028188562407202429287351095329030793557263755869064358298105066254868245898865310947382634828242924646985875499852159259813239723876184529153869964244321184666408363208456143776056937644875596059122518371087746666587269136877752255161452515715503940188912248926896481878723858314786355761655893512357694124770039667654933524159550557048651896226114131538380372117011571218181394381396953860852181961417956030265724047422567292123111555367462051506076174083137874241803182040264860502485923758494539041839290517148373041723934861388120970067687393849709346143989792606155322344407736982419253459843486323818755926402469334502406851976217631641482129166525556155737956516039794182970582512610538644504518710537593651647383179216718946364717421839399631860732989315476922395278243075756332984010637282570257228044295111114757729521573226491516168878354677316544178054236477925569302629480631705877885547380648457957580144658827326736262358867306361722718362861142355272643195924740163252652070689950664965076048890761532544589386079930538809357171667324199887172983701140283031341873623088167995306650898384488164415749264246663869516400228801211314460354121180612161279412025654809806923941046818338423524427488789088174687645067815040665155999159238413915293193325638107775699764197185614051089327194580969234690786715488567924949683525073758044267895583955675595769222943526840141827298446734330916613227843985430652785359464363916652237962264662630819728308444455346497265214895189923125522228190685986985570636184680304872360361704533912189471459839428456476137768063763956731847586329255419592692718853516293922383378238492925750194828426269951833473855992483734012837858815848385842046861757908071359734302783176291809144037500157456336500577992154436415286178073694863523196093503825335594692619075948432927173116179993900913989667300423868368162599654828799141061289256995116975579161738432635552035144486307647801962132612623902719419825593722614678815066204158789583002571355759128951135614196623171157000819347988013901244243697762417315184873326422883769185033868281614788808355971123547004544837677311760451455958857894438346261612727098325489634297803546419557257935918086115537567955074686337602801984940686653765155028887155677550859026798999002047126181308144794994438365222249109034295595810317227614555985737790624595241792518753117517293956941302698557631146183138445786102596442049479683608583091319622789345663259279290953473875193155313902637721580881797105190818326371743321652474191460435139577359568537286190333865870392662163404984083707465179249733322688873367865983389840374124114119698749796121479782689757584533233242297927215291947875444757666517775449411111465377692245463907891311188438589343221993048002359739820249904987673842069467851233410634037203135874215323983513412977719042152848284612536072442432793101187501265811499880953157027090214046912929494913032809613596798373267986613058828041473818498175053600225986042346038535281894031225167929540457668278425076963174673232436632264344075692735817778265707217978944093590285946596720083096011611615456870591176781053269686279727213218047504801460178731874769540382477570867462151409122610647823967196824089317449175785870765192405510021832393884630757441942251528196637320829966246083535494886660457208139542390271193950544851176185766839079352178801960368537828611591443717251842897541011286343992085194458280322223954776779504164538822591625964681781581339679975457807479111300517762541352117747112545151433518143661159960032275785750126055257591180287785889757188021382550706196139313634104335665298096967720439277168552311199834783021203019348134759803973204479772191907841116995591744498974013342915311298529132477526998620933479365780449699604562383535653533793728459695992983584759245450048156507772534828276184246090751911973076883473579968213269501258927568729444947432850345448923601584468406308183816167283603532945579383219873488776315565900094567342907862256669274161831496359291705373686473194552738442874334601651247450533143411161352951966472973668548893461490811525256356101433920812432374793739559076803940471216996750181532333765477793145048790776325497951963846617211198365725124556613602991473073743095885796192984683451531585643963634097991030622851337882212724251661134252109068768752967352564243845231345824278511701011811345277994544386153614932686572378176361309765512221982019116457274554663121503899084616381856862293861620335561945835769945898820539796296313984884805288031478514149178978036316813142138758227567364694903086854253345573226319623763721418714830216778477856999364777955164491501830524637183967560208279983748215284909682123215286044167165844226972410290586767041680651841923717667684579285030625660512016348886308930854896067853650922084158950515102554876912589563564588806932719165302109171609694226242846743447676486137984275775599769332140152355371570582630029339840127093078478124123442223278796625592540138699566294694773675159256302391859416847852238120672895559764282269411251003902601053588574217321895178583867396773467201476418467543376326120412104411572656986931461956146704627354880653371951443210971602597735925555024630413762125339348436372819673647215127143173566492181529570804739977266226330046048159369561436981720772200272717604671850183909284577662955928379390963822263994895221837738932014569357