321110441831765812719193181606873726323667818042411334924694444219383034971726231037213880146836706300681159128375048486182824057715413789784941147971695715918336388781056534729016846396708497482778329852965438576745894516112313853168144574547316956201142578059936550077257994755147897918954101255322411834087465821633689946976313146159533197579781942210010124307707353516203834171439479989392318279681926102477071973777749876236954637364257890144672183412115688334191565921257809296108073369411431707112626326235944898764877662805360204719143371268526501853189530262534448346285774027678276845963785155009516309895313175332242338113327059783605244602348897347888652443641041601655721097994119608569325567023435700826425085225507316147354080862799747159834599736879150559314963873121792620986039453294055874188390522369910969647525512248862341436330309241751309809722529342579603434474391355592755898387998231331205551844505658779416181372253219354443372298524250731002423456231709768311413456015196151998373174406366055128429832996336159791858267137577430503074630440276667303990349341182587614958996076436666627671133938135866351457820988354572892508744688501582829538555987512894258355849468555433061492214227690179998202890459533913319433369298537882741198458533206153459681236787770765159707714525679908586550655202059546922569986665243336152498760642138872351638280095046824471696679179179617662679819251401866455566621424225979694681686582292709351590908134703886274565962840654935875464679421603473354881258957886923582720839718214540550163169621405777859993888096884778990280137879999855453196213387962220877055477747957321287583598344665940177183587455759894058685792254874282642305256976681280666759306385965075096863734427285042678581814181441938079476571540912380622971088305941202252866429737770461336129471303253976587147951301804568005950975958991146363739531975047376128328675366630666046526868714918324569828246284656307905656360199981722467551938584781445610529774002466622509013329514951219116756048283917494311759643885368539735754531572092623889190676586839822311697598623371512736078786952726851481893359582807682756615592602012226876349823603256457373477227909481234638824895554299047582873945498287947558618635880073349156316709844264400656713248224778329081412619226737440989014638005916767782245419918287667737262506615559224333527585937477704892145435256921122081397087338473525910623966348978238689653048712004620177563877265448583965402650865859748385994864297706259091597921220826596449613098810256835360536713481981371558201619960478317523602496027441707735279717443564124340150214848975403121176954609728656168573511505637344599068712276250616396774257701962831291164297101897714236499482872442568735035118391329431622439417072463958479667535881887336753035213342181313571381455470349841309652621481427321608973669042328249372390355033102936734151931178225878069615798069632524863425976777717601414627378352722492593867297521853714459696989177441613416375616096493325141463634096232770541587275643196399525910399997633606516120413452963880926807444860188724280831314725369158021022433232304316363328682975256276604402891726452194942825307920972642308212977271742687939618610636951386192430671079274562699525165563653855366430014458946532031382520717345671526972926222898869762016352807237737294339881978545721079473988375253954833254238960933434976260537694458101967899541818648378189650915286925058099437126964093579990954725529571501584461889539973038744348966296839745257162062362506219160198077742099783706326284041286212576683316420906866718725768083786605657473668642356242971467973428982335395755470354696472364484749180771762861452635772382464847646883795909392325125321156268957386193509165979417852489747259503137298599285523638236430133908195836437453798487933346528445630063758179596060546818584047710363906906704548696510798002751322491070259081669601433625617490597415038397325731143087468899865843665231939869403792346636346710933898637198514854884372347443636030855785126355719929067302895155715687635849290839131886177216904849462286671197485338475056522927345854776858118774030459292217630758585667027409937348948466679475886114522286184783725438392518629561762948607805783132379934576250682912709878544605851753917332967138546006511381183658856589880805919563758331141781558064308456133629609777278273782760883199194354435159102626459539089252912863703414252463458801359978546457824838708128819556544882630465678098705047855612260231993011204303203737416994540737176929929687337825851560553626579887441388713063565334171757737409556880078704928962617857153679773978987085982836770961313547020240438365654250446931371645683885085037088920862337404636096751013536147032845527896586095877439914802595982047249008370139299073454982734887350063602312169408217393518683721456533394242207819937540445730638660916866297577213989159767961762157495211726399056191951129957605112705497484589976789140375598572470835880085344457161463701188423071697962068362798975958276208627919889850388415813736744328963991416732363253713516479027499833537417678151867535715337598863743075307342724864357974049159241560867262888494311622083982992157416399120374750447763191932429334592872138893612811594202701100437944673131080727730995452520471483590990144164689917808547287459002549270152757981208465523211542817491494327878256381341457970072656830963862989423596659623543728498628126928492916220834531678244646535888199176161620609168211305749538168266536867322257892374327581221480174401117566586654588062563659941887882846976871149365146672643721210147547409712785741670681694253277920354367456778832532144678571679693359387273693237280978562159348136092531569800751731141977182548045538248345991667243023848359132714784653586829164675711756569624032682913465736449106357075578720235599076070