299096076247249784334965736319809204470050672281119286033754719927678033128972491876435742112454883794224227608762974005184931958808953401849175689221981966629690114481882798793671869980474647677359250758966847000417264212896959048113159163129437372474635272488502464531762898445741137850520481985923668862217325601452404445467761416388525295606484027384412524982709061115772644784429139718189922337462752805087445623181763944626679533288542725364688953394966701536577077624112615144623461298848334307712271168259469763520386745329703954987901169692488982318271635966632977762789992578317609227677775517225287262866679997469839781326738495867426279646421322071275443630955751176257702330653063253444776870691400890642327663683797298473322734258381355997646744712168088746661751947416288548771903644711728128131102670750287061857321060514980426744676846237052897319732851004551393834386536004419331496029193809047472752350851552013297433269205723179795617665482496533152244764124889217723677891262653337639059482483394460370575601807482082315026137094747451429062362346750267612088157599117334119729332583217127201632747541178728180393778387106574727516420698399577776840102245543087213486743349828867412570868508649472145376612523908570202785483365406501958974110763081763254167281342124401664158181403712285487419343584579452130840428283314850945685967869402900127527424608384646568234699171724285459887269687283801950206279949685841600181051944983784301327762249763463476580007504175253479790481048249022557429036797277952266868359378665764952344697750538731544372923759849336703276145726934396918211803358458891782157473060319180564091588492657786665988587853468010254115735741162232103499613198677497785177533264342778672527957819648766376213307290350857711937717812892913983598338633295751513474975343977421419754538576738632367104123442494322637871716158288216328818585227851454192464252563463483642644974628066900189141786189766163346560544017634219930152961054248448643817262174440952860471834068078727169089825122571193688711724216517201443374669611507580464650675016733923461681818575877612622816668854520504356132541084891876730918983355731861806499044655478693368583697162256594955521538306728173492985682571326581727071093971649954416805386133209778567033302422664266992817769101119046703043491472029147264816932612404463953200656972469465375519652547924632448547189270536184617870689981400455421872805788897071647261951894389997696543173017185530582024169144962373885655135735783722909398738834983852798804789561488281563537098887113605840127718358710945348654319912081333555951086477289327111527846566725547474372840469698403449412214946586622544779672266512355579290847504544587773917014740549344684940482766677468686250438565717191064784084833197213885921193485213748726306188609264578839963364239337678469434942377660351090814815756811006814059017526609893908893478925041714358831545971390746289783187186437450171332947603210466211563094395787944827675667628767014335416768076289321430053953899285117558884468359844253872981472959899748274520534262186727198407518773365487372429991685970953617165090870587548108258732599419965698793373408679203996159705317647003108250419331179188990655418819130965369126575311523335562458324239893696600130897951246524563379203769477898493808763569379624229882758439867071454976751602131088093541957733531606789142586046402214623807953753779338265874038825384252275480410787537550284364868283097802946348167857999601375348412228346717067520482794940464572058208444016252221140504880723668695732223828919376717382509580340387961318729537650944954513694558962663756516530531287763364554824874334546231682879885751265561972743049728688774767720970683138786925363583601733719449448658193053958659726538656251917619836140836146266207375828697016650621243845768449874390684379757539208285019550373238975753478235934191595290905402769064071737228668875198795799279158241184035542172071447273283813951993223913109361822624276509428904598097459976082537968223944992644929850104644233310523630453345241617016221769054934651410128274836669792173724596961426819254915868697122751205789415057473642739466055965223330334625207529050619486983735389573322131213038648824516128990490857870143591711631635417135848694625525511008927151344819454421450841470811985829352875199915136913328179967571748078126291887366879646416850395759744299033342829478893676366618213012790333309710413282169255366484814245289436074942805244585221635741424601561994599561041429777674325775618793982659730723114267572802310618678360315115245298779334178943506859627828557653445042056299071081900790723305758229529782447496156621270175114633737398723767675309486458737493352384626507705811623675652875929596252150732277359248286727152967236317031256349808754959493888991457051155288227816477135825455341776697611492335822059383097495567468556225616193142011141391313076442081100104851993251792867269861981419993434653794343825171358119984584863527658658433205207587809273498354965152853474407015703852981284125758244713003413217292052014670040697635386839722664578298949411867489979391058775531762901768742751376418260074913928235024651484944549909951112619002296093751233785470899999540820532445610270772457687982068022253911180409667843917942721720441365566795249615999197245344683495683154964154205329369934115173927184084615631133555095154168588862201027739253662459267921183367589845564102571283840555557986878739952360538559576188546261977018396222424697764276942243281197305600127013999224853672026975143333204008914116586476678652609977468099179816706756387412798368029718912319276605679617992496745977284064579223490860395997460898308305908759084799531025722642630636985936716059021816414471412489876213828567218798972016549899913253642157193152107673477799418576561927721123772585467463423805698474109637795431976755386448842