783436374696796031844234154677037267531351674021797384532579130828117045846877349973459267723072449580788286931770014016943466843270984659622364165667623459486508124058473218484656857429685182636955611987438906820433614267086951982484588507731973312215098173949605738467451678270363704449418035848031194719104724470368493632759084418693176691905209703042986451711073627725650551496600882665662049488494085133888880746542614798598871445629619502331840932567199704135634252626755038023579831140197243292492355231763354445952886714145151660337262448024604470651813403588948085545832205978011383615658958846405310408251408276125504961876044355842529383536835811243332435368054646056392349677520798939942756420951276391022107581350571903744182346930571254311690588697944324853669448464765583479049545943269499672651052998742747248023369627421270131483760302387566422246390456949778790079537301893462244723569611798211339927300907694796326294414140045997641974023761204397613186775419617044780253216012580154552944593274837890938580245712695912374734240886777296778482687947199052894728276294813673418492845629293669359931580344055093937638861836718262417564149840345199988274231956787572991154153259802120388630719713467176371624965321417622799293784562696781996805438984530752020967122916185666471655130762791235138634869169446810949305761923103560332348411582242241043525297859312092631568082922361583797580319914287843705225647650552550709865352357623550896528451130331587256088971067603788541739554336477779424944614853065383655436811212966644107017664882456243740030465751239152477771276874060312633107271519664805352676208767184031773292639891345539201581500228318088824448017331425136077615866566644090384887247430814286994444521918835099354988531840529554719286732367906410971045327659472274512332188268757829104079908814565990459563394581834082608438859743631759262125178655492531421302503948478905465337474937722901937151690246959034926520754569790189829099843681473349600478347181309575956735410312358564846328819519292469611178243628465104796849553114709799007262551062889388198298833250325246922678444753581473626627127843702633995569364855171352718951615445653895089243901895937868235677634761143753291392643393495152473097386199886773218853042171318553702724424937990638782935032954748819680579991944476996829050267751335907487159976419313438115483515938178590220780237194146591671193338679677128884524826093468764471912830324491161057964819084461668510575221467079132025782943843931803613733148052492491214106032777865281415166098651793092232134506362706841677051524521668337987387914888703624619572694688127476128941552663307399349834265187368054318114447242945561153141853725175608073656525851999623182667690949337866133524453559519307861501633289054289523421908712739092399397565036904541155758379501025288472822416162334497549675128739349145537072266576165403435683081972374937683283029026802165157537814757145056164172792261212604429157218322171820613929387152078713426111353504751507276963012359752635314651968899754926429841626294475154947414917784006636905035795923559224208058881259095952248673921021505426122254614733597846275658583015865400352451196316687123894124713767725613581116728618983777342092824496983189861145402682032568690798292755948589817192627626543994697285824120377533511710923518805266970769075120070324089468736045216333197903056975932639910445894784903542381368235691988239176965352348726854361006226321143821046965332415257591169593653427904950889908261172395843308159694149948125722941790936260036829189173731377388122666393724442721624848731539927657642605147503815154561284772362904411683543567795179363171881934497608049087487074534379618690398054159663578308373576153189740644521010162288310987158054882519349973568040281762328180166644579109555627669434144302500502956548054833707715248261657196961286253168409277469869464524691427928808961656254882703346488939868896524141891979531613635075122160195352610946507725891557868214223144064221609464289889273718524301580218956323412493692132592920611469786059580457042881775938896886894285052867643716397877645951243649716230213356659389841386924033044920931483764693051320284717378936467297782154495360204329653051698736202585731674291148561317810157766364108549317076268699474043846191461854817916851958127804275342975658530277912291360572374204389182528367000373391792333183181536837363342246225235729991183745436747794024447680879337373560630192868233672885076687413433646537202758579166390964864657147156175178560772276293100822541151686686764722019787217408576605271090894927448526815987317980498931304756852357188831217222489250858830601149731502252923282074153306668034198249908552297669119087428734405965666886832357264068928333458154265815613100798463956515030389987863137587342677740905957286226052513278347285011642440835951010812498153146886906798884087999648071648207579958283799717935876445388337919655103690967995198579436972865634318258251426643702399268965131493751202720904941981515200250918801967548209822536055618852586901638302374541396428541782159619863427248356496672280669452058321399431411282452778938917681284434341131294830857613425639141138330928970517879511587690475729896874448026465963987019241221930521369513892710127377281171718434524615550228072333907179484531019593513178497897799562214681366682121181510257024258877338330086599183965664036491398727479209435947951642082744998087779311996963024429647813232421092536347038841749191591526302935642691128769338879010723066339768537246969443004687975169120959881317365022588961924155894990259685272571966877761054194987074695034621093817063918124208952231951728153969562170385551570886821671936350072263437546528274275145722016680477998877130424891463027655521534615161048149090656359166143004598386354851395541690230691840602188750534077405281101422880590217984638