31107199688729429923088254434515853707563498717883565342549012909695155726889258171266997408797271743429485256654664544164246041946532403519687893088584285920569501384423908264863426262645522819998335333679525714339920188042179096797583115449168611034697493669482855105435099348506511297875174807967089700442496415973411474926811388239774336766674350619481980912682190382246499829714616111796381218768600619487576722567931709198661441755701562957951619302669853859569915047114349664417348446027343604134420722084450675472458776942936771115338162924091862652338273248834755415397661776165548773382167455252417167517898718364568330940793897315226834205346463739469457062473512259202876719133939724327493010790443579603549297298344470133338204405251497621418365265956279740821065286374916564684664932768331944693363599512131634880446459816756314045349293285632249635811132675776215426421034792263373131874049055189675457012840346548316715078217973757568985791184364360367407620411934831929647954346524243867697824642206521808191911295324339082495488125497953376982181246937786407693986950671721679348399490737647512949722767393514813896580983967213093235728982088579592861579241027778472253450789406649463465461853155173142273190591968402980936693556689914513231558993427886681604072311592708418865116248444132498544777463961928386688190815411446853142042111487118981378482767943955366289865709717399083774758613883755084380411429277409092165389873676027722161444149563852765679563636216449620726229266343559727995284865396055049951136489285162853259836506642272064447497912575641998473416357649671645766366680189019388497021268981088831463982746938201998907785458472416821995630564939478068302972536101530326788312769658947393425467230747130920778142278121411462944006089990874358710802792129723589677263877918231793971741310573528879736531392453910708756465090012064723484162607854134601571281028301053655172892329457622186815940447063178135657028313675626291715010907449566364950868645349982860063411851629451842346203814727273802733735609506145754643236346522877101445872899924238689713774472975598189142050265402248670561281799384548589709876411482322753010581816291181822897238337337444458518104952537720497434534673500444111925437382047067407817874403600683212203369231416031592538641922812677983351354216412222352575494792653071746741478164390092677471254740821338595296316641619238039014921384632349077352432593046221786814939669424405291183861336210482157436118361571388441678436773768482812548551789397841962173277148246867532216777415781452894380713628487714535717572893687571611387737053515757942298334731025690300987756692173533141279960680039264503900243482553356894394211369477654159371279104974685946496447443195616986632618276588089231672278258715190856355406917882784718665469827570059829368038493391235699757527954949236668003113705132668581746913185437241403923051604588491264767076513671362825594119078304239388617214857068696774748434567117472435846558686468468077558654023634600846891081838229353468696540698529354921413688655156324561407765154625925494419962316579173602562460131605907803160544143348948383163206320230602991641198575937513348430291084051919843125609590781162715500815268143958788466140786992857085378390477747681941135397776981598088560829113074613173867677009108164552946900394155126837449091545391309057706664750447565472615956091784072253625288431804151612357720749113228455995043359053830210564374155909994921525238728823708245922089879065207768856950122642205563769568874548534449997285674845968983019341941369084457690265072233399399161917966995780864974915834627403691690267051628836324783031300232463888973269475547454046282942342943618028349545184963445641862439019976778171837299489113162429057862425223029180750860082301768051018173443337421414515085668808423792131361927671508295743565455658978078199603915585255821696697965674012693245605719859397694748830873913994693771525244367481786161631523764873011156894628472717711733513394726204311182495923248753786523271482713982476856696200687023159695993259726317613075625330785882255599780178852169897968435975082791992917788686207870880792182179113716221166763735491628455457513692236149119712636336401307890243932666548690587138975250451655860522194471722569633267619278463474698552192782734943987699485443693192111838257397670282714799579751198583580860504329499294659270400154229847954391191464594976899203403107118910558585446603641208993846736755377256749646628589480175726072400528755688551020756434160999878103225242335582727827566835756628277124381898133302508390345165144717385766936783017594915760574011717605977596639054866746898540128316739378687934219759169466165044736023751579376317355235484388691128769448331745244587355768235414268178977563775434291872350353125868913275983461986068473799055564153709399755488807652005071064576810706061351619328090519035534966116476932253834777657595179720130552759759061115035659992828308470145837738880264787641337901760521681889778461656087936345052893276198096212980988182235889757727015327839177763210883436095541127981774416066340340585213200793346006041502818637167675757667812697339430931176468591712031898666396470228696918992334286556138280722625119492791560276463608073603708560263548052585978331911639585158076783722715144930881404463494810693052185950848117162287322768287854826184685138903845755691839855801139049665779978469147124458951105479216093345667246188127703282492322781959611853247503316999311416545955815435392505352891465227459440472784624595426671811051671994774428497931351379579290741559864533256789091663324587140287664442383178437712758378709193513662768743176157641482456084339154492868723991991688304271410722528573912428676803409481610639901626395818975261990574521209412262117568485112629648898036523750215469354311401671261658353972308433