55488611481594346745354494786939439173359584666767580065625692610421896993467718616967778635954566105775641153589380852086742550112302691743552899998370236143298199432385917151632762992484120831525181950441093137845625037309434313972878859799784082944000767373199547397604813676880368233389951714289651910350349239988826685267671753102856745144613745214726922271687532020268225669262284940857067738205897971709274841699556864296190543411812943930283286629521678703634881574788719768366622819681844586167650419238960602340689440366683305104117405698262488687537245078951862947077172649866635282628177492114766446348993388144820525681697697222568391153820042169296934118989121018567067802793151336113665493672666695136788138034232772271547104140781562837050031899595255661043547968423138554652169327598076628924353972479511191380256131817560424263246739559371070255574728341876775033200731012325999278375042426733914425496122750578109430913456172731175544227358069626719841678569633035838718281909029451642399959451330085098950470913733426340344247796274458992546132662204578765671575693553965647150087788235506096807945499936755133620537999917205988458739102149047701625543017355763848980674574108979135916401860092447686225265289285121718991877248591714393231980220498749917601265754312367556642538765478762733191856870467239609062012498252541774510577666872511931448317562564597913697856358142661609528950875117292250486410884779366353967362507624317394264907688089298319353222256775113111166136203757317523919854345868902990232314033883071082790513774060152378945923270054883688930655488456770444402066982883702125257735655233668385238314778184954651419648956164732295461371620846173164428938962329018725778494846209983557381496320963723701126313564271575978671674349876742043185332188427247542745797672977585841199016062930087048154684350276584662862939059998711542092617488176975541679413506572235230963704187142505651398996025421134923753458082447030347534255915591010728538429310966838657831735063632866874697328217768851571811646226755402948049529505999068669370731282918313951306581478214197178383341191454491810880533819322286911103944593299320966998414324555221831301666286393711759131132286116814484823313826384546387883635785661611910087304230961674287457313559436652962742499278463140769009333704759441241470893842950197560702147125767478739763371099616760644298836884955372373983939112963599881547366726788854099136038142147772915815605211526258947690645125189186367954342665213527166872694768124653173128860916819659373784097363563814261155149454978938787139751462784359071968330733405637224924776995443793117457432551261307939927247523605287688154492639962482252260851837439864525142636015001388871631588295712987149177310984239885846953234823484156606485095403648138970768670878346437536339517135358993832366322351981863919282518553474544775396567732593929837428857166342396955506375291361190707364630983459105360866245109680957837818254894615985074601938264719948467159702870023422092231443599479968262658544685336706237841533906991680563540598398331025978125848773528703373825836300975256292578916510488734498346155595402814856778103724811072245590524079383713398458537419161643276512833088032803384267871139074432635878279292087140519139662504293916146523210719581783454803311431697639093320427329294144512838767455588421464479920195411729617218371984249504266339829991694995141184310109179814921584274534756389651595489107540372418639457631876369243741552923651252634907441089374540398126938216891656029693141585179109060120662395709184490739258623858793756743836197458160662815536370064958856304065912089200442274258672786745982355909579293012603201260504649752189146591651595487296387965942138067114190459760987613482588616356502054404269944520196775637769391819869738771139396324614814980139894258403390702182017445221916563971658382591173058905037807254021364623465009717241493270882514515943246576813469733654398856766049426593566572973208162727942794255526376577335436058071635768082955626131565141453819276562721780967479099947556662381601489213691579788323187559589444744666253509085776962370684934829220788019720868876589699735914810974128957760351255387564136093522810395354686345443753776781274585418533523079114776717491803017248714748569679355772838066598040209442811167153754218671347460543620817603160789828713682374668381243513645925544869918796204464889343754209619699742770152862632946304261550793141649011154926426725966520279594149843494680276444156781939248388293565336418841737956571032957320758666920476157910072106709318938233398886669019249380466218375172809912117522578993181612817519869316553766463043403898653898161768365160872566408115631283096963448386605304975668592990732710035606741888543206169800786193678878281335176238963756600515122325969210380089853587524350719065623790502313765917470836411377529925651920290523024333882696453629849385308128011161751625756475899632587221589713864543693993486955902869200275535073762512438678715364172436343053742774747010878403181432085243278165971443410228528618913153344083764888799010425117392775999981531837936496217163506978379380182805818173815870438271548625146868584982615567851369708808179133231767690936894437122902266173073433988044035645712248923519242925661165596108975511228658953159908994941574446290887830191425761762312726695195465714722783917319444234568973201575352805817508124543142238246479086084335546857168859165150835711056757539062026759221765115937379563563299319474872355483519678826779163089275878177225722900427491836348819694116700878187095665639673605725944307949998178626911184948601579687618932171454195089854350683354804227754989743385458261295396090598989420379165013197778145542138863466540056623706062889131746364048260141834426258663686530399704929134125763121277298904304093402609246218322192382416944863