634632073606359869472984498417157872131916679045530308291849134722320591110739926373724849180186406364245183861261184426284375376195055389260842993077773413255801998714082378436863751304189878365847150793916517816251572470153661042334186523588241318565638785757039046863240146096387271914555784284933362553754915895769916516622806397751999905580571081873809115911554384529735803284984862645373727622656296315445251615826260546821415414579920614926288082797521814152969784314402834387207854549273836074957289376761315650225792928148831294553775573386187508831151827397635303306266515984230793169247517975806117073690598758899516764092929024865778037571836871749488335716295534444821909372926084236433322948870125876480264111932853209730651897332245811773561227010254625275625372139964720526821135690618403523354313308168355685993625447391133336669418905797251146169195267175734318384123413603156570146402115982405136155467225293549097984653699837411234311783994130146527392671514687783764887023300935372693010202594616168182382535631571049424799978127734905355752225403526404901968719748382275951784905493345481528787147186795715958983774749896128541763306040316130410970289910472321652837358225570119931671042048453907991455761439772315354601738317640536932385463457886633771134356599384675807411042365365204399890991315591653449083101655795624088275914046929251802984461167920619683913412521696381933149382821062124818688333921668198883029564145458517989419885388701013156079602550700612557557366627073347142875982889242031365273328362345172773358895109272723744079765624392687743856680899972850277606384661843117846321979342419984882367844754539192343851331782574233835645773226143358256034520102258212452962296244618853376732748529232162782678784115571235631821543455888539189111818681685095416382916282854501177613688538519706532956333948837942632640868918051435843759940256676111930231659642448156315227983854965108743969416526628126125257170126724805710498468348065093245747271034745715312684412088895260678592419601390980869631821661136942995744762355804849596842022586968682377279121335759823661946883802421055567488175117226393097558469340045917181231832006515731382403627276580501374598542214937278247267210121414181324444139271402096921533669878285567219892271468518758818542806422373949221743585649277205364780059289266999846284038498086101439459408773122131294051507445365176149139942922645972901282922862979434266965974161709555465520052262605178218265944825082136818844556564926835391032312172928654643605167175022026968799358457249819862152778566213926845371158551708656061131183777429306705295935622978984163081987605510241729582658458194864723928739383849792558666166352978303929786117747712796112452664460313983705697263223884101684538176662837977801143421787377903072754745050307481662139534507670894427503173395994083328605247995683170959380212470171579474013826250912266545712030548493935789755368440573137991983759594941522047282130271350349495170726382741718876404730386701122154234633789904991794573694961455682321989512777857998549721488785910091905635620372819362527786848368467012589448740981358477543239134524385824721332131838338693869834752269281655349741005284887690827462001285610161587991574744666728980613457422154907516538247644920576085607048494113253781812155768191888481144921994725869115926151137961647594432274574458307877918654137257099623636145662053203771728726363525220416661416665760069477809497658545446281167060623496956995503483195621684899450624621974591054160325368898160131994593355499254853829954643982981488234849058356731962154175166779066183270298792427541541629121997212756409951843162359568302381102176588174101910477547217581641734689258585410098663405437034976804760306387458874665767834516472416869852674765447106796211220262165669154532259510623312406800473321725320454371822483226870474561285157492669666192054165290952552241550266145972421312616179330675485830554494164371505845512846148253369116584295197360065286014545940023215145052694274947683043648509796614626967394128365148125482622232756263703378402349888621537387472030994283328718662715499252352466508111402113353739135676436316982806180787319395331841668526242431346074083834716408197268686806303418188097557444032758642456370013989792546473413107086149990339618706635478882944561790551782526961757149086179423219736950307557893373897179875661637441569483691014246200529070293280415595824218486987425582793323567015681432542701950577834620702066410304059862167781167014734563639581320793269588861207556564226528432893637238150816133735112912555551716263209211890839254306690461202735107960717618426118075767104419127686822139174027818263774504145150308806829181516738316174216114840962221244256966456419337996434611125501995087921625050101079667762595838168361555725499456841267505722832321859978541577823537406391667727718181541174795020882039391543591597430051803482946736736619116045693438748582763512358316338976585122771422616461416319280531453263556661892311065396726156520761580318620209042148386275729429973927540676055303289124530118817268446846429165775657144303542130137732072514294976491520655811346221577733786995560464561310489194792057864906858394206780836278462371826440861908332230316741935181483727795278750019315105625537921082329660529424304528916868504301881131509621583173284446718821979256284513399098274506310234275445070919026451025198733341497979534558819959704171113160766080991753317875535856878386564892496397208871616588358726845238430158109701831967791270737352142841404085683742284246607683785979249270801469332215471895357766758959239549158310352229668001787279067561883906628019761055458933151499309816254259726128051125007899666814202703581449841078166559184246785319782724925702897454604687337895662775877398065812015116639754439818668978293635896902332115755854001244849566663115