21397385528171197514323490330088240217513787203248478627009519294714761292189539430868311038612851972120990276658926650568295705817788621719986670621897190867836527269799548965302486970586623755933581200256545345469087970874295151644355663444258630546268448291213776596128495865264400366175312558569295721345019412849776852757556911351813787145076931676482180404769859854444940397493153146541531945905341902988805719612068214319819956505302060073715341895562421793872947879362442279178555157863417986563791580656185846200348549265320834649263913447626705353696593685911443295585777561837743203914955834057029606046474114925434866756524224736429812328268933784874387797461682661690915199917404454569823268323415670226542533142996280360491474070325672281813641823074026830116360125648107236833546205148521126488697626577837574777850041480842716167982629557448367952444381902705777963694452492384567002571385451316299760205222866882288363307158117177715727376106962094384439384773986248266813232041482871441864220773725750741929968514687941234755888732704981935332761491142277426404470072817588836467911587597855683339240957620674733273861006386329456542698498312411047236635017433168552544039675054149801347174387942236387249399408699074670267855571737450632130262460793875284999644494772808492355866864728465038435573897222586162919873966242402938140952355728874142300869932986576442375415361858640423060966031739286926084730594944413379913372841487174638461174240795856333589426866718134777313201765757762825489729588236874543722563421987743167511167273847436754168107984769583516092275034276802844452652961585153266047963936086569813802533175829604922614813053636215064058854532664325925396256089482448898872304487469772969445378428600796001143514991003683519339874178222910088015046268717072336307436968278585774192103976120812802616300681663906350618042752356229519926556426874696948531367220831665765623714912068652134845257252086805102094173156136171266157989618540495850810562473077005721047599402837311392990600482144199581130565864477146245632966896498812205515371917144239818634790439814813658809362528204627265367186103978955998462903977314952460781347282822336536171513664982782086180763782063606720869749298061461361941460957129715279892749603611033372449816273324244176212186106676586846425404290114174644145932524296394203829057163723969395263401299167449705060185235412107888948681294882868709955356126312065121753655345563480730698579486695122627922783833844130527361882342991071432564043939104745333889447233451262669866170002087939148218775371257124523440590354212457452764497587669533950801547836771537822255072738834602410864230128762513954224238725424518111855583024809142668036155978568579844745325781480992729666360889212557392907885558441758961941883734580798876638420246058802423935447399672399984110818790415347299750883718326318449512454730788433567030573116088746483740654304187701548278024408895524682458251400962915166250984041974629108394362521831814818191363240901378554853175047460964865676583158687683629899583956828858316310155418903615973017930879035476128633895748882347874094278440832334908532474790795701776094506159924581128839851688199702617414941063845410648931267642213469501653495559183276256257442414784068021360366967318364649484912254798634879062359877985007304127186610191421843729515738929457263384923855326916813037946751033907802699402375646024314325307923373395741863863339631667222238837274843355150573542562871573427784728142675247067189535665452529739633589441432421293928084461372638097673389311682060627217496291273826458469554691745212405494456186929398663093816157514870991322845214165762401855094724182177148015050238886413141092286883994506739161880356649648862807246644946906282981054683704286927937332820598394628955857478510220097808536845797226170485828819896605440139524887632029620324752046399667275961437305248449326277789742279744227139051794132630346211044252444798182302787981513221833335992747420582314957029330251037875329933298733322767279177327600257116878500028393893180184597188900442111392134630069009260990676446715504257556936795276242946458128184088451979343268655842764909147256932332842142170829793128267568360614944729411694509159916025163868463163926494989275101577325361443367464068608168270166606709658340634361246773140866208235716914503778771612903250292068214673260226533929040973265578843868832219269560045602159675415085414243451632162971898819908870484424399219476187474307613442437317855086790252378264598128458457895869461046877206931269963830977284814310043519843647828204679250691902556201596497508152279551305747997345116257160994691804689144234218646381921706462161279698402933752999206869211763488468186314098130013104424176283345654900334149664640140243092167977945489379441370323956144127664703452259861780278781818476643355128246688763150029137874190807227896790525467537586347557256002284120013187299545686491912110367204029238425975174449780743085846911886581332479001337463165235082154936363867924280264321149995946894252257633096502079156734228327435323843639274324520211655895038071045438726557800601494455587763585804419182762896590623266741820257193238123228639337280676252171618553838784074844894752336843240335927515429692499638705364667021945169495754323802642241134413842045196980149163382084607531977859067798149194945559680693454948917955036411782063046760556064055405421941041771396937605521739357292806989974995259806534917169321205071086063662334557781727851042413226948743285978538169405462998633226993000893018296878566927159764172669433641767932899213383355208140493252799513775081277833699026786883786824354833642899884822310162562727491463948270958530782632873407731883744998112768598711658445569738611935795979225196527730519498315228325894408699573222582194774717632030049566386654479236075217647360426301231