7157759225817996017368496260186304409622332549197689348309508556351501279248604212589517330766803832030819352774218811146810092741614507385726657237582779812763761468813952516721267120241216872206496365745709972389986605833645177717368584766143489242452668815774664061821006364241459515862390705936116320798793118177310663304534190287014860925117846761254127154991729680734610572072722989570998262063174831689633787848045511089526160504967718515167383220533311963861737699098806253932779393169231697094145788625204972734349860664437541227259067721983585180517814099500430315809925320523003742243634464104494366744297099680865522780503239493410908084757684969236456854833792556938298420673246313047493247408330155037820357236300240027454212837484858782166263634176170860989315977084144289440725656145584850121106805200735056256415948585755699882317078410904656951094714056748774805232262146891239819119734623496695710660698582320438776742488710484306430126404059621140241129110919882349714283876265143275336038644858080033153694676237846862764534382286648943683419821465783417617359706596939236788147972549474646917431687946425807965032961334803555605176405394211926602561011147803490690461422159020827470798386528202245805024119062370476521152430877666448645528485657932546118355509624285191726464869661475202937998728325926745420571457636764246750387591966860343893741931921220034756832559785449251680357992328715888579751775884919268622323026497818110257718345155490822338221372362197974181690151137481534712362869282742155080112677469980830467144536949272193132217842829477147752616111546689945632931362319205343725070932461341760921592479720878205625654911765838775122121757558929253988326240227687194878611309504411429542379106599849419835626396683731801535529287471066698765734576709655041972867450577101439365943104703125025848865112517658797563825818410424136421443786942747528191928288206583913650994079211699747737768803619823241945705854537816992123476942538565617418272196994952646644666538037334288446821817659596564159905848890544274727940141628329527952752207909557834378266587471555875356274579712746957289434977986761226647055477999165014310442059003040119948184446874827522894384952581334344356682648436723435319219103268241444393470235848756139922449993049013635523118252309181834866970483484019925347626736506750070434943324168860756223928561305661748146903681665978655869548051546131364115886035901877391872753837523302574819789922703540666279886314325721729997001990880282825149494017499183266066813803505529066618753525911805806419314823131087024606108518755898236913689187495714179018858922124457532249761947202645941561821989749281813756093589641882299664809370152762643142836235243131688911963213950893664488509284759137056632343204178691141367831685986865030168158259273940453711927668090771172212229448682961743612812736466385768770315166490327133866253383563816389514479449177413204106785327133397125357408785182033478225670048945741674169232471957079019908560237139605666629121958224939222215555891188425346469750248814216863634358464259079610910653583719510028542586925693039724418844859152423623590034388884046253750222671763783999247003473122574009704598264073125498165812990168565087001364515406474280175451929592271136111223166807997130543264751560229353164256598576213592727483017432985844137902582493234428223991619337911690616008537867743241906166645290992023045754892246154936982889009560768871933431976160292837915337639446866210626098963658122623079116322753338591878217763247420671874175583766589924418663277158782040608942475323402932148193406303632945347339276396864229440241209335705464834736285702661528591469558259887842266744263137102118881691849638572610958289475706073157895419641892256518397035984783524803173615287999796685659740641056278320487680951327018056740637734514404676210515561104516915997725682344124687181177066731548717596799882914245574184571123202914634315612513857513148492349815494514691118889833036641710585065141690407923140695639352608023615962579791418115365660781588286087292983336994772830457745152340833481357322663791236293476115034310473273386680435734527687168217066483130532811331298321258412298612458913251895243947747411167074949630616362343697862128257688390483943330222699374591872920273515619105827011039945399813984647118216028274023536902695107757292973913454127693884649579270994785179289371321099221918111357772792114763957262985356883223043556276175455684576993016823011524978765349963990477995216582155341053079297075806163714246322016997545051263613867604593288586242123118064749734256285752935871088961856709477621575057685648027536285916232814147335690475275781016424219681888059182654799223169110203998189253671750330612488539564642456189599262886424896022461425103335118973184186069696496849300215056742382698617168304310144027380242852056826987904411499437919512250214331911131318198404193337771736690715923696448867139902910791850594424146555144061502316832269898623276367496279760111278229040153691927145369111232852662902976603193912507659631062817973213871299399743426852284668837774862221567535884527178805567365552627004429094919364951674336119823287368985144965865428767409027128023833881512548914317542579313492897760433898360829601493297980124752257840227443849040115265097272381574041083225475624828661573830671574696844771470324701397182442142226956729340888315452082946287519256355855572119354743717547321752284332753571883180721437967731826420101768151460730089945581259089700484697028884811185149163588762133141457458175922854401635844493586299141464370737736286976840460758166838193136537982481625069260949431888447470658975185663773670696525721212634254209896797083092108764649114317986025043612407787152583430943222875610471072427816425296138666482349737662763772486348871356877639932263723148538830471686102475467889756725954451424045