3787131067956127237223094187636883509253859052549519326176273851089300269302342115498805373856871234379740567672984013519529542241856392114941584972321493271895964526841567370846140363926530259392171113187827953122579128537404546503261747956632815557554638615664449937370661261291449585397467007211628976050648869264135447818271381414395323039769745991318516309354741186598054046974216107838897254512633924695934034187453383314957791934313608613214581295076496944008467310153929896873816676867765215576384519640218804983907946256102494156366425865693631273438834754471840296050499024501442803856107357823969935384841859745043207932835626681382389743180634862237068056178725771487182872288991928058108891094055294794138363885804179527211727317529978326713123085229133511815266463109493241369459293716938056488533078974054418468129565975893662138833997378793964522437117674096605741698752514034906581487028200931354325471194976315021486050662204308439648345471168033504905276313654005573369687465204950972146614250440812789371418395101972609495422870525573277353127640152951234354324632213198190016207410651727042443707178407222324970646920584940526652557046760876692514018810889862603093972074516873628534965611207244753735895703242221857972654912890214484155143603004668193286121143382895103363739206471233227408561851984064863504177767329290884376711169276586860915792317006301940879735399981823130481864435496958806375254663083839556515025211294692442449954574690922658573046065168122079868737107642167953437440732492314481222276708188113465451814518769712604731405510762449871489264182284113286823970932278191170899419159512538815862211277793097733753106782119480595683608955852628808538406799851167969266098348677893352622710521377169371245891836941723419748353615052439200870506022388184407893747638485111218037421739151490659775531404666391097518349272281965278107174834849103490910510826870617478905014182395335307254927843638385792025235829658286529434974127266448775038973498615144010905926831855924686238837145792259489931277937764952874292473130626589969393711501238891287757273108577294214795092294370427851783472545819413437662193409862876792421576095349224910605064726391185971495891080689854366811606472527767401603486338856787506933675782764594595537367446768393740952098147786880148617227618852882931519334352288938152802452867955874584371631342968699160450480681227668091424209439227558543189128986966540451436329760583872182823812445655962543164929984542626988939992665713241329936950914943877366663651384712162912133464118285675027733658626084640181413309837784786908129199757855982842384828853186336273848386286301887485084568416939294747306391143865512474791371089637479516155881578488462256679880905844475581412568027829167274745805883391942539199654313009916614935899321324465646862106517152795868785521468061260376473747672413559452025938812978407614593158904628038893756945233034217910596050686916085897513996082327473453673516211037745912120983246830744394454269588372130854974491932189957717797864497539725033569496440811857368160961191126333726261713053291141995799839413398514897180182422044863164386904898845543351136135681411413544220893575199466487282607024259061892287436074436821733772014089123677829300612057567503959089061704972590777633291620572388588461674112419418665813350391490277188238574410562047815245968694874604571320595078843878999176074426150699245695026694943924698119232749795157745290691836141439962817341091674326238333219439422514651645826203633368859177680416504194788259427104188424090516389528381012377916823526450836542083664251447058139910299324950553227136382277831126484573721460988910988712738291601630378430336212095663693723240582373329223269692268052497850070853167859219285245495452714574181486502396574633062351782304092431934920593551234530431433451435829245216913071946275708474232037258644654368875275336793165454239653714256204936686197473526321773426469132713693114966963909723974723905375731765926028153782254990298061589067423245658785161223711902621628414957261560845512004352748119181565410955459384846316083786131854530256483972189701626521710808605738887035648180472821483375717753433824719882501223852598459449348076837593386781384118019604442438580818063248846594335082646233234335015238594878358213293393551878553728021469332512863526651651572370497723802129279915385136537621970142789595378692053130184664177265259629702915538387454584152160456454718416386687065475037368939582685692739957966274729755618862135557995630442367804383773254977775620456205530411766612704572685863619328633409001331205347144376638462167544681212785317958452571913382408416539706362668048747159141873288169649484790429721148231603360918136354404619452160269220654797265820457201100852828365868970650991502588335285217287837837256573361130948657465090074110626689008143024485816902473406522568960482430786280112725098554497942711430485769037217518213632182551536067388381676699704244421421658653885935885337617545621238571690767598788128277755936298498580311048824986199519889951291319562273618472804184672806802861749964869049236401152171216008333289498354180719711274297303236641322197415535323554295388787723291847876419260043896141165701462217019340698681902087755349072029182698638509160618913216963880792939392736281303998465663307244981861380846058484647282999123333398611288592028106315414133375945366155035990520252909441244924494505395595656374474815164221328590742202634046506403894430129018266527064776894631082032478572316296351948653971786472372122601455389865062237964853556730619696096819273401569533784684101557192828951310991383896594988425783725093661292467295958138737858008255212545363685587775377326873402565983099253528004952900233975378486865954326750965222817761063209651321555936423118527928515685148019785631526671310633284874459437916941437424