303473657052195560282032935779433544721180802724879790524226520881247333096284999173184682894023364089540434831615205498671158191614204630610251098008547737522913611363827683513538744017973342934231412169206293347712172822899271657343860531911641127283977902517800742114270865849109932844584063335511718999746486946576136981228220072733001459890485196442147104738198994795524392398693034261817231455878337648744540842835666746627985296801183695086392221531822677343506391638291519318820125331770475637508051899960341693886289890115620869719898258261087677521669111144858840286969235342619584654201414492234805362472740188025444643876688169553912115293023784335883365771321175984714279288196873367925189433507846437159132534757294921314121775978109606329034057567741051892979404617551238517277879948749370648783712452521715977872227274827920736812373559959162597758074262769345232940677383476826412752087297736945751777750331169871445753314924935379449954949372611971335542921149951297370088695213230378520186640457306724460191083611546364370472033777442092472787899515802978417826244994169520620412907874699254688308876632541727642535317005563786641583960325374247413621414370135119983986547756143960141084977026152926068077360379471118410396719096089027181625143519539818329172015714128983155713997803119902791941095524470790875529367263125825264752329313991237669930889273497882780733641853567543667214731440663546556460728352114795661266288128445779999996622925544757358447716317383042051897705663455048630910251512947419892835651306356134850651946364693192249895894102685932433634173216645173590849333857726122452541544291620228242550802740959944873276684736747359569336610223542061660930459456196806352488343295959449218447537927208565997993117487263262686683226104517078365124857121731533690644546796614504651498446804319244492987962376644645945289456639010787894984154495662937867741730532683143965693954472579197009819770283975589195598797938367433384626069324136524321416268858105926672434934640925438067781290267261967655252541534246612863267278995854077584259554913157299158081563055251387779797084980447667189966022619199189864629054955615617357111384751564849538137378411996268005281630320992436483675672597138954279638226964389577845173556320018441052608151708528951688232671268073369293541989584875714211501471706187951545944696088186899711394855706236189859408758309341864671776235169633125147311906414635778645898599136332794426113950598382944453165356819169892667761219436587271396155796644707630369731535560298292966479454351786218596014713928359692822862616327384823460360882213136483437941581640778776026511656969159486221835773324522581967596617626228710656568205986140503623312171379660374021959828292805914462133493993183989723564183352364863938888509331129090219759280866552701321587626378953423767396451274642741656830392437259553501711799743257581388101590112625212448377173186973051266334707651470686804433122681268358826898954772896985239668508832809794252579287071494447171962593716372668712590445266079322218036467469259266170291785990355014945004306178934860852520998026131260778614753730281558714782379536118974806259498366955940312738461479153982185377882095016432135732325840736369022652927826896434699162915436123315807054381122478237988765031624589146814435167057849430248780128732600028764664880943044086832369383121192370422411194878862582849408415558068384567522369303807252966839303393391269193604223640572765276520401292327455104055659817821673606919904836013439813761762012367820359434119915375262384141420694754918607415659065234757537678518254694697779333862339581753793176716553694175041542585453794415079531871598194539462783324649328412213384398758860474846146714796220294534697866238751087625208467333967552760785779157307940528444488762731455299012026647037563867955441680051864989532347657877356929255898461323146183525517665081632078228864880618128359546594029677282225219947444540751134228182595817379236897796846039366421831045808775757418378977183285896868961548251804682898777940004694629924048591572468596314414871466632374015551914214489291038072077349199248508482199394859411022287094398560824328853866337399235741538368788761140923247303496139433972913616624573281027366846989464044539851587671113444845154983151328402580618250014284752323417573734288441825481031366599582960268576237693060984940781512707623506486178524815473167548189769554694806552134429353667368131024545133605978275726577779443591458665463881262255726891483869238449898075414496495511211633444975287938212114930222099764462547116214799898090429392181496124494694222161606592124765336737286933771460736977415585929049866724932815276938179113163859841710026394100278908798496987187129577316096707293411789869106478361825049596155445891447390956519769037973959101221392073758628316905887858750539313467861739377561154653842316456770313196408619357313559342650496727140340114799333194107139721406801325641782289740393344812957065224712107196765552779910426115228273059413703185138682376125675821575278958043747659671236302601798382182824194933049234187934728395215026141111586481384747174211943074908881223205763367569786754495256365989413696869403258914917688369932336957104844769779736847261640316289497365523711142231773146342965316411268964610768431291109314727068867989751315089345010081154763898007414695112481920175776621019920363085718118035878997589948661721798647223032610797973815790106884493569167518187934176347945766274505224444163799792234834527834478397500240968068953147552169947648997434153306547594157511337636947879872314746352613910375613294544019761231358599064233229357082295303464576538699287929210129071079719546799815424656722311333757711263370332936567951178531158586328077466814868743580259196774166024262613597857369520762664390107234577223817870735855718366755802750463148815568630204187