257395682119287576713465301628215011131137591483238933077918031675815703956761747657991658535341268513845056297751264203609611846856725882040973213535485658159234211997316142886431521870489514210384192718655592153282020191650474369252868082667491423265858433349671644200534322212333653559346414303549144682595208939161788966431543654411137302990772698341569614452916917772744106099831631039716251956464599753138279301774986796995423594468915810758846616633335367783148647349627649634480581206538892125284429262283452713958529776281456263707602274163712497633518755336635398233912619985511454120867119457045625611308937746190257905423485932018667842815842892554679006974522715241803596455217327155898823758231537352800094927937293018412173669585966360882075521970666136888830471889104243506656825437742626898783523101213612417248518236246086667570177365414742655178586735144958580924926517383440091980771393478409365750094388982689244197841525682429218432092324145419001050639949041734592477149208518743025697345343436695527140780603831619313639214523488762312651059959631696983976951101106519444124781561267798649660102136241860132029957838538868336741584508032192884349793533195176730954543862985413425635898204597594581732870601058143178102277166480787845201619450532030143356705986119214809829984917311043977148296262583879241744349804583660539696726647572853889246257303372328076939278343873415147985201615401499828461934192319371706831564929042831583434632362613252669406131754014642207232775725659520754556358638683859558615977755067528971656860206260005722529819352617605861760698461791850610173970679750279446526126103793485972946073181734093897861592471672452138126080611816908057241511521046407649904678285422627229605705733120112808707442239648661309894972542037248715683447721971910874387141592781334164630829557246362999644441893062312254724532269385126096666447471882938478460887932873834686496622926437505334005134549917907123623546291148924414677928728921744661763555609921905715834969785926311716422083640747732532376984375322154125382863469737079632566477740764103928267931609522409896604762298167439231722322436778784286476411241715415298992281871156495489443933309922424438126085239378794732156805180328743958730166469125579927414723446317041895254167885950092835844406221833313087067710014688857432344328831346439060025982187056911232273243586794254164922909182694444858170174144823436363289197167220443845035137732171824786910355287012419433712817776905153851182481846427688379702714912391750374127023649602998923434920193618619273734776014865307373517032763701817310158732905947023684839999218678178273044355783867871075509723189649484498124612601324308146343406276630905891925815251561318247265131981382543826568227776883717798103395607413868582860635569080767695152412037484581021924897068194683902954467276808099203558497351636812057488804011723968630125669349796494368208679685737621977437646742004104457863355084231517543633536990584624867110640136383259557249095282762041129069633422392420823555027796762697519149616629878007328778726523907544387606063174922608443452678054961726981073988466725722316195904642246027760392414822980423833932298684204647634966634076346931140048380184949817781597860123252763690869332490238388492144572485019785375584216500986914344539737457463228511284188696723167217872663318573886092534111938146011757415542217635568322544899117990729211339114778808346344475311583354162336559794352362450554787607059918289423944274642998273301964396579790315642205698818785516270353165653384815237854921024162068192386296460244359191623657336347566813790552224425437229629166226799483340334384884225911695737196819326859770699842253529161894504308845698798087738797679045185143926916481754014184397713220315687867489523319660683628917096141903878043554543480725439845674554996572995793207410807918655936264419558371466531427442491726359744769409917738297451970862567015609234389175331242994028583742757067868289880795076899023424365670942734057002938760737448223345639221458740120044455669672309648321444969138944729131992256080853422732397444818545679915871429599165864342116387044192960122398939629616753223796744119763250735454669798827623556909997725758941533440948717575912689645764511112657898857756078535226201874371043272782777414302814892437598811795331158718725786939371733553434627894814554614310019330615619002925908884756284653615735769165737592743009402796639499953116387377778854627422309926419331799377686924827775064443899195128692192202633368944972618451446502860224285949370406050581883664313828440142737205459371789339831123142758482328557943675817032974492441959710563861319081774780804656468815773471805568257787776818912431890475489036294878183014223193565562124712885224624777247527123691138915467136917416911033748180081788047534936097328937412909772692496658845407686172129271319692103223315605804729468019906873874419834407763915786720220590548725105690528305348237861753717270838064849836044188808385807113664097776285772840585821160097598718234708233952365703158805311728210724169918676893910752568047800317243768119642426669849383877561615567613142201174691988327789883297231517083233501868397964011510920704989835536846235872154843463674681445915054920819741739481014981335019520434538080604797264434519213186037922415931667091816363802582128361957641758446809457177302488999215838157789549671582936704515788872055441686018913302540283565111474537244822978179515535842146716509746031572440728243786421582058603241877023333327617263781952311665517092224769189952978214077295343401832328732225728085189253426698172631553477674904181515832295853295122085143252989389755138308602478118902566302919743054362228950015225639626178609877710664672724562241317046161678966453366639701491124781207549451498810783586674787541833117635822099488845997469568143534965665115841097138699