719224211717859662418115922103933488046596679957355634518438733090312028466053703380487019451363866811184841147682978551378711092722311594674598587459080399082680090495958596078067686511645413986560856303271866761979809265669444265447112695218535354890729789181602668794474122373423720208375865693126530027602162239897903374077136148196907333531554169176551764121634614452989095212983489544159158269859392634208161859816903197316447529977870532433987985503494872752454618795601822403418018396188334399765706224779982802955323528052136272556151834578633699317162381051879061119892492478519407377718521434786288863155243418307955802425666015744797371655894648366716457563851206036753182335301464983503219670172276158654520044632270652814999308108226198014489036191481433373169566924192961528022649140490621877375450184431988750919359928291763622126281827622354833222392399669827765620691921681786526391889645787075416185933584899338466280784317755280576638987638142553987828288338722302144813465787879297549285896753539174262971852738894442858049381167348244231962793453913521751233173502563924282583505942568388053751247028308780250501608662397162961424414202866123903174191821024841786393519236329399862470754127689807820440112128013266292661574860950478132627805096176218946516351602380799396856215475654547639343116879726788770863663478049434066310289076416950385382393118446807727126407392590534201480269998783125697678558291944011098490225755954198938081389570266362036226359072697073838013125188890619048819962911683563211793198867454071300476640754102276495577410602055715643986696791787906724204685363382122353192614548011972524757377654458535858568137136204945198984172319956350427767719015936557715587695555475063873261405947247898787172336305372563761421980461466303530947235409615479255507127617197931447904694132192100027155951909943321478440223683168581033749727520120637235861789883253745125342408876016452729965328296256214082582465580829258754144623820331861701398542519383950828544236718384999717595679057009182849446333132656730129073224077623597300920271767894359818696170326284672049108690156915711430516911622870480012540415638524582872870375425934841217853848174802570947291765862130792861026251659194985648621789922296676948094803755995013023727958061067805584692736175160822522593527024867547824670294926480196824621786321502505555159322676287486642715622941957238548531326757156849779179201812151366596380031629408501479638421503143202907269592931018163797253986113133272319319489094345158692103907831493323813921049639800575989746346902177727528931010844911235640569864233128408606395160117775319881259798338697898412924952892736465457862188968504858076069998875510024051519013528879453340643571356399027583229191292527234977718039973738570333607254495616453241276879845283513513854591894780759164501916362223535267355498443115284511087765103356171927226975257842947280112808613294755151565413310321322386076506282723240821925262478756462600333948417306341478680281992713091529883453859798363976553474977784521824841622121479816465892588558185852231793070427850962679297323978833480344909288281987385277504724486515018295086162230653584143002358199265038008996642133760218493396601825479894531281297725024811773384968966036683899677988583150839492958225230520524186628457382137199417943460647679823482845048019758935624284419487128186585356221681131282338257392294081771596748827881039734901924397656396600096681732148241679656643583216829353554858767723027645780245943874176895263776483898011270510099185465655907092573725559600536452323509801726211619880992343676539910150373428213641167274642424264927609543852863247861449056445585531668962377202046581757369436424833573474252783421756556899345957131638026229391289833859142935187991540232271517817162943484814110294252511353573008025250741969029660627772977089633352280162469200034334087384697593159491810082462072753177474221314530972935029394211975432410695132825545551403154500566849642682944980635844470987614065340382945076149949987907467697178474218442952840701428737993804374939379183850228383188442544869849711978038998107346786121303369265069682366993520456997160928575042682251511267504511955554827978131808731046483087915621312262796359289379702861483307596856698136896875456109079795759731153846457756069832185654531604499347997126949501473577267828067906452950471303592212517556917967355095643749835858553993166424728615214755559283714669044772490375036343152368573570328925528378689257109870272022860118757879839897408543264011780153399261499450733964457644636762880706143202736886522255824947656452638129859509978819392408453008662634742414516999716773624741615318583405479465531274041373193997494434144865174735886906286494131426186007334944042837935780272511520972422163729605887999157736017273493486817241486483194985798459668334762337915374764196836891725303573438545394086973181240450226977845155623731103412643510394223591136772916813421974674358401843485136670352639589527227868057843238215307155909837417307938892569084482870929978357392731975609877870255041930884659031465164261576871799791751896020023799306122510638858992949540219185881796123207607746809318170575366099100577439710682921659006240516710863826201876821516045709066433795680819397034249754230643813756567231828426689730577191938441252846517552350184743730769053543055499606044278409785788225239232446708081768136884212538862350446608560863869905337580217117301551985400369577503928948466885081138093369263732024281123998368091745138232719281054204829696157428568821493747589291951633501250140266600553384742710318416474458385023052283817838165179558811727656330783486685509754103486561955554996178821423080174916564402579129357155648928115063738697956653443857783322015548788710446385291970996188730190995426649738754794076738837955676927419953339547534737445405656430527301