323783326112979385933254667785740811071559999801244261486811367649098649927109986479657543031565377324426433834971430947880868910270446272381543575189982629596591678352179421417319436752047056328539188257534153188291567535642550221027813032147539400225776918564532439864915729180357741566216506217554923735863152438478935823379022673973456842405812193812354651191521324436479533218028786861459372176245542816130775870071287850274581237150831699555830714331986631543478083028611362760941785305470189124658954140871721788253920474971581287654881544228858051802264806584756516018403856264636797305430376241506327285183211467651942503540375063764254696764170763196823289319431309583935308395842222606283239430875836833796065667563992299871887694581998481287862945440743543722830814883785847814521391573270405538844235689387627897855419054365802269938347231369725574905764533907633389457474348673698816268879015493405839996732473621212481229288982944238789224876337732215482164970665171214899725558285977314451397873918131284171471614425459637862312247046530271266148107768938137624546450131718815362323112459040719686722435825820798515395661581236314700600038743987783362883467102156235552922626080813334717124393019560754538348231913812517485623549481546083396413658163213430134529147220246568146297223372364967843904194223559680820334505215449291771767712982619181922723402518570499377639112387021897124271487187685071067923326917625539511438056624113946013066143157802596538874092754846474462827410516742685271159646418431029475945204786457965387514911517829637328294726608976928272217056476817654852736371156749280580629917242609919709595656827145884241860207123574093813488119889359711235044184899259779640448476226149375620635122372268941843686547838664086814538769038238924995207495104682385740355768553894654934920143144606623217603422164620404069754296712941366782970551386840327796094355278416168832115847961672964725264313250645959419522862821467351931945736967497902649349878416434153216256421391919360236636307903601290664261934259175337389809513696649500744394299362374369659572814329120074029556720032847743396469272259164797286964919478349539722566457727428148816721257188439277460969612344989023136644997384694495862125509041851984562586778537378902690873617722401822246886139134547460670908314676435794773163667851687270193477821883972476540788240598465246771498276772566383921448207261365014392568292226408978145822221981080621983553210787989594176770401263184792478216964447394853676894965484836271849148149461592930018768078426996092023582191507785893082491074308639404558640674771210602375781633285457682783796106165394101939396296237121350860025416983853969425732510233251762989644078362269395978966806087484474031307222819096838671264140763476888009436158144732580599891362118330272176723171606098734433482538016225664687234896381349765663136830958466751605763234428724166853411593809117225582562527270994033294949203809907433432479648928948493965161310296565387723319001870533355601434272371764283343736352590876157995093313674302745138517617738160133403494334563086608439998796737420509695998443957711582374212739819997893699077773368385836857593267711849302219191182086334267259894573067326855781049574523515849659317152444157104119217342407411137517209483522053078273972666795764722374391397798309768447396333271390844228835353883581696580825016519374814652419431576213255853598967683904370680897656975893788129340822616312805476259585123188456587368838102135649624452047327714629347645565155573596891838714214399713290522443401388080597333728011077187925566050739354734982749221159831392440805481099384166731515949253747893062408160912171743499840895974410132998023888589734424644103253534633116618307056224769171600448721298727707296574772406610351282115518148651225819541469709730510463487564960591492855355569358609855277896184382569201691439049029026912085951860127252396179781845798709829044589736477266673457588191020672732415431523993213335829248535160485669152914678568922887547588937061810378015119846685174557260824465554779719912444867328692568914873096876058486840217362227051662566969053071470105882148083451282893151539878188747366458580730729514889827886343737296818971353871494860458285204688346845369653839242777206363744197372563453917965711280578275518688847655027772744854288622814890184465235167394386240536079372851349927105998840240653746869472424967253011198499131129478745794871410502750991724486915989149462124114742743994588793891802516959677148713781099837254152765173622571646899630270428065593385232411043483318364918094567224297677194876284383839758268873234393929951294286679295914720516936984952388921772513075108589234778051988257049864841537539473821740866889600396378838085247282924633423918584945291039175912922347524951978699709040970394657594337837127911148304182385666296289159932811855519461579980711866850338523957623520967661539991135199671538349425840563916735792420358441237196644659884509732385267588274758407127885995309456446029244662208913463756494036999043124262039153439333304916168321429597371767656275929684405219751690762893887259909117935102441597885984144473684304914223820247103683996147254618786069417796834701875314172457435794481043184854407849697873768111188135336245011459663618537936149454398822553175353701779696517546299075383787654547897852032043603507860144521393824772777430874097834173895063169917531052388104045805204919042040612340691235195331466771832923944099094552690675768650734960788751569149619432782381504354656153866330876634877827073664613773995862450237718110179763749985295241077548784762886821016406655518490047084837458074003944793795385408644472238704773665471245681794431059288963203622448632175456506914335665022162386722236971279493639068994559066840537881149412151615138023750025631654378770381046860415685622324082125196825