68142388107442955030574942906444370529410171597972056249715253417934691144881562830189827935827751450461611789797099555454389021382443551154868270659138605352393936681613705481200894187061922640342956318133477991260433756462806123609396982920793422008309130267848524791144439024303547026182350258156922987797159835031098689739721650986011135721858451926808675277629929525233309088389482436156152380487167869370426730591630813869312837743903167653142173357674666045686651530545943112704562129893709156896150688842509393791838494254427616960399529094439162316546374215824144905171661764606592899281873467456116186884462745149723078167479565667332754207214238878940233646998081215935585591331562372708153118981951499707807649446631836577694053597729424751124201068023124027787913984637354686648015978749982596097019703148374270937301435650374171642539953784374666755961367309561258608223567123833289218696325344805521035324184917198884176795301534213438084335112278587882676063941403081799997566169135578879910419911897131553922617149396728022774441813406207798269758848176707649407894677924891603998777457299734747194270758191940188248022475042344035566582065623518052803293167961241436520926974355399391158094786711096964216532739767435537523941272221642120076106208043372856931087851035767285152970372121814922725194025764994368472443796102889938476527620525973827729876616998745914123418845018395874592391462279947882858793324075737792980164815353012101648723484705962884623776336534894426581416181849563427116726638424889910945115666636332472363780487113735670611268149340114205207777623312860342217754659955068139420329676694435954571177094790398995409206352444833045867374066706499364692952628319944254276112366234133920233716336598518328961690278035889484323477248864979116415679670761997446193387472868458281244064966682737791750859589502402380648859833757981718093559712492767293358339388833323677805370670344837313678642648108650327644957733158438859613696047167413675359684339895395070796658166822455380042286671119978847662139467155443975327826168891588738549432532825221398932158895276337183567117575968310764364835402718739182377913852588827119821879696157884699064917527444556742987594678671027723974102049794439543095497660703233581311688089636463323917523948687574720403886310937174918100520827025488411801132654313377066308096517989471517335992223160934089880846255169130759326183570923565589449156028411874166902738866037104975542971681177459906613533937216328043527941922847497620174614305971353108616029183157239593217763967998942338589284344357958743208532976862135129462973565387633815274600524931735931311120913995181478243870429519399660822562642093756280487638784858239562458094453531418431223938258578414861882797396700930308038334846592980694463338132548881843718445465844248348678335875745700755640658018183195966772665216715189907759038242473689466412136171930950165299665283462423849210728319205534641544255616662542833914478094464880217266552759701536628551858056956561965684215781884435564251360635670161049849913362816502839181890977311417761560718971847106189879312922207874379333268679484468899098218833515819272185568211694681544118658971284133942404764784028531433395071049667117715134342364596713363821101795077554551931469586521858875356714492585298727493706948301879362157178945546241265839569867462953494505616543425583174533463345406906582510936157370568289465406114572241665820675432019764285279725136233867696699821488616346739932849570977628583990349563929177708455022902568728068822517587395234041719266789745576516952571888071925620056152341446174966466033351965132601445764048454636856509574623105057957848044765928732957625357653903688373248435965705540873218777736378590234999442653731481141524085033609197898370354578307895831265746476522096237945309297687398624305736484028940657474643816593456316005293534483049867449763816177130097369523717315373950850432525572747985106768388473478772249542436439623528076893450523638458101182453697660125849414088787688671136225865223784735754613248256428267637984484358176890986724184695655507745437682960575281245559158282255546454820648562099392169677803046805815589412129478394549919544507465776623538637349058742166243633289884676096094869694952619893511534462046482172788069852715799370563492601547846019141636383567968441543001154091638579111785954857225926390378335788935785884407773543853033868563943398376557078088292845426091211309178665106199597219044700842139306929249183406443397568108679852631385469825147104344074064364710117150195263600262784659524156978579814702157547308137768785363887161986602757868777321535873797901236488293018430273620064162554015198091005777717226551492357969939132367191627631821248365622973556525630386176508325675849388417827458568535192514950264021483624904412928156883185651218650636577850807814417584888527689447896576159082774149929965619760720023503127113657149453220678032896536576891311137614850399387791927619988914492877882219049854088972284317757590877357655387410676624986785486347189336496301487769618367729723824280370896421992175718133465335650466867963766547745816335229327681718645198630598387228238240533663887033238399653261762131947349735414394294685240364501176803215336594722857294377904675768895856105670667671100947265874347051081175292692913657373991082341416980725211518277543174552850204452278411016977202999676787131650123924143662258402404743733996735807598590733616954102324740766000139954296895555084215098173263789337616034960160594677401457056445321262923403251164223045814194789868631678763203717894551624847460238128219958807969834869352299107121471050626352373712768582701731605857964151154878544468221521934309089379487845386961785417718582531950476597445844409971809334178555384604936983497331534661171145278584142269424747489143783717931973785710124876394855