637084863192031301085353418513247868401323611094511665645981867421396155051133035674390723993817289577397375213612361743948295013587221599123658253916433137859584959575466262776256723564095512495533513053717501832959436363483316891516821988074635663506645847386363632829887098841314534832804683534061944895918390012270240166610471477439945264452530844959749245777297645433914167408542199804617196681893467729835699078502495585687356521624648721511438457579493427650597587374976681288828166474142771284117778427788344855954377270256355495301546211956492698232115743188349747834857327668684786403488178868430297056083280429459497013286713972773511014745395693110029189353865904673899663155078064346723698598850816392463606126015021796472760164900575527399756460412246802186356845742271675053338222511517337330839284923932752887519358543158996709886491673259185404134606403908294665165311903607891399274593001017265811402542233042222992939576353156408767359489606629147764621342919170102718437062515221495960780891218503290219733866451297150163071869059788932485926177272326737919424538120197936558155997347133799673478722112745510159175528582250468299387714016356138833505621641734842288971782026927153792692429435308413113943331462726555543872375619646414433918211967203437139613589441876025211231717801061432096956879236439808386316058420238885604510457913771222982490853864532664194794897171827587947267571427897835803419478729507272927302239554540185802459076573594841179645397848899114524138915522128013928593753722232178462584717444378625667842833464317009970567949199767267402783246845468839490918551541218910832251880427058054186869823051422116778892883136333359131436176256338096229290793819213170144739099465288748771320925795504549526480344034076206319556338717968339122490392024015038389415345089847899357830872784309773668398566280942845594211819593846843082555980116249853820975693875730967079573474793523382718301628695529068475557341684367462587070527520558581355248614834835468739880385529257984957123659764608162294464873412945711086197850123917943957856283425978150364931025727596499199165823326367438804701046793180230144238380813396763054114244248314231055023252770170988436298921213607570147565131669303015127553130694145691564453190362299511512566835745163712478726637458969935950763125918607499792463789693730732281577943518044982643244315993780938188294263782504669772248994511493298766325156833536923699596311826904185028391477939422611566916626153747398778487558755491129684524927831727894089258467656957205426645911079121102777945784192652182418737750328478548775613084889235915823630768529189215890683279155876212546551791368200115986423242352613654895130099770942928290864639168822411491608968682431397841822760712715525535669507483522927910606792873216403981089307256395482861568478029223184486167633957927243846199665846273285554204733755148060182661277475729534797803012520286019237656244107296635821114521307876995731870246164444856519657569092023303778533619021252623157373519794312636291561763787493394403942713486893933712744002447084226958718998004793808028438875885732940824676749157547770999917799771573098735792855238557589476410151601393298789971171928356047762934266732640310582740617212681557776589974282581178545233593460622078512469987093169928104646202220132216307906544559495856901192809467902297231161237283178039701715948767377851334975218192263223729109583150466932192061219469429389882615833053288038986317242378368940317427977248973010860838298815232440427416730264729696366327163808677676525240871140963221558027677614898531666141231328231899496377722657015054822983540631056707486383956194486682352188659889310472607573831918161770327318049175307213352756375742802941720465045889401826606844797033712815363395772425085104543129633424739122238816039191997365996064003312581587547442659287496426546049365013176599893876532853063484660412130203682737265644151663508217865260055525591195632969203706045216611185844480013346302999577333460674182075553181671626247497737335553151639087774314588665258181168986024970346929199127828292174556813938711436824317051171322986425039788718299550472931168170336044564459213327882692236230136761985640894179576753583216256599919288828483367687899118758324349263078446289340959934928234475276648360139020540683383284756612783938872462922996341813182927370138666218245082640066953540341618987374874770558809642130351902202230347895706385864847448942418907693710091174401614224712729494738832671919037829432930264812947647455114611908273847663514757412288393796484226084449334107985768328668208255393797435675732488521899991916218994671272301561251390974989881729621636834644988402240485274629477846668518555532885875048863879064634454719183912995261918171130375835538765100591175331354077795488740748738225536590855968355729442731715030699254433272185259881644551970756780797830845567863822134770201031284154543332773280858796892929635813174582120081321989630733636383325266797813496268787973596760590356145776356714226770493398899260132821471770469305351670444278103373089963562418264885685054277711839090615864855573187856524673526326452227117862531063152320957774339756906365376640718323747298488634444945318404958319884805373893853937783217372635497093622377967601694733732654427812439437629840833681494401864895129903246829739233838006657666642741023262518392786123947450891896667744864972196770201434757673660285035286253538646716233576465563743069829887807489917723367484066999998920819103384156411667139234428766465204656868639116682677811681419089752838649465197414449581236762588265003872113873425968392350144652869483762565411715443082957617611967061679688869771573465984825324642195627994806615067631624250128430376040308973906175825529187451489072836447362936223349773915446711068392792982811902524554313385415943294683514360366301879