73993654706413192526251562905733334197580353971033484621870771692386121757824987191470453911852035282553631105200661998877803546654447469584689251748879703415651689793573375654335987515004788974331397912181860911420524075374227466956058097474836886564253604185616687548581701769550250852645952897619964105407779419372826423232071804269675363141963383551309826970017928327140297371515966046543686498359871652538499737242113673693345278868772403000262192883034278599188543428586398933494148191293953994065538098125336403538464801451495132946552940241484541331201168618801253147737972058601386425706387282530780951910908694118224144705761105452874832930977573123288733429134701679269652391562550126386706480618581592876910678384483055628857402813774307701147634078373363287690472850534898700748527788975373729488633049942219130874466338432943145914537851770724384933643498287183718544037498869022722363021952904333832654583427322076502469222779472131013685329412782359577642489279318170554126008117223640641287187996537491284580715272399869354224372060910226509275919224525656590511072754752663696668515603623933417123178416640851476283117801511986103495668768962420773227388104439760099793425781644284354117519863211526471056937220863276428893737311785711359226211669828890455075114738313096918244747789936959603541510811178459772984259041860254162316702160224128432087443035554212174472761162987303129829146308845582166951347600195878257402897471799388455060980769342883326444824146775448351263788829341236687389602055655762718221674326656498726149084687430876764955468159323671065964895028690749430333065302214158585123579597522974743697425039748490853147438311204111634276399221187770569236125763880351954644449444549855176246962633601965396933859086768766823481294020191189889968318759698359309199114722208407215282392343993622688954367939590505656393401661983506019667958436770124137141577525561865273974308215179596657942203963099938417531079558333756911313935274452657407345384675501115572808118650494125708817071813761170957639707319222648098638249697995626526259822751046331770029518654187705104433681885086500271270821092871670036224229343993436547543477531747732615934672327254613808260109868509120266492825212888063418082266036416577442421617330602886114461602979886651451416990592894836278791881120279583066147668366161575740210267337018634770499168211349434736171615631125474191281218267499190867121125720303918590089792297616654261632774479823563676093543231275049616131467725112704146793430160864052273206345761504460670624211436330665658891159292846654997621706486732394262973938943565997746227188677752422495056179449147851949798988344339670744811971552306174999002886760648151238054265527018000216947544626407858296878026613809983926066566119662769338950765525549643749637279698140559569435835878431386074044014433326019191632031371726176423055158260449312175551823540107194839997522539384236751412670664747639208991181071317613478645564887592591704931256341978961187386313038488677537004299594103024603700954202435219476237614666345285212585761195700736290552002808832279842876969826211538079991885964754925746230154449028614117067088956120298864739498263746868439081635524277921336708442864302738174443995098502933131867472416677223581368038646434645261719033253513263349051898549646174683436731876341711748711259617847917903672946294159588117628775760829032797996970864734255155445784138523066282046813336856150712527706866864483558823762593345313483223118693256976263128491004977953955741269403646194661388520144482953969716108605252937079723315345163825602199336463160196845362958184126886076757673950466779294385723815410275812096312218553179275622926724442296571298092535270110381975266877088309564126003691377442992250626582046276569348966095783325976808725302865351146102848875507289737542279735303690631467703263077105562720831993421309273162381757534514081894456453823400235529939117123351923568314496441193166540965424882775779441696181129347588807911095533609299087733504829130685613354731945477124695837745870773463924009754897929185110638951117393244145479879304347989383019229595069797988725273578047827073111272606513767415732019712749296658235616816763372232242298658255456047120132706391994772258653865524454903413133372222392075926920832333203061768652730529882974821153514499218069386885113780925553681807898429899743778215462668318545532396115710569981384326222388259713826522999259226244452579767381188491076586559154438863114252686634099465055406441749712511648741462878727127358662063064114711519962608799593593975267579931492468294775019176633338554730722805426664155104729385058803389828879343752175820340515378669044384369298867283387478122227562663328678429947796377836576673988587974993653474268143132444863482573797582213729837978212884955034205901770435376494524527529793473398474780895480364185196927466727513935111506198910235341223536675692950514724652928658469102829797653858699143244190644156070159179969456229140524593111038584010824652528675541783024597032958158165050592112319825649148777580632358828700361548523411729565493297279347625929739747812329694840995400842537102976131454699372832150974494414478604884923339332210300799922546981662410302377578037899519053793022806221718840332626021623691865059442741272086739291394429827079885892536472715852493587533239251633696570138237664523969854489966439328545293825580682061808773563284643770973725520110164496354853293484431714894418984101852923573107965757451066412398990623196174981525934673157478713310281423889986634086522367345577371708741373407678014995874628863999103311679866629333683576975542532195558414082421674353580312049547385518291430678286162130589653635164887559571046207736099232753857579342125814317462913567948816657253951805784371798833732286796282481342100608910886804092863114837590327092679613