122365076948168386758809803791614075282264502158891963299089349792626429522363312075762423397596089420639322465267368716788816528954556795456954018151608121769806127894115918374718946131278924224894456809099415345745498830138020227525643272576340263296717245561019149344892253278915017413641664886836705247282038176523975957401746956997158058262531458823850235126544986247918089300515411750286259213132188156969241632645163160956574414138157692461561617824219498224146016166695833677266234744623484666712642156421208739396220578325601417750110095611033528999288529049967060762562589666589693935572597990246184808859516963338719619939713972204204122730041678012307141152001683295490486906427258063241024440386795003980057444427961972620167864176392597186860024305666342154904799293753115557646222501926809564301444825532355535604538718481718945554061900832451246234193468641775246430446986545496731148545533213731733777386269992390929382732626570670362978003632976872762691698752328101534796303894561870483310388069708800387062054009283294493486551132048152852712579397472093880695908250268460257378383010729796583224401561231381959131558872177874815164745218311633897871232625892846674814023315223875823233318349085267670737938783421341988671876068660472888252931939046848992217168563555361878161795843503999497318551607488129715423934461868672424249941408147334890928418778955640377456783944400589318434060962987192267147473316464819669425313046601583131110543838683579992580449392988671397733920183560219961627290657775353075422811559770989105646360766207594190413153093920388777264658557115922270454814888627168212487145785340591052889283314271474578308224831540703731697718927944560883161619085103534252971130314511160865966694195298734733605660782048861847581761292039250652269131566552246314704061854231142865264642616171667178234712765418816468969551637768340763089489467588138602943146431046997125304078938904039983788485432963263960861903711794211182475438909568778840998346799069142357594118486076748802797285881425358082892937650416227963446067498118142156531779122873120948872764465899127697097161216744396434194576034771617697886463242069560452951198562297622253438755883814017569734135229230317922567978230828193800575712033111246040274064799147672079139238662984463591907439637923908861587345449239974226781801305368269404537692650858024205687212018907360828694067279466825952826874762552925061389410147404612441508949797226743636907806165438590937023573880496266775188529974441461243733123668992143656308384083218291523884421108519661992543163398443150766410532737619005469401986756914086623016363660208162295672366469125041213011097465170341857943123246538463451752182061386793716726369707881783259571219314744772332968778326137455493054996331670516019425583179757573648324821624449586742669461883310044909450167458660018935618264757639060383779744818331013723533932715127418120277506186163681237163160514132211223065413108630513495421485177410802776719714413064934349433979433083459993348514925690278899386692109046692356996218499004414970001124231210104344435838323227594219173125912950699586127199151929691185856949166187360144792385519145793355142200822911482336422767180947624911300687094519179981264439842448698431143895415698004631687138722335749182241669835366343867816278479509893216323636362030912455238760334520712284378719303596296863868072193738045543230062481747168535519854832269029325333444167279648892356442523566334677634496085649797915710507267965511487937889675597510785137487482629768195094666206734527438884887679778451390411329937427472040462559660222043646247955248528628612701854316398721927652178181856837827624742555767061231567310417278973799978112242824961164775921967706203285918612419373083887585897796129327597486613831413199950191322241486542206297628051631332129782849238929737854117003868184640207852852476553688176506927162046305039565552865442175429512132242879277335429780679247975696066317569697769557945810798966334937478672722920696036143121629165139454958521612139143929788281777124282184867890578906154256666631582331069515113846521494549162769398743371014677218279005844328193486865140461313832337410970695534362540477532122972077243567355035126982697921712053846160055023287772613398548172971716722759324282564507029074110520457527212623110578811420594342753283440012565364893433993438252766425936935824493044400177313813679150575399361857712967008475710108499767920066073955611224557048846744514602313437566827714698799226598689483002708940624908546352304902360999804981297711547921775674950460067763005981812319184787708973549491195818638357536495224409232844786745241896050823767195511192801396536063699791736755620468254856996746415797882150419354838881533159478757324422147928447137997347775161111810436330197192519853199012794924048709153879916589861155107496757637866649977972243055967948408739464674145414184995489133839762268765640578874289783758979674371448587792763702850751688634996716352700399666904237159463156542814525330724596665253267683894675263593853512977215331119198419986961765542776017911100446021237777445343370362924232454608618165901604892936387650941789146348840296314107260838667886947149334132283919616634546223654710123882415380039127117739730868065385450236953708908262208811922825545975769596567937557947628008973882077329966916005475933865662330155747412853153146212549859704525314482112851491963418656028295897119051587957364568713854713337137754299534374105035916278944156719396004139672927733115755169418038205898189046368414997447601538867295991136273958115689204949288417143680765375701235110423174260444538555247067624212691153461563619151796987773333547243413756764060505610419704138562635906362034388033752135633663219345755867151351072005497233379883568835132687267542168397218291658075981917456659902448657628613866240936365082724545335848852345