12377827167963614847182886559114502695957586208979121446734686127628719309725162332366830490318859724846491444093935719574511425226045458106924830501771435078679085313462176823899973476369233798188805663686022621819673405136429716479034194018623318299384780087415772164145437598456791754895515716507196452742506197457323975322445989465297723526383581227744947642655593858980467842074710059954765279939103033974822008749385754151562537357762386995923175982941457042668950438146999712199826850248775718066355231535243653096893313678833084570260013260273137569385357745346246093109998136598883513862055021766216251633896544510651376719746262346273626784002632181107328721942489256298381823398489839865264907153899932193492947456864482296277144527453380459094103937217289361423359694612790157319634558331868009431516294549533961997292999412069853184696467574815794887825151357027403616357994029051303105186424988583701203154573554335894523854747866866421667876133468301722914936602275072174034615679718743227357017963252628416824860149497106844833455375635190430875723347218039414968125324007441205767674875851690897527388175495434852034833013537092493240959976136599157619535465910106045006247384861581972920854331128970251473210821333647498587376441665262561600977233657271744558961488435215967611599184521628584284899219321572677716119272432634649387349916824674955073355136534722427807695974574319489498289895282379164902175476889145953355787051145193338630758705676122179652293284734514571876209212245488461365178618279116689733316171150832060004193984213431971808841006673721615098702964426242919525695548908657976236293652015623593327651783410624747287227507299369647818543560622689933659712859727162517803734578749746579524845328352256431222724764265354506937243131182875335543526326288067429450669875242769760654562662134938018828040449082123737240693885017794198240864079461928797257172757085434400451983847093993498096967254306037268274116320091114487935020631368642461647918758435247804097931877938839653953816973252958642135540362491246701120997114207847933437592582950656231346753824068845969691786028249597808845843849573641938663723070529858979285983125481951823914818485018927102584917288490966180430488602456897983294642289241429458599240922371573382731255601934839419078712523872340572692375591452665333765482727037458304733313725767218408986199507888174636942999938949018251422236704178248879564979603816701282549525952116112559435941502584299132158104714141236729570951164313272478729202501163139208385371354353946736748816890954602628995851538753278576660571429355609212938009360758674712778265145427684099375192141545283678174414992328967938230111408643645668042005494525912534134111689944932127125339569902084342672578425432532178755218992987486580588558521132310110825342709940319332354933064368605168931642402374039874792161428159635447553517520669913765412148193995798391957417431389543929192638520941182319583215044383036473490057936872506396665338147235237282785333079354438788975591859864207185496120751180270391179196745253124278547142548216713329385935655313431567690569052689093420080724500732023536377100575125660208377043220959122089529314764854057953939079828730916418435333120761439939188160444137777635605136516129182442582355566517761768191918428478386789261707199567925643591786389966151385593621982920136427419973621656445413515437103269581428627307445056565759931047572256538086183444415975652039754516272288285422343217800740142322937637503593449036446715925389232040995379993380329662032988439499347550328773284673774352378079912694744305893633736333565110522544663318582076494668061487153144155264154234792223329257799472316494540886831305822606341598012524642876047173764879861799525018568679123934143139913926781183622358337361492370512996642592329571983686278192227636801265322973626625379811333524790838862636898976166944371487562310765482475813409635217471263644496855590472039507381884284825262090485515031808737570565067140264967489062893886587157432818829001921919847552338036757483224147211046493691016956459848834632581326843919374235038098232997360275250988144558878472749092610798454413717364163595343325626820155397925545584340415324134371470978866513348045849959063508712367160338219916276576803770348005029717255484313909113210442125138094278354410295096874615323190785035065983688901591568871437500900359615009682261023031561387765971763510976163356003862575666980825826368079703980290543757021181650452968766956452034931609314333833633094654632455510657583406886472384499983869784957230309840299182212116553963026307984410259833483172563862642307480602083354866559538917260179155953974698431906830965558958262436983785096977937107100518549952145884734829180552542311969175522562476657913331793011909496537543256756591792562194423395167835628013748288360354174355337567850536448255250243540913375824560915316573319406220757607817549547447488316633141379862637867939103310145166295191821507175884889052495014677647372839516293938514271821595195157733625263163914349394536446257979856870996496123289708990924486886288916087858549812121150706610119365346239624636902738056079955686835667897388490826009887571089877985176975358763576436484660944140227506632325878893164129615502304880879635264158155795769701331252090593543752725498939095047688162465621556638726006266529227017576573077139952580032941104372158783787052480081523834233781411570811274124757633854876173873355451369535939237303432145263930945416809082987997634082638660329655870090466277543239024930802475634966901789653885594202188935887207140583532171714435167164406134622264033467328821136137305241475980154998575538518141526535962992554675377988649042379899785876097907736763188544366606408747256794439142859090796228125983746085568562116117579336830448574800558727758785764248026518931987575583322211763825773582488