[236418952110249382271258284529017085849907448953418807983135257456259076574774844565460667291090060543626387206689406479494442985002804287019310996911720181462057882087637468618896140408713055413511708203049340205832747441996462277030550902130783375253556377226181077381378292242107322134410545685131590867221634701531724256633375968711343356883397799222664317777276254890828276263376609126109238955624024291776889845235902089216113591344198986947373503725804443073849316127658663996573400410029379038396623687528799651692109709990608886393108262474240797653577553942086618444583664257173871970012237516984671333224340035688941238973456749251093841461960877462717710288082003511629019403415546152663168989097225201805684842050255763357800884462978880045114263400122496110406409635589655122786935744334241575710318671917810528708796669954538342117809360892039582542003015474628287466071550558639821209881569538677416822390871386717356402679669617428384844282545511740928660191523386369906612963072247957100331252638121735970600843160653445058214546194652433464843137732509347740973287775357815246559845688578444434486897837198956239054433085370752752517303567261505358296818005590100831255370262260680016083965127769945030895886482807229135721375354962210791204404725153296086361173962900245021653193693149202613745633152819689628046249274722460488242776836505528242748001633365797430922600232768244900306198129771459851938566352334082115177778600818187155777545828332294373660422261855294566043929477655590738581913802235968681095544092365694679959096108323902128518980187648396885439056492914060095674066975020234128168321435441634825604107631221744387476049874273322893094628191547015042669894459976987885649892035152423276570720400500018068649142550822416510824382843834028375303121193573278890062189637459603939185835583639305973152899053823008326149895604299719571292194402380125016587020349395279219864325585779669042845212099294656844343536479985315099160832590187616176746226496181303062343570229631997922741749439364884396094409180730216593189659321643655174609243580341295696672741364891268740333675426686182721342296982083047213732832674750227187395881996671793741101161654849706292413798823166098719408589634133294848295941817980510412170337104985492487539954499762332777354281587823029170109343907064770148761075449800673921191340642190497074172751118204563662531804641748900984888438738257745672206664893508092444096480820670815888367402135349030123922490447783790773513483261980622316491456310317883681349944677216180195296315310191137346035578578255649794426862320424174026724620240439901947444626591315244189934007198811502369928492512389336912893355675173491520597296862933435508420209311014775271625463025941564208549437304404712364170421274225939615366164096331397750514253818959510533772070477475437270166268238016792885102999167751541835343851077500902703153232076970856825775107235621999343581706449871548200664955239205268736390091820030912177633968659439684852085764649714674520556950030654073103988544038398737542635382272165568671426366223001868064700269791622044867039589724045530585431729230993755638674568551002528031650150242911140825713789977991481579934895542082529066943688745252915712848482321326499376121761471301587930942814357456028443841808686571079402095452877589048617211516217211862033127415959067592116484522841033787338816711354493945526071292355637422656893900722315114973076373775853311006771434248017075680216910033818910930600962843745651425815997026926373715503758614407720634348058508684689038263907241877135049029217989308978275027374638672608492380493677851430779626596086143085632746526380429729689208517171867986381315962345484686015819624426005353861405407225198234529090214042801757406880255124973084690178196769957271989865027386035953473469536037567289274062674399503465607269628104504533306473667066266636132027657008094367210709043081547432340209020937409904193176272466085631742740887894108929070629609824670721636415146418640773425384849912197139421957402078788301656935377981196198320681620003640740127732430072760463337563058884554055759542741334765507152504311548295898712778579984408689625869772624614794624211403914206774081485125396997576745823144084810454284189408206110277540416324019687209054539521705134183074539307083464798082501946846486371812041905552932590105863375674865070774095338704975592258373619914353139473866281663553217596293187697263626028001808406333238973605709728027501149100267069257931142731323313127491274398352200163968884972197651531181123326512513486437478795756109004952301417671338953278631779328424788005859669262712398887764943062762215432239695541731845183483922689455835276507613877246688271961477601148143428636497853438290821261979569424679391242135398066532538186220858011365758308439741486043192851746570080990503060934303215212276366221225406738424205686785646908731579320501154573887067370228074259283838542319701020827450709128580943473561375910512103410662585935080145047747550431046771586714987086421759059758305989346439424793527764404363250103649512752227137375084025975866473293961799642416580790968168752936623257645241792317021397110205749926030751153877280924109893164252334186203784651776560524707822598241200159350943269909213403800991991202184248853739414754577175906894654018660328682720860007377875111233066556642099646068601354907669075405034884415925213539769384239634070408506993667279599985013961869851639624677901509469799775663574153343786234696115526262946242923426711745182941926399251768291105106625362036069010938311090147076259589192738778869920490822306216939320147348765550849952660594552564293730884586854626915826598012407854416635350966685214185428744566360130241774995829299422002243789636882135584394499944002101141379963998717242783893073280276626427535549970333779058891821592078459826857793540606009993911195046040822407912768616159807185086592187210697103877362597942084530678147591681181839468005006587237901827370392279369154368382022636469729023704361723162367797689835674146827929780956556004155027703876720315441949300701059477782000171595904105918218407694355104948278407973417281972627979017757394673250452768154081821989202626902766048391457601526183635766742666976191296667554092265596165236502451492865644756572058995705754288642672340752601974952405900278646590210116521618062240486113157533197801776076993711455125573178065456433467759950889773651365385448293331717450607844770889110446452503573030756958913040024710336227072072546711581569110414209086174694333843321817464164463327498356425744605808303782291535985976794356196896311966972346228229118748381749974630733013792320373466931281677001642073361636086007741977964552286119753156757460304252743585786272029647991889382562891504020329436699767861726912391788180411906587665948692024870825613644712576543073627982906737669303915447131622959382951804353138094480723376870287968578987738518789765861102907492745193116613816915193587321582063843091527438199830498522737352390327013313357371953789912883532469755698600316684806420532205177105687266852025947716658643179102460001996360611332198919665042338440979780712951881512963699835661543489717727649218387933190670289422266613154350200867110039395855709453533949321588598159551223268220243728973274990612961030100097472654050057828213199711657177581699808567200540213171526487892994148366854052507517616767784438876544062536184498202898006317275913783432380732803915589065822717336218448837694683013614311523765356985444044290611456166708904620749751817239148353997778263511320450610153957200969112300675817799155157520582008371621088455824567058285135420137730907912837988502490664999787456507384720270720353362411126810220687744745864984987295875407283897005790574986194055225358510004588971673609476736081490759132863378732661388791408934981162414349630591064285589205523010583540858892724089619810737531037285025712197652902035398097693974334305176129165293523706148399769918018672105206371350679290276376947848799418921101781499861465086839921232383293895663845280828961475710852062260587457148957614812386318126266268135563347938751992884561658741743956937261057080554240829460559346384643441160625138320491343573185208810481516237218627511885167607158494987312353651639193653740938353785343871965591506663266895060283847893266512762115641198715422869316122681239012840285022541997992015380786182079659682579006377003642666921106712820989422617912161430089158504950300372482460464029445684347742509081559230326475290854151394100508225135474881604833812097751210416296811248495630118194026235893908611619746044102832903486000374485396747698442923206802938089134194323498398046904093365290072155028615974515206926371013624471216921185615581634502923745879834206433785440997689377949812677464949485212271140374573659313725113034530804838130218700231372220393380722055010533615544824266695115122781275285963134331244498514805019583306149318704038227115691377080731478627129795639900006518876410115205457323986461802054511229314198636324040257370751161425501430616853782954271935526483787317642781144978989675430818682777835265021315010711943493349746029954493430210558207050099376374682549992224461806335652571131119448278093717238994292775333772695687556804085518888109654717007011079318579558493181008042808865216629388769009500275820708632960326996817597280009919573610066403310783734834932874359953753889067947495299886227864560400043976282600381563980749516259201551408441276994612197832211426294229483460704917820139847170816720642179490373901690584535994842757561286260043138620722131923638203945699401526140610420011667447134411203438198445205532011918194874254220779410337225099976581767986605171551653680994599276700111613504304417293943033840215365501135454473051599160714875556117566645948007574189286585614212726193631561129867684143698792304258711210568966739418954641501026089922375327015228072074250147776386763403708617184492628818890821300665645612198298895438537591607760278120088069420270532032286269791022613597990901901613742962811663929231320775142539102610933101777049553927906362468655077950963957831701169387556192957383544618662034066677443952854657760490652675273204415383782023963000748440750280189326563709735665766153540050237623216114216466792297256263138402535077235452530190363790738255140126661963267026607331223259607640534427348165875473554201314050693655096661743184002660149644158756497158185401479080323395197288176904071774409448880795153755989834200976283224926767882455784917124893725986308138539410233068469268777323150771259724787767618540968928685042247851368126058982608394072975445814985139507030353987104928543666180088979735012294904556934502718003578498773536933277292281946929833381760906412475346007587269753927541144274109972405596757204247051013216712725592609233055812452616716707339345746770657597047872184257768930844725952313418501344335412441065000833474405424988760118712406786572489982650115176476709633684139955855579831045854334553901435516602602286709823289050912223941729650032139721212232728597007438956537250838830288898715812943171398819005079465416194748664344913822726240361325509812488482185262923795107616557228538482249481524181620142038244251419730032509800424142552758388513726384343872714082588118838252629616211472365809937188625523089167409485331163402932255575043055717776818277397437955181136868836041672502533462076107595477973368436043642506858317386251040641195359314725137211174178214768952887193857389414714886467717707407845162958943903672636132162341738122331570811198986132736895342681539537208668375644178668087530786125006458008218411134955338051277183074256016776451794035000680222097949380570538400644800516368420311658310710769056120385471274631862729865210733841014490851528698916551224595304106144258671638799784796773713631323986702709588746237244014122804715718517366790042592534402757771214221939860182845297205786449900542743405032149786506445038809849931471947902762635194949466504817393925127002713702650250151631722610899398484043229485571287526440789045853071388244077357868302424247044335642666058953461230714678724991969174554937773460182458854201475778372763320439117163865027499514053053779120423005620767658969548347906085130895746309471018003296120952213017156583573410486797506504115114234723798838344027892214670969317120116638032780878154907288253565472675606461729392394302507240063959426668575287057912122561592603938598053771706772503279602444786281917037805181734818664132843612105502066876562469959098253973363376075698309834208610468519834916883781852079179980874756764259912457156724634105995032163701220110227001351148404511975807974376483720049537591042650794901637549455889211514740149965030669936124308556789230418935426827153491935517855623688357405717781539101180911064587112054298090637676379978792965923277001654684623146754083165192202538823088473289323653640434561421677330015597399394380009759748219990694908317203313636804122294147951027177244368755361472209744888798613097390422345798402290128222622087210903794845544155543990240654410791884115421237199635833301321478107196127730440914325371658714723747543550638415537136626802804143034906817947625664581265841459952839910301655899932392262499387935032790615879264378569203930531693297221068921802371077506234556534455746795662701613652704551800683216974903658658377365032798817179615225701341153082164661785375001312795826636119992728906377596742121067863350162985748262646966463532066705421885252948645291877392106691627965518549300555454116135123635273907175214528483331068404116194663511523768503781644780923263091687011374358056773928547664080193541709502700941255925538074859129310247377437206950851593957914835353649985002660044945669264745332232083250400527231854474293186967428420693805302000078624409002757185868681725148516266751692054487960828022647327982016830569379629271411615398205955034734135246590553761751922506113163861774175121527993210472448044428154268714155884090825394697061234210787996322739975007919714811061686701180617814806847255306211436204126289229958017547372310369854268541513478180483056007849446613173052371438332071856992606545488100123231894383915756712124977286844376828389204540270002241098512262896001338099654792246514109286234881521559435282535444803994688770719530301622093451972983524194554054178524958460419513149897834951970601819753824772482905369144112499577989202631712135518622061618860246065455033745120800571916509184690960210886626327684327069812500914972494209650306722684977034649976828385400199942179962279198544621327554009054321335781720839931112083279304197020428610737852049527306020875781052753199351787937549072655163712801600104822707875192912342085305416920328657717935790103258734621179252589391541922205970877447858627041359525027692831743196004288746471335714917940343217443918556546613918415727750413978652095417118310676959132982748117163007844756366065747099234470026323473086149827830144060040058570022125350694898556830118778422290200957744719701537739816404917251827008370674230530490208786771798130116567381082993788044162006009463804594502928463727472891298221909572517732370603353946849277129929919556945924670412928745935075946392428261489594462588159188917008842354728783126309368955315401895350578586538347648712744288557664740556388147360752827779415664900036720723562543229318559158561559921252360543726539719138208696461055834108022327266462216311466292108649297396995983964761765554588262187701534857446800425162448626604409072917222297447757300452819560654305908341277644009060467949924195103798507246623090696724651772174149105918675826730830958050236507400722574314293984032135436918483378572436734828242973533845621710329181294383291923619311966690806063810096694117273773410260963424224344407471345151089558873148317648581510418774333535084598477381214615427730852852569316933430597109550802922996277765658913699436002063734098785522845358084678305868800241981664461739294900939930512756089952234956574818080005839413832200327517416397631161020025329183383604870218159548543249618678294919399622848493977325937326453894139468276444981863289471844579450397530602972818753157320257369089458467698929307135880430720604835196475636204225835882747247322332212943210657005792294094194912087328760744898952664244158251611486979705970395409017850916045864528838849003275860029924953111276327167582427688215167371454017998789871301457044032289768468996604961967144369619180769775071866071285527798460625246160672132785878111758214306681143076677910201083091552741588766982701875354843830779775394829635477720743883639778527157124026089612620291243842456900356236352444583066834768686895195168242693337121038190896827003971716055342141248000801030494629753927536893047530827135374902313023451023765257038797887009518487935495860617824215921794981482759996071015669705200095380875014448121689936223775123265158979276413914556795258640170824145532971034132755080160965791596725824152708915008432236543552970140605135534029764703352102393916262967433729581320552684562365361783614637119322487964307728860579182957567086108051462166383042232894139571271814307425913068842778362628870673156570486291147447929120304598500817786085314194830163746542182373894117789005819794412201560345201237923444435164229412582754658248099413487292874140174996260325915516416733822948621539216144208544841077698480779680461054183968068868286556641409862763094730282030740627683887676928700861408694945719727636747310224323553646618663021031485535566283597592516650777861370365029219242773752295690554584751158351587685268281435971176424117235832953034751648244926715122432379405556560784242385365982290124752021138350535585605896083081870730922418232398981282436392223995523007095894281038936152522376893136329706729385420402434082897520890533368400998589478920529305344372701933328588958787674212141017060247662620100897135905841077096011811751897238741579950815185679336511753357220230710482458814106659755148146118848042114878461375102297118031818235582845974523644651926781876720214430578988842151797886125710722362920973007958950000688681634003646972165680113474027037818677228935069633988566556925458727462614774965062753475762950788876701416028624144032530757620401427735159512252452631749715682932360494847101550993223533847838523456009571564839932994026796576755017095409100264476409757250628190981588864989350976421694964077924115496755389222692105789901496492831273631814991751649393162121009293745226741405079918328440835735722101974136916403826558074779761475720212171451455248948417963868161365784046531300106969602148387360196416222352858365311401260693879698468972564471213783959101124482164781758075133478929073506136322681148687737807547743132789776743467200881437324090514230182271748866473367413148022742266521854782672125433423574231533428294801721479242118203831028875462345259189104964251967836283407590939425618996579951566465980179059790175934480692245391844623252034485365787990795437468061528498011244548894881397641836458266072065699837644066275844290107285120753676539371515049102403120770395975035085885922705586939842155976209245934216883847386359228045815729181145945343871908983705227211536909465262577602059505294057971632999121130935989976212110218583752559664540494423419739091640158676624564807563063758060355309199531845130804092929594209332177472179565150811441740339833267728009758858877889108688060329970057012213693918049164246694045890863810192004529445360529465664366116240898921508094456148936653501692916381001795749926118627100151998360776720372483159925140226217611573651614111970089444018858646848736806373183741874066292164755594346332392850854310373782936276948045814633801621277408582343926465745141888353630433236136906403783638698155712629550470371552875881859221208669417998995985046214316901151943206898664903022447418535266634112443455482841737046469696080723069308626118496478259169983977114454071636208637848281338155353284952893119177853911566608764972707860221661628262655285304368985521735939117097991795563570320037207000868367565788868488048677119508558379885688224102011278257940974075590783768952950016253061443465084603140511573423057153576250214744406275189272372633738514982433118583497221066254089646933619225238140690898885686937064180200272488287402752924076738798765047277858987717989069695325682589194049833040098694615807788475209921925932718382949919218281592112070035158390835706100851702318912279179644730609492981435805447545180562269807046085298403235041624925897013715477224224218537511492507161714576149229798496946387349428147581228938730941815547031403590813276158490879918767155664378363590912553002752169842443430303970460489148248016006791537253002089215555777558655729175820753620673061598147661236738691019415574106860267463200961730220841000128559691509257110151295406780222291373564568414371817850516727788050516675396920963961722558235446413092781317994308295717647785717928164771307569043369152420833118321773002997055759260997382643635712420548030183030925586197389425349549387885086007970656144884214965137070338290787460828898692974122522127768600209007747184060677285014086104294205412026843879581599432069008960483199157731307443640223148009308758801944590747850998826368170062088197857807905050605899976162346135847306083253214562673224705093382119736570957422709966130782187440646686322245733348714887669301180787089659142148323805215226173398118905133020244081688294633317549125222530261818400014917075095452445870595726382835499784088955507260026693448501232208875078040413596184700424236804951424842671902005985392596711822375933116385715417022623721447181818562674679639303654340688178145954070329556785600167961504812590501368735769846111643611604712062481103533536506584824972968635563615968094741043476100934980969477493221922063294674178081457134200144105850145643843533912287200429333282873001054393857112799521075740973982855235737452961948403640335198058131480898645205722216721126899367321475705528501621281632232884876887170265193651265842010362935627318695962662634746075773940468785191123132876861716609985778110024585306996290593694442078753372885864659726145928678606850117432628595819462429444775514062514927498185339597486757348608137192677222686447973892824703749185761406850049776465771818106111386576138917978068725366734709617477395853374172843863799866193959347955762350886757511697870461547415323513131080200680483114094328358708143649135959269135336397571321035146685448203290861999125478459712527834232614316559466135636313800096585666131830279000085185622240882279249888001496497849613382166808546989907100591421428655993927935722801173911995654137468295740375102210869067363069031192124771087602538094270732962537432016904858956581049257020933284432606546621088040704164765351761194662215061895763165856259102387476797028672362893958411841842426926366585543393661696115080287318605147983133621628634021531862605368782364231786970848927798135635426190031823926868654088309933311228796486109795362408893438081077653771425231806038732510720425918229233977087130398436368794219359971850191489993206489144630481166419174812128721340738365736013694459308405302227394480658791620475550598015502238570643978944929783671364424464991261156004514773407054853002473956178374378742488600332013283402542465621024187487609562486665936520730899649353051943301730795450210694536720430089732882583422990875315331107291532365265099046353195537016873455690992601039175454345614653741823128468100030358577650628437634316773573423009663527280542966134806033234101160615242737933973452655193415179104826619070171611467140995050203129441392435269559518783458454528995554960845794219582587797130598399 : 145156559541147946720970361052103610903155482358845259044535903755376162802846538671707604502604917979225961738706509153984932023679980954996455093655375562478089468377114789893328809910464188170363763967819611892147512750697706362767016821587508947002628509545196564157470752288109794474028827680844244789600264956084383300861617368747846446255285384822421909619668767051893756223032894705849634038512952355090946946947682398494083140363248440105911986959112855416120302438380269970625044214723576411972162482273354699570332734553531986050189073986230387830654500101806663062623889440147643401480719312854350681070203923492480691263688759798652680965937511431467403286159968310222624901223664199619931519970089781869681219190821463833032429557868016014116739309807806915760191805385433940835946957253676149993042211704597435521072075558821369185174961444036754338255965628234786675605981804936673748036096616448122174582195577409098203020199545253308596295898043144994696481133382532864431529611296643123601608975498349796995530264798314305949107494977130180778979869596724016684815508288105568746030485899767076827642606639409033007888407335738860593124488235605747528974963369701433870393391054103248580792925170004402688839242666418094906610866560851005663302991950567348618227894047433289038450566820255034785539845843056352767817627082813269048935959191344492122057544908866734687449910786884482451993084483153243592613532238137862869349720117522976581524451011906467111100933820384200333311492787222008579252070564983704832994702856957230662849117196123144911813767798038398542305525464251746830881404896452035358602121044692291953244740544536082635446595692851570434011173376836451921800192601301085371690105561821508452063499389132761103661379646158459512240216655526158362829733724385900329805585841183668901681120092532944593424192115956213817680009231055989374397273088397122000979984239307162829589593170399223232423470170958396114791206414300273777076569656761469692028119623077479827502810792637579501519436219674160593110124641020456005866538982514596041740440983307323796098072987118212572450284837044682981957858730335582980246273790748069125131936377310833436463054346439038803347222202962091104173375523462848311125795346997364827603580583799918831242611440697190846843941062802369977177436095360422917596240203227401687765781776623324271269715511204908010642767155925485087167580247684677610559450116228548838928368574531524854954575027073876984427813939008320716716521258064642447462477071058757626823908461168556514463503695503284356689150419634526387768537696653803861175375099584476105162319323828463183487111806413934554258971713862090552006310915148825009530920792823326729160501916473692534747900259009811777053977389349602203178916437257408193000849077131959505082884450246379222114980824687605343956667308817744177084577714484212954218277696130275973871450997664667963301123814358417822840907186359110285196882033210185811901637083699622822860704940763191296465311677426420349069281428715505278184520847215690307575205753388257632351212047669866899378377470547637825504238605639891728451268354294870807577199411536168852525166811125719586083391742602249843279307014214030861363622484797440459859912103004605196756783243542056078291074695855083125163559577533591887258720952873531931499600309803112525163997190095470088011531225268311347266764804601338816388741025326127212828971090109614417700542929244560116993209961582680125749511018065977277720710665500009426078376789075477497999895355574986127605571286494272770898431705074891725743673615885950941015299728857206011670011130604656269606422872193718398884191184895398711489742464198210300799161614185112393081587436527565138337027327721767986429531475512518304373262273607062058971729335153274837885314054024299522055899705614110375014219367038512738397787956576157175318542274898754302846038417802908192987169792841385962827992397634256880442721019371376507826080226148761765310444572290133871619061113886187774544138520796514649641308665854435520882743945804608428646227201580849342636393967538899769254599093980535536763360214143227268134057634884915004425194668897418196423088014222159362656481611479035079546712709161621037119128305399628245987560263496930195627564451378912116617709336977402192370288190589390125357040347281524923602064996517374745316472997239203218907028022390691847719312856897048670966218466712576617219446067567244372526744682377865994523878175984480282854581331804549802861525869184526250548499847466616422886723107700169469990354696359462439105701158826880880699672098948706147932894504661218310177785528307567771340389444327493291588777475183280940145320940854910486373936835789563881959957689099068920196179879367981389208376151314519469546536935372577698045808213487433258516398783185942560786196416788385894609492611378701036394146340137635227670115962416074521490750212385187340859713314395553416562912117593813484095733534320320194426370990057890115937845215149425472471981569074975514496677007877719823755754593338950860507501171575104578123297640163028120305701272131140945138185150265607836692373703550998656045465937040807801701412945684920738691029689331262404219736590288226662042415369671138188170225534917971135292628833939525699621856788299986380670353839850376833583811295684280643238772651457737934935460548994062108077241543368704842812608816284567682208211782831073631317415536051348351160166360811181451463359364199863696534943074673398066627549825873758415267903893876104598367144170148131699504819392467429478709757996189811762816378184407785210757571391555289912808316461143254089010100384578938765983219454083749126317318963699605872817567397213768731499292768972719488711200426217301253844903859403704918666353697943913464583866235135277141023032571223735720321128076990015345308758272994180178044565814165874616303823663182145496962405023509973428627176822603386206998308757024158365215322979386815323976448738681439563477755036444700721544396820259725172102420814596705594489843870996286840914903443543753190924279215390083860171789584229892340687421019848167191331698906581466667475224521344439682947773061020189302387633921167126441637408722879999062116662241428503017440042541351938720215539269227831481078577724613390427080130891880663443392794315787546062349201584727821887827353583940718947869201158158680626780797395058449676072751506110970446764208743939103058541328804818553788712410404449076555659136267751772352892983041246891610444461316737032172932792869285339621345206017257959307497382178058856233771642742622291881853577928621677043829593323902239581056041036747997633307810949315583234798555821862848379795401142545925762111837849307898507500809918721667898536828636425010388539772212923795230923896873811463280196212529234286126734731807161231239641786262251987296518792346648434213725567408113558630736070813975376305447457833417945411198391961917081166485948602301061289472429741900513649938963559203451056144761701321992669487716131946660867018291102878141895895867930183773520380086063921145083442258815114806363547870650322316816936435701398508561904329317404171155557780553220824096366609503227269980807726995761000003394724256014076615502820129522302021040266553065698765600626580077967506197339024773988188523813545205290687885359621918340847721925446904066932427156573962961090567617252942235604199460927126334167601895437023902163604198859887669862607417998747144142108085798078967564817322517393995862650502334445801071662354751073705362590995078734486872887710753819330309105869288835463734545119525971747127034165979746146617908931782430812513540031738983246519997434645359903987236463634043464268517692986430001598231024034677295471100540392478214584868600202208471630837753465649279757530265900934091145488860824990809400834318954863478398080011174815826866555418178399232781413338047227228977971305627641675715704356662826503278311865431989446776538038017602556337776696932957029670622447752384944844935056539519919268204879050385984339543572314731415427764311339265099912307035167550042371214148359692855085951932713251762464309355422222643060168731532005003885019427296504903874002524380188963678623813278713708684087783411076112032925081421788202734520838203896541412545623442682277119062624691672833458889340544950918941129909239252932856783584901201221412806809590600369149500944573749950810198045214428950702365758767536475272052374403455989835819039081096128905743031734298963835265442728240637050078550492360267199464215740003357643768007318760836751471735827825944642839379447182990430178163986014327260882527216460049879630912586532007642380341080299950433817913193515039163727591052767629927499192481352303411688541287655671988654350029827332001186362081056534914882560784283558468581695388885250978579827518464346432251298587942830479882152361778569258527013099723443484469764146386796524131734833984868794300495370065072283904182511625535619077983641232268135169896713659877966807740372843373872604842734237335134249416482783016573498282221368970968613621323161591031376349625659709748994924480512862160921369697602753763348980292503281223301957224736473716666208624390211145411990522044906797615617682984701103959984892914673067847906675051223762670151648350083328483337500109610220117723985680915156030947675456849586561815863977669017717513359746417125549316334182362383735215508321255153565685728907796132563821805485010028504203543303457888880154726391305592428311462639776658054956738248183797475847540773687889046426571717202593600299486433027833680554200020005380619059981577522678315284438775915432966079721191595025972528697217818907856244060367899580296880279238472352921560677128742769526854586034045037342879181401886407736730968457382564193040437164326465757242353536319752301968531861757564226565826353147427845847809668651127077155181836429144867266766916298360037969260589010711185519571758138733831460927059360684914406576171876963023744827120748272315327049726568112224198150679622030301557578520880421349847403134714688988029183481045899112725880708109983798882232940179872205740490207726297393402250679522991989585323566562277159067663032625523925927014453163358719658176318397561409990356127273260731583530417795472493447782572146474912254607008529656250294969622434211145282057471274604493625943098184779360942035199905304867784244423908038966261316471775444017943636771192988865041167511181411429051437767657564807155922473216938482913645502287581808992782009890952499177963813359178010177794752330879224631568257036029745045008618558221510294821401846457504595422778518995214880436060483753949022667959194165593733813739590239321491445118841187002950329116970360048139416521376450565249371599303026899880985223710925574386231101845258568431503653948795139923435794932436396747695738393300293010741371174029430897053946338080953813394973354222956804664640217217838792781722941297985131023666102516774493886161501885635855706564226745496393142280895620253952252342294012988941852309737609781315163348879201740349774478877054199432959302699006495664071823607172037998139058277375865009664871119456837218764879546443656145408225471693102030769636775185045021571152351555700018511986514045875266716272723457210468311829112463076222360130156484592226883194545816040929836992088137236789591623525940877984292563530267813593571158605765225291162539073022438896415327805566421297680821024198587695741006816660303459471260121766718291484916730006910120896041541516488804065546629385761058176481152869761769981434031028388359207318055117150760992906215861213653447858179663657199077619051889758985599566818646007237208851033300583927595273620358610195596740634517059437624814327537873578053928900886830081729138658893840061416076428532414318517299408561754782903292775250149130115400560134471563297692502149924167076919950643423309943244512032033834223449087041950681394320836311500886857973243407235534345884785557960715515347542181663622134372658612280989032151117639155834117724654141757129899100898118170930995435728033229340674934613313538112435357126431837560438763579217802872132197556554695696625645758599749059483872189497171321971584106466599844611026825092775274219521472224185615856003818711083126304788891995275062538913424337047048393489343120006626788704090731345573499197359225833348311899129653227973844525258962425293328467154521890950838645566490340354279554519764661712396306481480140013833877267709355189266396746986809886532749384521468391629711972637541048355675753191754129238502530774908050588688837668123597434842782214657710618943179705064486382709537722114838053557891099893523705652734258471835772465054104279933922654452946339287900330840567299672918195237573120409792975774143073561478024587174096771452671139068103044948791979802134471299139058766436418350152294372851760133886978474966452003443587079998692762092346202713827676421374815483084009267901356560877801228788737619201905382570034133635439456922319001735530543963205540593439376074183218340697420335951084757667924991719378860188348388292388838649666690391372550743570494750323758543767198213727919030619259408341313559041313546503427294061111497468563839368457250005813269829232494025463714431668360105075660872413585531796910041365426880056241635152088399152131340741714730895162646961470069803483221803049624065399158681374789563558138345912743415241633206829556276589141887805052793624893539456289607464776447388708125890700246938651883935092396512997680928158545190335596775933357263061912528926110528833417091145953845480985818604941839489291384382194223008476485311476019706256296614904812101016491356145430993826523647902841696609891529464325339374140051284193952937087045352601436259597597870526896459724964522893712599595211486073133268520823746154654935413929363287739141769983690754057530945798248656563065814491984888446871273376488524354606440220076937757051151546578484436183171614707279991667404854148001241376329515726753720362736819587822724760842209224142378272705730314467910282827449911560044408654184979894699209243665666810574834789541032283421444059611460307318704066390455026817919178934599404815511174933589616880358436209342947730563603567184575335719011244399179128667024007932833071892852473022089113360242588894248927398198216028533937854537504626482825554925825906107248215206890847116879499163436600343993346718337527222864707458182389883890901418473828199919526177387154981518797912031103468463495552100382745802067155268722149544294353678423315308342553181061142130954190915307765125122303394894509518526478082045525685027296439602845650725582616064607238952530482290749009576886817490726640009233759763576186210275448538474637553953135754884157638390708913051042156183440389079702711486724293019673487038298698662066385002978209056230157701709200933117139131424701900548375053669626724947753186498621366533830742674295379410641188636632640761414881495758573178578879359418362302563406912356152218933268589593791554309913414560043472278944141694230595057024014198189651877370937080542321443293216083611762449131901071102575070783545403102521968348947641114970806414376466202956925563075481496430950883063488344389015321027740044984005089713495362158563232363905444019992922027893438486533805273726047260784193288609220074693501581028453252552252547148885400510912394004321568203701753891420441773223718644439584911910230416678323195006257504443456970350715816060568414709749723441765793717539728921491514736108880435704714125118191093728047107349468687094556556575784818153666453890711801307270196571449526035853406875464370513596604233447155375139599036102340710542298741678450072337140590680430458160657939053188122879928378770212465301027514302540050699139673235111314937358440390745590928027906284508624888005776744548478341057515872780667727155980483567970269624250617010929411045905089287912874252776545588441041037181577702748997338210935813568609775221397242131945318128561797626077332932005060412898592508937739160617971863268225941035309448522360892279872516850411775168009911281887392288517389158753459226380770585713903186789327073641044046348788024866605873782647918735650855560178158818028838352003825915694971634572487680850478680371232758111710911153532725749668618147596347308602399894499765321769413880918875964488849617601871207504399190132800433053707337894134403715036137093723256340106695485981131584931998463723807102526400439776180468808585409997667142627836821814216532268764114765013484977022621913063475381237526913659624696215271353218920209335891752890142881326186379121090050151728153898765460122648097017591952390884306055511300861734045419543925941773825922444450336279464749408321443296220868539526320842172356866522319297333729745493534873508947239615062925729291176151540505175469692675883784284679736397352518915968702359063885683794761300176958188528262202588619282128418504542154279935453126892856408375548673615790428989657426869119708963757744995284022269127061173721473120516302240767350776310345741491552975920644870184754117907560322258835666171163679117463717901535165292838912458604997136243985560559333459263116078544649499393234337166620743412768124153054238754060975685715883598622937050754075435513955858626497792384450338751696195994555513662490893519802077692517800084245036216776427275650124264557076222001402639645645270228899278258728511064226040695552474468901244135233908326503470372114136768321322519307667701366688312540885973871461989242393149695476298530225584145405076847574595160132041922335042629539562757416606944442170186268855218521072555238149744313569896919754464484185760756322052157884984668204017168973667923734355261534566350066596971368983653675647893437739695533876310292526088662748463654672195693107534110621699793158420393845045467636191799575540579217483709130037180291628247367454490187248243147603603051314572275613756930023759025555367850254669740149029923236573862075104717044159477335085437870200916867269446283871649596494238182994906289533898626079342584837420690154094689141508264779071532477227628234772246466444230826008568927575313650551196536816825038888245738193092373117812999332848927403153353244981345496104268899572784987772882834134367305425836961702057364016905527083907988295605487135689666191999690006825128496174589928621571342959308354006899315390455130698034117671983940326313052602359273736029344374106954547770919807826333994836112667475012221478084358815908352228652040140437396510260599301822998339637674048134065663537493283257735221192600858300764562722965223820586161306321320036235132075028813149258545107537187394671358880383190428242067971366421312348073823533011067164729640071075284829269595378683771523810813359340057912237785466566526081987052160847874485567306695634631934623712583282675627720308411960766178089733745112653628469531859075248929286570332538700354428032852772111351562905909897022468293572471280079713618551603898275645475910790573510728210806698097642867838799048848101713889424755420508837302773738489175514873914655447474973317007486884346465267518251411070048614705233254795693508488034641240947431881364942846858080402308915781629783223461680144543662606315888054449768210535516087828189103022424243430542002641049675223343807590328528042835293102394509246532995497531591998842533424182579925022378627075837522111789111348194731552136484460794497283645022508869048199887974624551536495537125023480648240341923296039787701243974485671683630595745852943403212712078526715465960715355507651070314719254662676052826931688267301646128207384164819304215979348142029552447703050728895455949571438075145638836413421956468472739721964181384928347579596526073745202127377855265156361345648323119883344825179109473988997446108270811092369557837541975407414185739913798920910443729834730973705675017006573296453277483819657283076083003541225247773539220821757250476021749088547326517204465712951527356178502553912227022005959532708465708424552687541438425832238731945007067416894422096406556372969346357885952897216127779551736456757899400763762650024991310796512039359289620553392101719047995927162105317201681217134171710686557455448807165424491787680858006450118257184939827968823655036931635953494863029410147758717736870654531879343628467533262173079565558711947635380831392906184527592007085255998845509313151165571591796973244442620006823230944819418848367848351624940835485591930263169730527348467087805147246739833175702528781350195868590676105246484809502717693542000314436589685524499826406889108157275958604206225443038567299410524475400049712495903296056907513165272781012465195570487492248978328763923433803969296356616027612905203429419082699716538837568679247864017166742040268907464133606949775051305876742154595506359851810416588494658164158054042369110324734856300178537782957563913176424407476323887157207657507303595358366502275073758881302207314432049069937931862280494367833009685017013731839249169212367857380815705879666199347051337817786581992436700848872848854099603097492034608785936726654996188713159409992569348436150838147164695587664064989107339239237215619522338827002974032492489096727254951016946665157399901625299447457484990493708451960447942510983821531276963384969732065667491300446123833084743317906095368371514900224890130505950349304098057348625776829540288448566749206465801659106310325429856296934475999538998191815326737526250375366222778765059572627409600954418573300406796456245790154709032275978791697018163287523330987234608941624110922256789014555251137330286015215476470350350686135808642282505186185763688693137738330567322183340228318585783896586134822527628605005943618830416487308242832971436603765266574377553334571358616735402446952461754132416591275560899131660425848551778444152753313938156422868498546518523329159531170538482534561286540319731006016469942602507570025281233199576803377202484428575272522435500111768314563793306624373234684742574899580651425696257539620573688393001704716645983988163656739872191699020393127770292707562200069304688384752638904509290169194917811639872705639709444841822873927335308455610986598350037697754639710355293360327233023998225543382808399296188293313077549084339666753310894108299138306868897537240595337020765896631876432439823184719775665027040132557437456390353275763897298101683632603740557396272867640710396911041081407833187702132353583840486960127475477465107296675504754040571393017622562860873303978951856328173013925153623314701599114078045237501215628461770718407213481674945974192323803270738052759910320977497224937987851964284730442681625852184160508648827902085617594145195717769055758267817131291048468378475372837771864749652315701752990699414640454434994208170722047834548971186951645479205573044338251277637005863385708115445351487184679471527145713907521442435154535102840356136985698384270073876720634186989593879509280678484585677748878795752252263725776184251183290029733030312507396149025528322063544099051224624161065082232755131180135561805064889033004251568403453078731725068879458992365914579187865721701521158356869597645275665229601800000626019353375170213888748714802185539686540952870622806550720887130945983170012222071539919884253580638946816963992304838621935697802404767272722495208181636822718479928622842845822632798715600995651197361083612565832045630273047378328796052695959095790312329939523835205506215813130987762808938216238654974215675889882285750574857761730907720061398467561338463146847734058635466409270142711584081254821688484708331011643714528561984351385104878039513109131514864404260028923908162585257434512803207973744496332546372446291455355489228500744614051499790518616351478567080927772441874430804 : 230470977780826793141745393552468529699177204443440352159238128675977926127770818332072607136522204009880111151538679873103644233475699157209619684900433020428261329261662863022429818099512770533206654346322230772901915746242896329288874102690675713156014899733642566920627344669164312090010009856756211598012735393489721746771193718515912591707723281122313950247869610473984714084820947274043273360480778361115259958837476669909176152577347607615808891715714507177946803924986410276610635335589959506362308449750565802680059072518780781512437606132251498078667183982103474838977900054727199063387794944963113666170751144169056709883047316103860394479253151189745761181558780698688277707944833835032048089296958227869910455573037924872367805968432532002966593916072289807742805704794557351588494151032919102157401971979067397716695469093948489498569672341566682921010202974109642512511253286159923206599433422582155465513711121812180250114475242379125082993166148648633564798081062829738630511802651980340238765837279885778233398324256256883686943791603797124912625938996829182146437039012140156830981429122151513776281299674444476128661077359548127562911435589665212597595493687664070452916642236888573150328615919668780000400272838148438597689460061713262947792401998854195083204298059980559012384954380602888437216560335088448029153360231991023836154141374150858365252163887142367410412227516127253321533236081196351307519577223917916951631626455346493705729372251540685218556854226492885275362044881503305192008330717736041385801803695761774720326184681826498963241482281933858536450058024951034520300327161158502047233945861434759594234068454347610255431532431026824009709453231599651569461838836001336682187664509713911356812604903824434768229006020744956714837338576837872733668564029409509623606758533376919154955874686161946384688899129908216944823950050442225898499478214632104565739298746617384287925534450936099278545787757782052839020204225070901454727420800395982997686606527247100023322945488463235176676044092435275010984541687275146821968142529761760330541502547110091277872807637887151917600003479312722654235711340485472673289475804593355803647967447676536155577110853218832531476104182843394137261235679654462497753485250724962482949246589627222728356405551259928826622199645028507913286237503705288374937901224601348961099016551614968792299725362192569134500673404942471129391721866839972445913496081582832788524004408354991292139672937331518849289142759405357934603947968083296649813373199694710371825242531505903757246848465148945181440081687907297808038052104714714858828542099052075628102708828272856510564443168518490449808339773410232396902063014816884361923248824804403012808162770224534026009382075792921834462685556165839164371268943515827759418258870105157456405438404492007081241700277956981273314879651116406880982669691588099831848870708393033113267260197456157209402870119250445128567825744372699556527956780334908188438885536534760977260120297116549887783952547652201296234448409846320508871756639628888099076505253443872493258671502818168960723930590381982988051081838157751507713566468454298523548361245392837331227636306057066110389473251921505591825280021917176258692617766405857661930468884193583114830811456128777827196498920930658167593858347816602197659510886373223702837006978494683618515006128506796006714355884598494170599521674111877129661271952118025090527163240430676453990549858131499669716414896162551729554633426276250517231823571877475213572284063890920030345612034212925153619019178873770791191311174817694403240218822197278675616986160874567528237297673707315784269116202756854980773488047424664694858950389112926631808135177825005288497366707649870632952595285668868148867855123949877473990654259550472469107648727216945524981125267235274393833576812023393455913244499739137201673757569851750903842339828746348079153747123521538771720411921560806950085733848473489257361080926594319466852867844190804605788539691386464765430974821578622328560829490738379465218631720040201179395050959794005877523599585960552304694135846786070705343852863014764391967424005044240524921359703503437644980817458409198347027703699165201443919409028860574020266272717552773698284283503964206210934965637975331881298942851615056925722487255659218333848380110960704321282113087936457977282133893295392507635488591470121393206548818273302305604720907466411436171492862622639037070007613933813615273581081579836840375535503927746032301106212982777945236885650665737116715102869079714844163566982646366317147555883859127730506942028538348127080716982434662481925292604809241011204972551217146158960435216598747381515882422156453118663899392200221452343026533982318102661937089974619673748245477416887262903016732223641405846961153236913014111420242551575449218383807572501113533451445538007536325524255417461960575116228937380441586295956527095717917758180848221821748381386527813491167621609747745618390834969665743179957378440840357284641680384081465077182892992566656490452725285393108093380358903326112070939748219483548084761670272549437047396534839181130927612172176489634530309617053748113171603979567634739127875752051979473019345030269236079430944021220353945027144096948052556080866054818736925054440866923783472283550304960264660607678937301942087467443368554555982062895263585211819621701594083795950229205064317230043957233117544844018107909011711165850620202721503395270477133116506255340685145197277029516480948134038191331919717075493231988888478388463839071433165451645078573208204882331644859898753987261537698731260746909871132439886518651685758901512058402487120479454852906541167686177517532536612306026557732416376788019171534707984412342396118202403718784163240878356109406402383262483078399558263152260158993820205207781573950452727614374981818055186499217626646693871191813161906247540492605404853282297834360454505585885319132161900854337875135545567797936073315221380169540589511138872508800751950825586266122515024622867936608562651698206366609483741471886167954124779017040320305576247578892980660311765640823876931882629237476514990368568895794792647628895872873383396249963468103995676221807551696760130067297883011416351102215384057688989353062636839294490450914328577187290292829387450881599567721044217314034729308071345163275966832419856491418929834874646834041516015849348507273675150388524587302529867538316569465794814308278469095273697248919302835665631264806960220496791396019245543868739052516352063847058208908716028925462399126109393799577854975818758239592543300650912660525669364737618165675409234579565354693464685145150429936567541984432420896222518453898058654035967980606752740742140249848017492979208869942050882274302572675891180996018379137915584224647829825752232727990809820141399430532422444149666630907672247388354624324978694565448760999071511742289199059922760095891460200462800165361527499775970358937545120789956765060875346622642110428320348945134679100341908362704795638943753923295909630645421038061333775984876833733749137335131237778193355669909981548330874501791455120293676527476300295754777801930937427580550115707141919992466887560331699248808921783348205887465322316390981443380427254362769588356862564830976577381630041328298811907501441645660017537844663056113675795821408406226136634891066990175932679810851709479430516381049756135095640203184567413319275700087010030054750089375140263452992546292253314522515107667136299889771739333961970768861162351626362306914709684601137217611970762049156933640013778550906095516760166649947027584142035909676938828403024779829122820046862141676499338351065547017442669968960575958283523943739249637751510561403202667364641395861619775657853062583474278831690875908101942886056266344218878084592474214137534175302397932971999168709893857691377360805441787095604671613000328954126153227105361355453433101023157528378991628752989502437888217385574044293884835735176987363020720413656316971370363496238115073769741407763386904203685155414469806575131506667389369938506030945509383222162766679402518734094472505835991634296174029511467191253378224282502183525986068119281747590216988960853209323400202765144741559711805086517052741963891997222419588417873781271957353899671773955722511528128908830215627905525105850465936913982732260006190168557020024144700569526154644939054306827586567122484505501622555091428538209185868833427033214641789579836732829543858569206314555052373483577528487794831444276106824328369477309821191949000429421239389236284954158530073818183796846523851693931081287907627684276747158412916961542035691429187364973080544454738991539041803256133725159819491247309553673765583422709351447954948398618243597765521540311290303024113918699496061629052174888035616490910893874708854475245404966447490115779550693783788465426817254587680621669222369151958838492278882141247607892364499354628171981815084864670415262374023838055723686360996758814328148514637856670983063805259653776109367620362349706815366784721077623043197330764956112715625360661636747381339383456558687897681328999408369519438317866001548700500417124340097830332861948827649081145608778721162856125543716359096930204357375512672274416943980295254247173190175413125087702922249851381137311933817027153798329847408924241777123778243838351016234982574715959686733466543502152551560773389732060363263214796209311261365747108691160607285580851112080290329415947622494862878427566743052833297140442312630902481620158502019440415260555173843308470228860261455852938566187617811539623171559568845413143562630723852841146154525515345325537947932545149316388731424532307676885814797443171964294030510816777176494675362473033115983581756221775465014804735825694469205399804057435294067872021636365252314330422126607137905191793193097482305388500356868454513582206255047497840251407230776513130998370407729033376990837903319415160577568849677908425237333379814449435104991040941479230961256565790335338479856870462606029225962983459242055612853735238658695888220598564401768407003869188749923505413832246812803329293417916047994208658465509108510309457332908013229539082232419384205610398800303927945704583348416776382335625352091018955221385587753907975199208995342759977744751469118227093294304107779911562962533900553963234786706500809679782422881867960923245332803937233633936654507371079450848831696009220187377801397568077723267895405996199518054594239686025501955177753761207777036490600075930612038763285854698831799319495453199833311683720253705291231970608501567953240301266648476961741335346115756453921614353120754351428948230086279864285736552352888504809803476153582753387459150624684428448346684678262400590596778136487079060799209289153098372618192203267738028652764521561436655543031219304058002884191379983809313863398644915635146361442129845406271179167127245023338508107878332379951648125772656323048961338238632393182215612506558728172719424068323802947683350138385148396338733503424556514855856230386533583997796330150842960852707008513329334390023825183067268797257947983503182786595116120880384280987933079480485844282003986196749457331983349609098930216434106219185133374489370985557593872778244964178815674001783640673962375771200227348860309713816885979950287918096578893252386421004183342131218270113695789747418268808538560683934864060314438691480269944337857616737690040700417433803720008245776155508825829907396593046450163270982765787641932915432681629566531755485295781584524515155931996436474476170950840848635585615583159456732218510309638575107132757459749874823560772556554205750285382863666083832793315027125886300150612312456042358847279341476690460061592985618033061316096418383371595453203201813405694129503121222796238451893719730868615032039014532163249951799385332909084763571033077665233502562133557889083180432885173086530187434085679491084834894805614166138554707918669736958775298107812685252159004955329021732133420587864902960965398922641791204071881194117215125660269282579769031556755767202950858653657861583813339948644389229660533881281221658546952979331216341444313696256707139737034678876831138903435993979930592607537691521868857062279710175883361394580766977530643722576635596369351670569127893451568240967067804886168853641961923075230620387592582378081965207086447855097324711974461887114797314822045101278064565010195208453385563957955541843887621126848016419505034668198569038155481095641655866082525107549163934558196278664698385676118494884555133028963574420458435976109761058530026886777966104000316730362366146487861640284027612585143393992006087731324446772494624509405691358142021686795590697210582323578397900112438780563413538889625539250134967816146642014257113761996562196429790215605258505641697865841372653110029375394895440414696212716240632845404529850581104085206112428219596573936741172972730474090720251669520546408812847062943067194462848654602006394581185580986983990830119850328851862589297055273888717447380081653721580654662188291836056635447911879930585004245318887142299362366754943884222656628699513677558914732188369661536770505120281308619278732442417503536303491748731108900919413668017285234271745342384007191552717693163405673908400677619436805172481243127044456400918693313445899817267745436583676152469926690263640531393257420793168713552328732369675632609633582753520679583672726311700097770087236232486831270690454617798371525177843218668519454507661362595237158714918500297191635805343522117102047280990225599443499797009985637356680574278092840209261111707655259162959603805138786214904352142536950958364104065564783649394392618279537725262843586226830842409234586922915943086288887231786834643870917900176046989930679637333431718952545362848941657904158482492668662381051047436729792995374761608875864815493196065319113340371219724573501179597683267736168863906012375548403944230952496839805842474134770034633937888280046865948197005825080002334039897559745272659504577376381905005720344997075985249147002310158715058524397526969828008129420548214439867677076905628366327454768155265674884593132886619042464366308871301202753885439592285330334347428597978710950621166783012504045518999687495042521430895374544705460352055063668887610771632513752945386530694604470656546769841719404229982277528360585323876536527787955199039991290351302643568070645984445076831518566810440806399369635406174568137613335747871116384070823384896450844066931144115435657280884676156163516305258980058820141984944472618727355733717053945396773865652788378966523193034678205842691235901611619935513466454190847097804306636145720159097159059202235480166821804370109147092973320158736357030175007604981005610082759585577994808487575964042856587737682133757150540935914381415058208335646111811360142943518300309181308914364414162473549710325704526054946806551323393269634281150661275192276877925408717475350470399255760782687808121961284816221243197568622355508247417915226023221434756895794758629571764748795658277213907090116681965186568863242911871051546637680423943054170841193272448709327402445838552438573803303890916620797312929881161557530151435689864720327911153199832664336823204356604581382952871992054286198369028522339026350703117476479925984232425489837061018749754709499051215314957758761838735363334469644642061007275863891041981964065030603011319937651966029673860547657238367673706998563537204522702846277798088531215720608542186516614187378538198407399672793260244074791591138670083823541970122419059561225037487383143100856988261872372686658026267555414464143443064923385815348952293796108927562054877986338700490760845911298743130810089199776488782527627311864214553690106028347422938246557971207887624139371603709614449000591456251507501360625442220709752124093104190680362585699751122839291364904714047497470294883452190185141258756412918692749488215605877781829253755606639570630831733575631077236537654357281001129018397680758575533987296631237600760587304752692613056003608113316902103603485663769310184823269884143470580422738737981403465273016309064757787908128026386978281365102565204772194019120521374135461519151569782874964135522748556730390272532933451713208062162964628246129990786967827241443264810327253980027871943386856041544785678740174534315207134813910639258316468764955095412171066716937646931339513231740724227596937546415781030892388950433592818552838778997467057484458778545729973700660614708531286683626323650007454772098311964283288793229238122196186829230372395737756839717962296066549573176054454059261988177314172413227416058377484363699234141600529075422115181337091636112890347175678569772245888560679111414191808555334131896533707228073351730364120446660956517400267393113978076513552844775190255779743062635247071301314283076176956145205448940965898944910289667085815859683567729995571037951002875304896837861165882126525798788477641865278087214902323825879590318504183920972997876551053644601429848477792527866541396817488114076557612116917356398500196179293223471070884348448264662635663070945132499930829478398131017581101158298020022382580371775319360904271189738901133630904778257502347561005016928634129026230083110419629530261841379256756434579393552517050449338385508538252922303904976259642849880322364303259902125614504187203072929370517805763760832429678189674504991142454048501523861523454598174001684656215131044918860002814823914018429653717581009865440151382036392206455439020102299333010993933279259498725400409219626673800425829339871887285842425753148465787227611894646377504528486167106320741139064197478090532347485018732718443449461892406545733664199208866517309114509229691417806230777272286050663770858849833339806790238653159281847205481017120320233822103035033269232475872915256290723103663114019620528227127023633691251132013614649287973128202703751358949473769142256089924000447087955245430251721932781990754146886584253882015122348739685696445155939687912463634694346916917570773701709967973840537706110257349974001686557250356953069468181199418780380643349369241542311596950266414300448614853281831907088210807491843448477020244778577069262528826525966180308319997475411412649223718157356630090429870609666162252226213311362093568481988322900170700354138549653856604346511224412522090357944336648939847937868162939474248670155651311455929469969688603940344088788090769154049611820454855012516625661515370032012209034293582981082362130641221932191897438400365319585332373303979794471562980305357116101314999564070462179848076962421455186479329184462767287676506718434412201409158358706880622136999779903835036741636951558657475287894749685113950770704941162285907203104803282091079952847152099798244316567939012018471322686770971534167929595442235152206022099615874866090378699074773479780893794490322680153861505018797032142448744835772526276676366897457503018538040771415078011735144877816274245912266505981066053261637255322889464179743704065695643604272685961824493772029947433108285908267568703570726029428310364311524567173109372262061334324941370515189912728419628063542948626485173475425333775189406501667074570637252973436855291522032151163823432912200777190894889876647454356997948291571226073554914505381491614175814463041616580526102992488818941151969426551852778463526737756401615169865651067342917599552400133175445142679930787645288987704245926237172183990097877341279446296180548551058000639569812072138226584258113043738156062666071302061968271718472265431432547198825725772021035394265917495040680301413867309315055543972899060700641191231829178164307502437567948964301763491402217724016235705862003012518051076218182668832232191052238466476238990651320505110260812251121557328061202704662083770116330911867537736276106254491938363591409637406350781857813678204167095406489307670229698183815222951799532017546616067077286721469363285185433565736183505806351210924150526365086971304941521135959242628313143504953089282704686084188916917019274624321873391877052083981802516129345866150679017912097832023161068251769413480952833985955891666915242114829268741816379395152194160676894406932406505927324464224371180477832440649518009106521837563094641169080864131903835041853443322549754899551484011833738641294024229628945316609962952577369999061951663374115800783391505532710642874330146062021649673463324585785881204651762519063774948912152502926515266732269287402651742507714617579139069196254045204673686998849064978133718712558626615198428377588833828372796993726618090886476666131268766898949744051262263492392861017287783894241679644184700495796910477230552571545524807212952453838023393961918766310826740879285820461920369370094391886582843843622900247499532138673947844006470256725349390953644202874032094793703025751414911107663160276698934055536266247230128777618572837584389155658723473019650366509483200468395917761993138356036855573253945715449029632833354064123889974761204449053226041373138344401737304880124551132708608498830355046974070916714698087843996873175226382676324749046557234269788466604555875597170443590814027922665698565279975579745977275521806398232926156734257810347119621997725821890219444571258086805924614647945934874893951394255552640171450191580144438881321853866812551771820316080177870413417769560536780522162099333305741510530997827720940210114362206247523540885573817143047503762203486440244092389921175601359020566982407947014302659045510449828384584152109156607847904036210034773329016957999698345319568218549867729020183803816577959274849940794062513514383393857587632791229455778613394781496629525093960746038955259407044569972957467727454628397269271793100904666935568694405929229727605695383980754207875674859048547019294086172908535678563117016506222882133449238949496644326103562105383550026458969433055443057811124704779059208826951227024471368328194775006998210791925992454829035357152447371801243839663289790593124169412543178336133403757037102426991143127327058445001499117745852106531903006607395855578966149929447810436855940009936650611741326518036453927687032914592364077783003455169329902204538564751853402053755734827644578352666103681597779601205759748118144256763854168886097409805961894969388172731630750872047207949593837807283508638208227374931952007088764108774551804674965417690751276402312619266197614481392717989539728414866922455303795004006889121002939043772516950079711031714232143310911747101753205836790560908909732077468101904391263008671959710237678483048420247511335769655014524909187316097044860838337983890718730696320010013415586714822092031450481699021524922679910048813517320305638257391541250626792097840058595305163565917878353860773029869785254861134985188586151787431693173397365786971060821421675226061203644232474764249611770959833570212427756288666593266275567680712630399743912901436962455976062155621361139271991964381688206595777650216413253259401148777902656423817384146436861671329578886829365214491217635022129023179593406250604221814629355997570314569732225692024484545739480154211469909193984644608398635419089739039599943248097822093661459196233049225875121479398478450988596375665872782629124345689436138482029993215529416020439799175989336953904257962233706406755178401688190753141159943698602942631851353996373696920936003707128051377959692943392020776826493382168926481153504529357880777840991016861227089881727393168263808390384549390944437597030273844420635270283050788591950581753293590501391804081207976875692824257365869466842287851550055675839049063968381566319594007607964656289619467012536490032581689342970698477847356748852282712063295723096547670661901336353841060091252311469632330459560130202950670520611618223002638780053610751211250390586613874025269578947781663474237154495962776566621024845805909722102692088752411]