44223203760329119287783784044480464120452247417417042697861885126537294835247224571481906271234512579760829662788567868834391546640559757279088805672264168434124515874502301715905243976849356784119436949393344889719114374967372658735286365143382316532638953940653157604312265364714270537453723931185635113912869480465089278778373831244288033061664666768539831879656792317845894775765637399481834326142653096386882826029834199628676191769349129481229654541897848479869618856721495823982852669564741226186994044387504424957528114050008604676249936241376054172614968415986594364561755168804469406264475118913994249926908823340479909172625586356300696575179298683888459365896593251348482546179855313921115534100135467195887680952275344659092195674177324222100172870674935998076538852711706127669151086297824764077481590135901290538174755200763557637921528627654305821860823091754681619912239824161460116403116484624490515126358253456522666654154643015581783244716237976723526795483184768399231820393135129446758462450352948947275112508137154669011843177167784444190721047143444325725232115462568261503787229872968823872451582055331648335669144595704627752140034011276428798021388592859917678695532923889485275643303698821958653686309127709812118644643331528685492898679510193839631911888661230401879667972656220701288345093351042954833653954560378585003583151228752928859974094218892135097212590515980268854813379457370063417126243645224278617758220300399427387907774971154509914456471125822699866877540583959560633842303226792868380648707693792356474813630672294863639689361164374636178729313455743094642496167416187544940720108004317895102674369992001124235292048851887563547359331249174031086242843276877674367466085686763903899804244676104949388634839410118113917025585548409355612439192246547119593724591177783275437856282710263471642916678750873836277461134030790557647487480855275429611263802693171838973474633548295807347947811544691963182543463855340339660359662348933859043405974498092649681196174722274181176069683764052514920397130934440863018248337973450622763207054821084288639643519369549348190589387845459792233757480661988184805685473198557906413033242298047076455795223838513831258881165174165845417294167341493147189031956289919183681207710542110354493181456379251474970723771169241957217646994403034791627436950098729856224079377394426471166302523186937472858143292195955073840573406282414666799055608285385198799969326306147762762978435359422931351923053137724796639498366452714552991785591663684583117632746436689329213252733865515190951928971968728454736684775068425809213146591863946278672949235626557036405141122846868983827943466735852655405047865228583855903917998802343306704063226690839193577439590420757354753444625780822239290891391731910144038585779917965588692893888910362906549903673613184803645373429631977715150846384538382338293167430453285303099014595405175723414429449818428348753076392489933531146310129322718106261099616509367827950751473406923901841106835652699832119994412854696325319800526602834734281626484972994132455482233039091688410868481917774338415698527097548424248456628677911633055926637503776671665329757535919235253477169868924731568989962899817731119273402170663756212831788492689287954953943881392009526471299158771642121144472697606462341075227271406422306827959755297478943545910877090732538104274437868467683592677137510929752465633208568464741234276357944773988164548558379369777429352834572889709319826425614278465150363464938815739186243081142335213366662671494525066649301371672420902357782041540518472880702242201314288610975908537787117577172151747777872967958134251873335128571321451555191640201432383954572616814095579434237933471505474496245204334124646442231827911409435983280062315977767664349093723796613598605123715758123608790872902435278087247619444843829122659784824803789034198063219049376746878947233975145524856100280292255820426921031599870378668685537194612856284310585172019157135752980976117234836284760678293591573913277660190426103404947645609370801427698682779194275570774487511731416907375023365855736837948503430631391014716948987873748389456910617265766265833679484640608963467965126558349365181275255428147702906864192764800537385900585940422154630277226011207283164305778045332332751182657447923432433895998552673464778585304189508069036143344751305815283895299943395916737931348765950426509542467096335691236725132783254767627347645227124477566917405289082665191565150928115916360127113573176808299988563367596376969483646569656758748635555128255996952834378978361612222922787772764182757220834616163539188912635481532041682338873562362833721188424117462596408975244299674669552379758678840161119471121990596467220139245188456840732532584201172767061878467912799585762224323434182263132983884212927457502579386767804334099596975674559686318533458268432267306485793149668651829087468313687584814215272878575603051305451766468798644206020795475998449653548515110519539942197956362922185176385214750288098271378399894714802500869043716817533087359129988761766096262356231475886988809327272958519871160829066583568510301985116579913672821366525363566962118515373737798615871189957053750273084844462182149539478017427379600730762603223824973291246620418968026137836652421111433174317676062157348242551176686335354716685885019276202490362524826817048728182114389647559669574736561858857722944645635752125955505229738920918714513372590096313215139511724895457780938303792050271250371616187668926999079593433583891905789699688779613415405400848169077462928654346315318109826891250977430888963646562296565499073278590893334662249822573154937184658976056275572846055918777736106570147427974989569172330398317238367198934762275933576733022812733654814510661471026824628754056731667895825889104294665165298223117436581726448015968726073381392779680278860448087634333