543310691005660489070424295734971468394739605661852222424661449012528796522942753875462704662503023810959031129419116313950031804324445276554922359432859620279214856907970688189522131137667638016064262132779421964232686099709352938107971368830792401518660344634235849459885994405141133131222310978233315378713054582907384085670345670713439376606812348694120647623145575239261099809417485195746298104729286228528338514431483824951305520235972422352477157192876984197813285224820355752901815976812292843698585443171991265595032160893332259616535209979959247311160463671889781192677217647011563113636695342972624705303599823045626165865519073104670222431972943530209590255690359382973138284133399366173435855361119392461295772324451074418676771846711615129471282483768973751755897418759429492854684519235286782446348135734125383211992756154546246012150195712014738634527877397680841252692251970951594886573389199354790744733213565965286216794603673328477365915451338579010171311607374163763194618467846202531192958583841546751802102238017996893025439535158080428961262576236660738080168375250928792166646366812848165730669399797738280085804077273293780003858897835463741537466322033797952010481527793621955192861682675436437970531819960180992512915944663293076186422159459722890836132230804452248003757146452316961354995979876555625303775879308117519263352122521254042237521735688284066310753932924428980922771241013566854658353695883240196506099504769085967189303992097384905880307084967960941643237618749434999860295017378665213843948586331836449106424823756144537916279513262563783235287386785786413688275808892312765427182966499096945714158526120485256274571847784538655927592807850168838928278971618689539346535132274541815828844852897917615192225767908179755727968539183276565669955562978264400976336399546738228298713890606599035001970991823095962285250385469283960603399736962233564589831408772624910296365839767536075693467464099134228682787767130295089578130314903696129387690451974187765774865101325161985282811274471387952082589568398128358843961876229461757892670611737014712349087772921702778775851788667534032768564383664364403830191557020332543717747309939646522926149172475127093821453459263575582467650299532834321043595766855982024888021938993184765987635996268568341607465892055736512699568484881995297557899575542109119459795812333592127596772985103344134857867782296132903414136015557235273237632155911426391318524918202769107491913625359091661503658669928597365197768204339019846336664211154077528868098526207983826142743696742592725374179252840158333212131512759372798833668525848682292258200514716934525350419496055719538004285414293132495247812038593128115657603643513318874829294437664199322840120571554754739101772268065526646818418406805755283502334597948418223779374154255197939252931226519799395932520200177033583429641555922250367975124001712794484018380299339290835610759628241723728489415891901840109038867260716335295986579816016086351511571240834227186238681346631471300766163970937266316166820074590298877224923502766363927661239335251365176757524201880193451998681661071473757075063525585837111936249870727554218565410608630439491748602475588267988444376747370140682856592635443658727209052575802432624333057198326785763378390928425132436669460380919237138210088677583756926656756554811251402454837013122457617759169615165024675071180783386717418079453127957547096193694479431769270273278310733781105673130784572266757750083804749322233376337049804779274089743945336732895348858699161596820767914259206447478878879192868589222516779629443979474051777754904616373515034167428649413983277783319700428866913196631747375194586234903435018019479732982997135652732353021029202616831887495607339920947172876078249485840152440655396459875379608905933728290485437514440623234441227685283948676497767991688993086261688821032237479451210214494568179707567423690671461329521421617361160372152272445188541184897261648502167261369066282719164648880257059513427383966503093811865447857403912845174643989711774820533300925916315152228575459477833663586885190734382305784352753547473553287322422361940141336335221116164042823685988508657460888159626790766247923428818961708899849427648291445219413239247533705842396002472313375652099793762572247161795211921171294926261857559705456506739832284083723981624311706652776822401694897508269487655215943388328083398630105092249808410414120848570925857127536623522379343755619416896974273034616819179979002118301052792949646224094865493963091058699372263815636226177621266441401880729268505120740610672613483863628272711112648766212260092576235949593495795892273260937949590057458328160748982270942471803396895555777267481115481788885608365853103102462852421465324343891813919230616805784453673275477628878421201243389697184934928059596076905949340497615943161728913718469490706215103443387765565298109173495745046082636636966550957180039121275537865429893289371006665540065871438442581527253332058986967968152798524669450237304825336073794316926714411561714610279702597833177256318313507641245357457246389770330078491975940572383396563978796709122710327229261424499334719175089626137868517753193706103574462228641178259772468918451330548431347326181096377903113324003792443679728275108384608452303393494347856651358264621445177892306709462584335980578481412289181523979199782255463768196322730695716164549216824897114595999039217459661264253887393798432223648584222352808472285224659249407477539138643589827588176646443776532069099028408243618914362177872886924713760057515934341841357202776654055938652528471318106059854386767637216087381214182428283044676806919545094447115558440897362666417029478151273872716714349169056670911540228379343879826002728144746301230839112327228043586389796059212177819218041159049107142351458937383676719963863488976187797547807111969663