x = 2
x * x=
2
4
16
256
65536
4294967296
18446744073709551616
340282366920938463463374607431768211456
115792089237316195423570985008687907853269984665640564039457584007913129639936
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216
32317006071311007300714876688669951960444102669715484032130345427524655138867890893197201411522913463688717960921898019494119559150490921095088152386448283120630877367300996091750197750389652106796057638384067568276792218642619756161838094338476170470581645852036305042887575891541065808607552399123930385521914333389668342420684974786564569494856176035326322058077805659331026192708460314150258592864177116725943603718461857357598351152301645904403697613233287231227125684710820209725157101726931323469678542580656697935045997268352998638215525166389437335543602135433229604645318478604952148193555853611059596230656
1044388881413152506691752710716624382579964249047383780384233483283953907971557456848826811934997558340890106714439262837987573438185793607263236087851365277945956976543709998340361590134383718314428070011855946226376318839397712745672334684344586617496807908705803704071284048740118609114467977783598029006686938976881787785946905630190260940599579453432823469303026696443059025015972399867714215541693835559885291486318237914434496734087811872639496475100189041349008417061675093668333850551032972088269550769983616369411933015213796825837188091833656751221318492846368125550225998300412344784862595674492194617023806505913245610825731835380087608622102834270197698202313169017678006675195485079921636419370285375124784014907159135459982790513399611551794271106831134090584272884279791554849782954323534517065223269061394905987693002122963395687782878948440616007412945674919823050571642377154816321380631045902916136926708342856440730447899971901781465763473223850267253059899795996090799469201774624817718449867455659250178329070473119433165550807568221846571746373296884912819520317457002440926616910874148385078411929804522981857338977648103126085903001302413467189726673216491511131602920781738033436090243804708340403154190336
1090748135619415929462984244733782862448264161996232692431832786189721331849119295216264234525201987223957291796157025273109870820177184063610979765077554799078906298842192989538609825228048205159696851613591638196771886542609324560121290553901886301017900252535799917200010079600026535836800905297805880952350501630195475653911005312364560014847426035293551245843928918752768696279344088055617515694349945406677825140814900616105920256438504578013326493565836047242407382442812245131517757519164899226365743722432277368075027627883045206501792761700945699168497257879683851737049996900961120515655050115561271491492515342105748966629547032786321505730828430221664970324396138635251626409516168005427623435996308921691446181187406395310665404885739434832877428167407495370993511868756359970390117021823616749458620969857006263612082706715408157066575137281027022310927564910276759160520878304632411049364568754920967322982459184763427383790272448438018526977764941072715611580434690827459339991961414242741410599117426060556483763756314527611362658628383368621157993638020878537675545336789915694234433955666315070087213535470255670312004130725495834508357439653828936077080978550578912967907352780054935621561090795845172954115972927479877527738560008204118558930004777748727761853813510493840581861598652211605960308356405941821189714037868726219481498727603653616298856174822413033485438785324024751419417183012281078209729303537372804574372095228703622776363945290869806258422355148507571039619387449629866808188769662815778153079393179093143648340761738581819563002994422790754955061288818308430079648693232179158765918035565216157115402992120276155607873107937477466841528362987708699450152031231862594203085693838944657061346236704234026821102958954951197087076546186622796294536451620756509351018906023773821539532776208676978589731966330308893304665169436185078350641568336944530051437491311298834367265238595404904273455928723949525227184617404367854754610474377019768025576605881038077270707717942221977090385438585844095492116099852538903974655703943973086090930596963360767529964938414598185705963754561497355827813623833288906309004288017321424808663962671333528009232758350873059614118723781422101460198615747386855096896089189180441339558524822867541113212638793675567650340362970031930023397828465318547238244232028015189689660418822976000815437610652254270163595650875433851147123214227266605403581781469090806576468950587661997186505665475715792896
1189731495357231765085759326628007130763444687096510237472674821233261358180483686904488595472612039915115437484839309258897667381308687426274524698341565006080871634366004897522143251619531446845952345709482135847036647464830984784714280967845614138476044338404886122905286855313236158695999885790106357018120815363320780964323712757164290613406875202417365323950267880089067517372270610835647545755780793431622213451903817859630690311343850657539360649645193283178291767658965405285113556134369793281725888015908414675289832538063419234888599898980623114025121674472051872439321323198402942705341366951274739014593816898288994445173400364617928377138074411345791848573595077170437644191743889644885377684738322240608239079061399475675334739784016491742621485229014847672335977897158397334226349734811441653077758250988926030894789604676153104257260141806823027588003441951455327701598071281589597169413965608439504983171255062282026626200048042149808200002060993433681237623857880627479727072877482838438705048034164633337013385405998040701908662387301605018188262573723766279240798931717708807901740265407930976419648877869604017517691938687988088008944251258826969688364194133945780157844364946052713655454906327187428531895100278695119323496808703630436193927592692344820812834297364478686862064169042458555136532055050508189891866846863799917647547291371573500701015197559097453040033031520683518216494195636696077748110598284901343611469214274121810495077979275556645164983850062051066517084647369464036640569339464837172183352956873912042640003611618789278195710052094562761306703551840330110645101995435167626688669627763820604342480357906415354212732946756073006907088870496125050068156659252761297664065498347492661798824062312210409274584565587264846417650160123175874034726261957289081466197651553830744424709698634753627770356227126145052549125229448040149114795681359875968512808575244271871455454084894986155020794806980939215658055319165641681105966454159951476908583129721503298816585142073061480888021769818338417129396878371459575846052583142928447249703698548125295775920936450022651427249949580708203966082847550921891152133321048011973883636577825533325988852156325439335021315312134081390451021255363707903495916963125924201167877190108935255914539488216897117943269373608639074472792751116715127106396425081353553137213552890539802602978645319795100976432939091924660228878912900654210118287298298707382159717184569540515403029173307292454391789568674219640761451173600617752186991913366837033887201582071625868247133104513315097274713442728340606642890406496636104443217752811227470029162858093727701049646499540220983981932786613204254226464243689610107429923197638681545837561773535568984536053627234424277105760924864023781629665526314910906960488073475217005121136311870439925762508666032566213750416695719919674223210606724721373471234021613540712188239909701971943944347480314217903886317767779921539892177334344368907550318800833546852344370327089284147501640589448482001254237386680074457341910933774891959681016516069106149905572425810895586938833067490204900368624166301968553005687040285095450484840073528643826570403767157286512380255109954518857013476588189300004138849715883139866071547574816476727635116435462804401112711392529180570794193422686818353212799068972247697191474268157912195973794192807298886952361100880264258801320928040011928153970801130741339550003299015924978259936974358726286143980520112454369271114083747919007803406596321353417004068869443405472140675963640997405009225803505672726465095506267339268892424364561897661906898424186770491035344080399248327097911712881140170384182058601614758284200750183500329358499691864066590539660709069537381601887679046657759654588001937117771344698326428792622894338016112445533539447087462049763409147542099248815521395929388007711172017894897793706604273480985161028815458787911160979113422433557549170905442026397275695283207305331845419990749347810524006194197200591652147867193696254337864981603833146354201700628817947177518115217674352016511172347727727075220056177748218928597158346744541337107358427757919660562583883823262178961691787226118865632764934288772405859754877759869235530653929937901193611669007472354746360764601872442031379944139824366828698790212922996174192728625891720057612509349100482545964152046477925114446500732164109099345259799455690095576788686397487061948854749024863607921857834205793797188834779656273479112388585706424836379072355410286787018527401653934219888361061949671961055068686961468019035629749424086587195041004404915266476272761070511568387063401264136517237211409916458796347624949215904533937210937520465798300175408017538862312719042361037129338896586028150046596078872444365564480545689033575955702988396719744528212984142578483954005084264327730840985420021409069485412320805268520094146798876110414583170390473982488899228091818213934288295679717369943152460447027290669964066816
1415461031044954789001553027744951601348130711472388167234385748272366634240845253596025356476648415075475872961656126492389808579544737848881938296250873191743927793544913011050162651277957029846960211783242933521207545413484969856851851141288515163201482995389055097460622098635675003353929224278582935664416262572773308153277514346480313371988612629481483562438178928958867777850072198316174841251955590996672018645093640850803679630220367201383844866791449284737518262813123083439037243678440420897139923778278952770312318778329004894547065489077596835396017153603170050371302014762443872701111379554484309718662306883776010475348441493600491943479041271992920195331983064930106164727241438940877685164658948654886171641124473975626241632750150126655369981021293570066042305482486040883165635862835728637046058352403756085745691239473897891999085976345203704659967157427239535836507133656908815246080139195569461072006301590372954830738644391138016065344131131207604264053897440828904662047183234377547427287691941741535946510882990904477863185473798528388060457568927943633923928872681927502029572963130840854853739937076881035646179383055483433876051402037614424748902969018159186519811051545367967103767182819709135479019131683309330797374408197339831527239040715908112213095126770717606001288898889370710896248862361503869205214536908258196921765593065325392836332142594411134603475509366028145690306350601859295261296263331018682276317567749534571058772235567679556920240789109070521253987131031263902293034744367356932509952188828475362311316445284228640489421809263738423630931243024914587863928134719186104164660605356001591962778646378295413659770782646979236289062616442418071571039282551289348848274522893059561717860194034698241804887531275078109603637160495907579995366419636417028927573391670580796818526074226095014375189438579216071677540766085605604106123036669667434677723472675564458991671268414100801031453917736665947284956674884035306621286465183798693852599803324619865181856244422079233687294508536408521087418873908498202710597080474480249818858011490930518512713798803629101638716278578874145214429026186276602289012484526830076647356828764878327726719816428678904207944456894393185983090347045176886732326253912297649524439880403701430566761380359925558522718201954287517587367247510777678934664472548647787048306330770862370015525858005479756471499227244901142805749769564184753211967223226212964165678856604892416984915097422960534122333453876981279243565766391796311605149222628328255333061543877525846029404507128890053189442527544665141513571136187126874914601669750392486100507568442046831780631032540574077944274454228087639241736818505163759910365131990632947462993204585218122431992323864244947394390438656356424037471932484452186545692102503479070599953823165194211019696760575264426802848303031804305733532228050180286034175168918827460626042268658295140706915047189049492578996650494005882337071150004868956193406593184838633694068409823903437144417376039174235011053228846851424217955172902918651003610984108402650929359396305634313047088725113039076811940090109855578285937829164213576612822210347957745947331047482525346602542653176899809278808232796557531832150249769253600667902268029661700149632868541956266119528042486534014778779846981761033155007262730162675954520221887384710387051721829271917592295057169589539706361671082094809405871790468623234895914796464390019259167513771864832869036015645542195008456098615038348028400803005801944957156282746379539470250603755465358786281476086044567893715130635914946085361612372742732638037372287633897118303250036355897758209569010246051563429109255864938245524550200580218274314809738075022775651220374105227215906205292751918667060475328593225367793061070422108733800983855507591806413460964585595316359971179284283604731468668545484761381747591639736453419896449323486397030776397761202590467637505473390222249456724093238682557762781839530938233751281999608711356147835655195236666056355678841889862284014674059052995170220711404445012766642203314592371712594877968343265210232798135023299117318191770365123807086704381809759602260151612996896994294186084475619138121455294389585874237791634701296124550179672059485838256445846530599137662480841344376503989244633345016070887198120421435575726237189312161818021548006389501182393441712142044953072264016676799011624620312246468554654371544717355227740157629086739710675845209992133342035144038961065892653392182875622932670067798433934891709519877850794219491447988160171932331006495620280094149464379450153085406225081471879585894087916092141623752345112751067703166403681162331920291740847388957632311053342426152947324011627922225878539935022974616062774839110489080094174972841068102006645677499293769091362853719300958775222088670909723895414866464400756314470281962034276531512544009726174649399937581739718117982417360985958259468485436586733686659771030677664677905401522360041892481951454135360540917411098412286723830672712910603386748136348878056545746112142111116659985782398275627122449414307140749404884060753863706024281031485538666133332835597817514616331728118982180628823657668668099621799842011158020767772792912298768785614574416019320546196793486018677884550715870608004988829978148966980770136884353226949853654541655837029498017031085943660440466076019479435181045436897845351048788440102268677798257134774081674357195358847761226603653040273985441982221318087815835107317571211841215825606453348521097936413520295998260751040778703740366309871999114717441069182825782996299411623087415008910941303284182131584799816210728034255555687956785287887098941927737599159824398527573423117728252839768919145018117995597946282264946523741691180858441194373387098969530126834014923656627849129062189145572870212225909464530919531634090206371146321663797279805760028495288084848179380053931435604182517516600823936737919915974103591167638898871754018470172589234989397051893028574365288890303780239194622538215532212735555299397542845350629361560347195459286729561168235383428930828378887678197590624110372267338756668414899526138480866747114831414687579691636020586013635675559033488649721062244142787960404056961306176022981242840984825421797150393909713884990708008654327558025619074213270714252431515171638994505720144347502185848528129000055629703422695425047209518177577128511315492059613722366724615343968357332924191178041956753132941596322101250417068813977303498033940613791099720174786773844696734034010269139553878212387108508158622839733593634918975616613368243882808391509244806809337882965338701545504691589517650472239580754189547649790038026506707709763098148746524031013800531890876858227360501676161874661946431647929572555992967298553471152693471452480119897608173336753260124452510815333416409357029633265172614203663326409976153102467083379129588112837280711111346490898947808402062401228963194162711657422998429263579276515414000979053740662733816632981508535128518440258006782392288860903823207436820793041881907093791874917635829854808150640894907127600430185202301457398493533111918994100853753771956293430162566011361163168953462188010231819000213669780447856871248564377584509085888797883747538309181810700615032225563091016689474780253412571338625581817921061549352557588323659562675650563535186144754433556539747098322643609542486120512917463706713059064230762924353617972053492527119192658171851345957700772571841998176036269399889012480745075924980479390349332734102774400008120073461540540571051506971003904623484344762005126345905465893817895377928139596549936720100490013375956605889200767596688065961076003472005585890222594655010430123127351665316862663484785966446263740624564875351640780923703006868107440790271682936043304873579648989978571754898840789184480129570446991029504758616393106487523321312507454036808667210073602144290050619610614738139543285649346986393213102456863793665512533655931941790537619020604730601443181250662019687491711547360597117856977240817110039737153355212454745907787131179578656470567535050192702347739653312290522505871612897990429961857550031033665725647987982751868407294730437319505335782425290324427994308374960806684435416445907817107168298342945182985594111281499472495749501642418042734681158560450241309279063816746067016274795461832774699007774423895748677615395848493765672271957278664546343161609126810028254214659633625223934508931691728584028342356669332635458079957147833789501696835781748234884919093574276330354577841975249603899105407104895787598263630679206627796433754045597409176502438867600537016879169914474754840024311922169647388379952802523847080102439285112565751677726373201688403254466789070713575214256192452449029110040537994627424532403620179880056518721219108771374073638118719073211367295514376708596537294204544099903590754371656178656960170217675832153268164591674004500239073743502648099105624548587493544825479270589742494495181223722329693345468639306990523118995640567042531369577131113159027381808071346991604513906450398219426300899204662435492578485666553974492723173859777485412927016068341515517437115137050372750279278548332799193799400154166442801427310076537020119936073495221974791939759846168942055397357348278178050441024490005893818256958665388971201322931680573846084525016332224646866617490832496084991690171583029352609836490908113464668343829985351590552945284372573978295485097950893072423518605982085487154470155025269025854044646496572448495225343096261896378931482883286657508859228868487844184479087538453974144187004884366561256723404772190847586008543961349071131191708943295337664384184532774661503245910257451923515607711559705478132556040197663414911885143697985464807309297002910250505302287769412337441199360424519160716552890882816796378296881641827981453035207233752063518782778493743827708109913493162932182427627261046280168269958077541122668104633712377856
2003529930406846464979072351560255750447825475569751419265016973710894059556311453089506130880933348101038234342907263181822949382118812668869506364761547029165041871916351587966347219442930927982084309104855990570159318959639524863372367203002916969592156108764948889254090805911457037675208500206671563702366126359747144807111774815880914135742720967190151836282560618091458852699826141425030123391108273603843767876449043205960379124490905707560314035076162562476031863793126484703743782954975613770981604614413308692118102485959152380195331030292162800160568670105651646750568038741529463842244845292537361442533614373729088303794601274724958414864915930647252015155693922628180691650796381064132275307267143998158508811292628901134237782705567421080070065283963322155077831214288551675554073345107213112427399562982719769150054883905223804357045848197956393157853510018992000024141963706813559840464039472194016069517690156119726982337890017641517190051133466306898140219383481435426387306539552969691388024158161859561100640362119796101859534802787167200122604642492385111393400464351623867567078745259464670903886547743483217897012764455529409092021959585751622973333576159552394885297579954028471943529913543763705986928913757153740001986394332464890052543106629669165243419174691389632476560289415199775477703138064781342309596190960654591300890188887588084733625956065444888501447335706058817090162108499714529568344061979690565469813631162053579369791403236328496233046421066136200220175787851857409162050489711781820400187282939943446186224328009837323764931814789848119452713007440220765680910376203999203492023906626264491909167985461515778839060397720759279378852241294301017458086862263369284725851403039615558564330385450688652213114813638408384778263790459607186876728509763471271988890680478243230394718650525660978150729861141430305816927924971409161059417185352275887504477592218301158780701975535722241400019548102005661773589781499532325208589753463547007786690406429016763808161740550405117670093673202804549339027992491867306539931640720492238474815280619166900933805732120816350707634351669869625020969023162859350071874190579161241536897514808261904847946571736601005892476655445840838334790544144817684255327207315586349347605137419779525190365032198020108764738368682531025183377533908861426184800374008082238104076468878471647552945326947661700424461063311238021134588694532200116564076327023074292426051582811070387018345324567635625951430032037432740780879056283663406965030844225855967039271869461158513793386475699748568670079823960604393478850861649260304945061743412365828352144806726676841807083754862211408236579802961200027441324438432402331257403545019352428776430880232850855886089962774458164680857875115807014743763867976955049991643998284357290415378143438847303484261903388841494031366139854257635577105335580206622185577060082551288893332226436281984838613239570676191409638533832374343758830859233722284644287996245605476932428998432652677378373173288063210753211238680604674708428051166488709084770291208161104912555598322366244868556651402684641209694982590565519216188104341226838996283071654868525536914850299539675503954938371853405900096187489473992880432496373165753803673586710175783994818471798498246948060532081996066183434012476096639519778021441199752546704080608499344178256285092726523709898651539462193004607364507926212975917698293892367015170992091531567814439791248475706237804600009918293321306880570046591458387208088016887445835557926258465124763087148566313528934166117490617526671492672176128330845273936469244582892571388877839056300482483799839692029222215486145902373478222682521639957440801727144146179559226175083889020074169926238300282286249284182671243405751424188569994272331606998712986882771820617214453142574944015066139463169197629181506579745526236191224848063890033669074365989226349564114665503062965960199720636202603521917776740668777463549375318899587866282125469797102065747232721372918144666659421872003474508942830911535189271114287108376159222380276605327823351661555149369375778466670145717971901227117812780450240026384758788339396817962950690798817121690686929538248529830023476068454114178139110648560236549754227497231007615131870024053910510913817843721791422528587432098524957878034683703337818421444017138688124249984418618129271198533315382567321870421530631197748535214670955334626336610864667332292409879849256691109516143618601548909740241913509623043612196128165950518666022030715613684732364660868905014263913906515063908199378852318365059897299125404479443425166774299659811849233151555272883274028352688442408752811283289980625912673699546247341543333500147231430612750390307397135252069338173843322950701049061867539433130784798015655130384758155685236218010419650255596181934986315913233036096461905990236112681196023441843363334594927631946101716652913823717182394299216272538461776065694542297877071383198817036964588689811863210976900355735884624464835706291453052757101278872027965364479724025405448132748391794128826423835171949197209797145936887537198729130831738033911016128547415377377715951728084111627597186384924222802373441925469991983672192131287035585307966942713416391033882754318613643490100943197409047331014476299861725424423355612237435715825933382804986243892498222780715951762757847109475119033482241412025182688713728193104253478196128440176479531505057110722974314569915223451643121848657575786528197564843508958384722923534559464521215831657751471298708225909292655638836651120681943836904116252668710044560243704200663709001941185557160472044643696932850060046928140507119069261393993902735534545567470314903886022024639948260501762431969305640666366626090207048887438898907498152865444381862917382901051820869936382661868303915273264581286782806601337500096593364625146091723180312930347877421234679118454791311109897794648216922505629399956793483801699157439700537542134485874586856047286751065423341893839099110586465595113646061055156838541217459801807133163612573079611168343863767667307354583494789788316330129240800836356825939157113130978030516441716682518346573675934198084958947940983292500086389778563494693212473426103062713745077286156922596628573857905533240641849018451328284632709269753830867308409142247659474439973348130810986399417379789657010687026734161967196591599588537834822988270125605842365589539690306474965584147981310997157542043256395776070485100881578291408250777738559790129129407309462785944505859412273194812753225152324801503466519048228961406646890305102510916237770448486230229488966711380555607956620732449373374027836767300203011615227008921843515652121379215748206859356920790214502277133099987729459596952817044582181956080965811702798062669891205061560742325686842271306295009864421853470810407128917646906550836129916694778023822502789667843489199409657361704586786242554006942516693979292624714524945408858422726153755260071904336329196375777502176005195800693847635789586878489536872122898557806826518192703632099480155874455575175312736471421295536494084385586615208012115079075068553344489258693283859653013272046970694571546959353658571788894862333292465202735853188533370948455403336565356988172582528918056635488363743793348411845580168331827676834646291995605513470039147876808640322629616641560667508153710646723108461964247537490553744805318226002710216400980584497526023035640038083472053149941172965736785066421400842696497103241919182121213206939769143923368374709228267738708132236680086924703491586840991153098315412063566123187504305467536983230827966457417620806593177265685841681837966106144963432544111706941700222657817358351259821080769101961052229263879745049019254311900620561906577452416191913187533984049343976823310298465893318373015809592522829206820862230332585280119266496314441316442773003237792274712330696417149945532261035475145631290668854345426869788447742981777493710117614651624183616680254815296335308490849943006763654806102940094693750609845588558043970485914449584445079978497045583550685408745163316464118083123079704389849190506587586425810738422420591191941674182490452700288263983057950057341711487031187142834184499153456702915280104485145176055306971441761368582384102787659324662689978418319620312262421177391477208004883578333569204533935953254564897028558589735505751235129536540502842081022785248776603574246366673148680279486052445782673626230852978265057114624846595914210278122788941448163994973881884622768244851622051817076722169863265701654316919742651230041757329904473537672536845792754365412826553581858046840069367718605020070547247548400805530424951854495267247261347318174742180078574693465447136036975884118029408039616746946288540679172138601225419503819704538417268006398820656328792839582708510919958839448297775647152026132871089526163417707151642899487953564854553553148754978134009964854498635824847690590033116961303766127923464323129706628411307427046202032013368350385425360313636763575212604707425311209233402837482949453104727418969287275572027615272268283376741393425652653283068469997597097750005560889932685025049212884068274139881631540456490350775871680074055685724021758685439053228133770707415830756269628316955687424060527726485853050611356384851965918968649596335568216975437621430778665934730450164822432964891270709898076676625671517269062058815549666382573829274182082278960684488222983394816670984039024283514306813767253460126007269262969468672750794346190439996618979611928750519442356402644303271737341591281496056168353988188569484045342311424613559925272330064881627466723523751234311893442118885085079358163848994487544756331689213869675574302737953785262542329024881047181939037220666894702204258836895840939998453560948869946833852579675161882159410981624918741813364726965123980677561947912557957446471427868624053750576104204267149366084980238274680575982591331006919941904651906531171908926077949119217946407355129633864523035673345588033313197080365457184791550432654899559705862888286866606618021882248602144999973122164138170653480175510438406624412822803616648904257377640956326482825258407669045608439490325290526337532316509087681336614242398309530806549661879381949120033919489494065132398816642080088395554942237096734840072642705701165089075196155370186264797456381187856175457113400473810762763014953309735174180655479112660938034311378532532883533352024934365979129341284854970946826329075830193072665337782559314331110963848053940859283988907796210479847919686876539987477095912788727475874439806779824968278272200926449944559380414608770641941810440758269805688038949654616587983904660587645341810289907194293021774519976104495043196841503455514044820928933378657363052830619990077748726922998608279053171691876578860908941817057993404890218441559791092676862796597583952483926734883634745651687016166240642424241228961118010615682342539392180052483454723779219911228595914191877491793823340010078128326506710281781396029120914720100947878752551263372884222353869490067927664511634758101193875319657242121476038284774774571704578610417385747911301908583877890152334343013005282797038580359815182929600305682612091950943737325454171056383887047528950563961029843641360935641632589408137981511693338619797339821670761004607980096016024823096943043806956620123213650140549586250615282588033022908385812478469315720323233601899469437647726721879376826431828382603564520699468630216048874528424363593558622333506235945002890558581611275341783750455936126130852640828051213873177490200249552738734585956405160830583053770732533971552620444705429573538361113677523169972740292941674204423248113875075631319078272188864053374694213842169928862940479635305150560788126366206497231257579019598873041195626227343728900516561111094111745277965482790471250581999077498063821559376885546498822938985408291325129076478386322494781016753491693489288104203015610283386143827378160946341335383578340765314321417150655877547820252454780657301342277470616744241968952613164274104695474621483756288299771804186785084546965619150908695874251184435837306590951460980451247409411373899927822492983367796011015387096129749705566301637307202750734759922943792393824427421186158236161317886392553095117188421298508307238259729144142251579403883011359083331651858234967221259621812507058113759495525022747274674369887131926670769299199084467161228738858457584622726573330753735572823951616964175198675012681745429323738294143824814377139861906716657572945807804820559511881687188075212971832636442155336787751274766940790117057509819575084563565217389544179875074523854455200133572033332379895074393905312918212255259833790909463630202185353848854825062897715616963860712382771725621313460549401770413581731931763370136332252819127547191443450920711848838366818174263342949611870091503049165339464763717766439120798347494627397822171502090670190302469762151278521956142070806461631373236517853976292092025500288962012970141379640038055734949269073535145961208674796547733692958773628635660143767964038430796864138563447801328261284589184898528048048844180821639423974014362903481665458114454366460032490618763039502356402044530748210241366895196644221339200757479128683805175150634662569391937740283512075666260829890491877287833852178522792045771846965855278790447562192663992008409302075673925363735628390829817577902153202106409617373283598494066652141198183810884515459772895164572131897797907491941013148368544639616904607030107596818933741217575988165127000761262789169510406315857637534787420070222051070891257612361658026806815858499852631465878086616800733264676830206391697203064894405628195406190685242003053463156621891327309069687353181641094514288036605995220248248886711554429104721929134248346438705368508648749099178812670565665387191049721820042371492740164460943459845392536706132210616533085662021188968234005752675486101476993688738209584552211571923479686888160853631615862880150395949418529489227074410828207169303387818084936204018255222271010985653444817207470756019245915599431072949578197878590578940052540122867517142511184356437184053563024181225473266093302710397968091064939272722683035410467632591355279683837705019855234621222858410557119921731717969804339317707750755627056047831779844447637560254637033369247114220815519973691371975163241302748712199863404548248524570118553342675264715978310731245663429805221455494156252724028915333354349341217862037007260315279870771872491234494477147909520734761385425485311552773301030342476835865496093722324007154518129732692081058424090557725645803681462234493189708138897143299831347617799679712453782310703739151473878692119187566700319321281896803322696594459286210607438827416919465162267632540665070881071030394178860564893769816734159025925194611823642945652669372203155504700213598846292758012527715422016629954863130324912311029627923723899766416803497141226527931907636326136814145516376656559839788489381733082668779901962886932296597379951931621187215455287394170243669885593888793316744533363119541518404088283815193421234122820030950313341050704760159987985472529190665222479319715440331794836837373220821885773341623856441380700541913530245943913502554531886454796252260251762928374330465102361057583514550739443339610216229675461415781127197001738611494279501411253280621254775810512972088465263158094806633687670147310733540717710876615935856814098212967730759197382973441445256688770855324570888958320993823432102718224114763732791357568615421252849657903335093152776925505845644010552192644505312073756287744998163646332835816140330175813967359427327690448920361880386754955751806890058532927201493923500525845146706982628548257883267398735220457228239290207144822219885587102896991935873074277815159757620764023951243860202032596596250212578349957710085626386118233813318509014686577064010676278617583772772895892746039403930337271873850536912957126715066896688493880885142943609962012966759079225082275313812849851526902931700263136328942095797577959327635531162066753488651317323872438748063513314512644889967589828812925480076425186586490241111127301357197181381602583178506932244007998656635371544088454866393181708395735780799059730839094881804060935959190907473960904410150516321749681412100765719177483767355751000733616922386537429079457803200042337452807566153042929014495780629634138383551783599764708851349004856973697965238695845994595592090709058956891451141412684505462117945026611750166928260250950770778211950432617383223562437601776799362796099368975191394965033358507155418436456852616674243688920371037495328425927131610537834980740739158633817967658425258036737206469351248652238481341663808061505704829059890696451936440018597120425723007316410009916987524260377362177763430621616744884930810929901009517974541564251204822086714586849255132444266777127863728211331536224301091824391243380214046242223349153559516890816288487989988273630445372432174280215755777967021666317047969728172483392841015642274507271779269399929740308072770395013581545142494049026536105825409373114653104943382484379718606937214444600826798002471229489405761853892203425608302697052876621377373594394224114707074072902725461307358541745691419446487624357682397065703184168467540733466346293673983620004041400714054277632480132742202685393698869787607009590048684650626771363070979821006557285101306601010780633743344773073478653881742681230743766066643312775356466578603715192922768440458273283243808212841218776132042460464900801054731426749260826922155637405486241717031027919996942645620955619816454547662045022411449404749349832206807191352767986747813458203859570413466177937228534940031631599544093684089572533438702986717829770373332806801764639502090023941931499115009105276821119510999063166150311585582835582607179410052528583611369961303442790173811787412061288182062023263849861515656451230047792967563618345768105043341769543067538041113928553792529241347339481050532025708728186307291158911335942014761872664291564036371927602306283840650425441742335464549987055318726887926424102147363698625463747159744354943443899730051742525110877357886390946812096673428152585919924857640488055071329814299359911463239919113959926752576359007446572810191805841807342227734721397723218231771716916400108826112549093361186780575722391018186168549108500885272274374212086524852372456248697662245384819298671129452945515497030585919307198497105414181636968976131126744027009648667545934567059936995464500558921628047976365686133316563907395703272034389175415267500915011198856872708848195531676931681272892143031376818016445477367518353497857924276463354162433601125960252109501612264110346083465648235597934274056868849224458745493776752120324703803035491157544831295275891939893680876327685438769557694881422844311998595700727521393176837831770339130423060958999137314684569010422095161967070506420256733873446115655276175992727151877660010238944760539789516945708802728736225121076224091810066700883474737605156285533943565843756271241244457651663064085939507947550920463932245202535463634444791755661725962187199279186575490857852950012840229035061514937310107009446151011613712423761426722541732055959202782129325725947146417224977321316381845326555279604270541871496236585252458648933254145062642337885651464670604298564781968461593663288954299780722542264790400616019751975007460545150060291806638271497016110987951336633771378434416194053121445291855180136575558667615019373029691932076120009255065081583275508499340768797252369987023567931026804136745718956641431852679054717169962990363015545645090044802789055701968328313630718997699153166679208958768572290600915472919636381673596673959975710326015571920237348580521128117458610065152598883843114511894880552129145775699146577530041384717124577965048175856395072895337539755822087777506072339445587895905719156736
4014132182036063039166060606038876734377151027041418995582553806466901368729258341160522025816124993789993695822370688304664951507188547123423222707028462645744504495099771236039772731479526109211090004311794404240339124784547422345216014091269896242057728789320308388075464535693734707938810361158822889129810698160881991361391615727898487922111925954357866231992015566112008236187570239498407927683927919775842288663953197267327615522763990546974302225808428095414868354189887477547130070092514353241631780155439824875566969089406890190453301219401944755635782011004657947505574085800780957240830989405542027471697598070708223889360327246648360250590423193485405740024818660966396088809547901243541112991057294564493176030196570968415627054119386294217737236705829632322635830102002662416478438021760275473366229548390019965427781460843016919698486005106981924856484135189126309511355753691653992328843645226535251273257107207655144521985279194687670618137133365061767680692604326802596487142424879424052336554494321865741845750005414127789039482660494669119722147859831209117695710217533300873521325189619906400613838224465802145638763375814734209939839362619843254361854200935168819098750162527330741262315680533040564205957680744473526587521186729552763984974171967043329744088725132917968485124011517373906219196506452837501009780475231936674958303684325425540235711585231786086215390697180427689333406191129678187071298761090238199532583274628668255539551286659571639463666278761674873780891713295358304373630381316642367910442138797034280478845037624720681884127045266971966132114983342843060225291800998287388520216891035412250834037533732042360063710863391716379631799881707736609524346067431213693134871211594265410252790425524534272056805082763168832785380055839924774513993312872314696842207051788925531326197927999177991421171128255733182296142518727575876101593203121573373469932821398066544389206962941141912977252572232867135437096743144409526348896093972589490165188215640760729511639332407683269230949843736635138894075691687022126305813977840524433219874210358515920200231755056725620223215331388220131477362331119420435167846194881185458654851583930079821808678398456988892271572381964480265039471649297678899125791655447634896125360321191630695480343247812206582942215664613839158662648407403549691008421277331933733296802727847751289740183232533826912134138874411587537072148434489199610825499112354149659416715243020346182605006236549464809827596184003972133641052969706618571561687011704990178047065972378213930473698742510372763853852826260631953919612454996794566066156884728715668680906027006860236291939118231676592907769781022362456768586214151241004159221927524018370878848684658164187227120264996078166702143742949273872723291189478841760522549189798371468818876307021543260191247813116898406629847737387213350101952387350770822381283290336805039909429093246363236388892554180007123150803933422140214159097502754441156418937483080165530589247735955574364496286938362823593135322482901755392013176188071632369230705598053524807232330332244850755770773086552102546479856865241592742983108951587550272842151337427500985790733257446974778514717423322164753741064203343873911505959859894843401346764198084574888570021582049897987375412534723203744213413544913921005682952291246029696644695148625577845540165449161494518865963573605166219797587702952678929547091472170854505976772092211830161122361692991516152705668722970188580451007767844433986239967364518420942072166146801482167949547691800161112961158906423261625463823863487993193561114681790843138704920497219883815661976658831769131758793119824969001836745498182398838340648927301879152764226110118671378678796232654817311851742957558547201689875931549991515035340972187105911864648544236836260504847533198372681672129543186083369951735634161845926675644115399774010625408990786348280910523027081645203785639678961312201192456238696520344039542130839856702031559650739069883838674250667916543006817208656138057336626345130349434110433864479062478550035029469824739027938916240527879813120208815523515779675977148726193656755629019016267380677895569115426761646230900288879599082370222089623761745116821667630909113297053145987339042926308730773608693851954656779816437471443388320939306664827788631871296953668897075687483930099227986839760048957379131637875344314107802027446160539266234293408604986954900983474482565227972953603366716227879694033469601687058461710870334469254188547991362387356445617844755230507550536963112039082535792838287188699545369099960024542135080095877346531176357217501893061794845596185695372386978011683132185583747282044356978640614686144305148838937966059778731252315662517317356452764543529368758499128496173025949468596830641128630126982569680227673151994682929383128359400800730647033009742194969397867732106855292305985907659610050250864697979637508638430748544527754238950354389404571972113035427133452477480922100499433629582296479031248198113154187002474014136277395295167051445941127918696437363960957340926932413952086407326427815908876047942365777403903909229226252129092284179163733102953047969448532689603563619318243124090419945712029201139189832010659468563854681499997644274767030324988966550143346180490169487404817781232236796354488293240003979784459018374622874519797289160250924013077191644744667079831907446016014675047387387849879634538532924759700314058964008310063071179192227444805709827095742202129386405849272260737870769456295985734252291272707948263365184386038334687999156723323731035874348731014319014672359686757028278160882218782815645825735630974163177508691319192847566774051552945532503104644040097190905665204611410283248812046204637327671846235824873113373034123535851718551400885999338937594799593962005964839702111477601581045672064416926126176740128698981250198894737842534454809505075861201705184249049902802765451776105523827736706727962349617080352862427145533868638674647621635903522376531004186274084864319795690579816037144710982537578574501401964606734516938171383983632188696122779521156237080602734546665241462878930312520760735314268127853512114206413184372047800360825636519029106214813659202770513059287824118965441521216286434750082511096818238637831486072817169107328121066318430424141551101448255356027051112429885809472561769503290478901969977310426678486943015192324838295069433027716466240050601698187879827464980534758753486354416047446209361934916329537938495521099464116817873898064615746425334307993580485350546795688460002265981773421773567346574241551369109003764817123662223617694812212158169860165209587231204816186164040908062427057433374354333512098587837751590927585021517620279297240368736722183517705003024583189908598536152163526107431442854174391559901463745686622770317539213510723170810141972866483922634430545450911424091655970619224266853425281308205026202294271525889978948848786451889351657070521050683440519622278045532953343858160953573822408291017268710562303350845615817951524349026567175895021778929616302540029650084377784855751579600269157963675920313876164533388292536102158206357715729658280040433132612140272022103947915774047681394936859812993227042855516834600928710152852398138594784429182314097140687415536884945999890119934480542332095414567022677110183124088577034207184035223269746212524708320333384846963664614426420999338980357883890451385386203823384441967107049845111443729321714754258385305719682104264623984894166226966604533114583914334886768314527778332346443260144764225200780823816350140331007279882497628037111262945933483440250886848466844285259801201047044164028789036672797521410884417114481113064890410508926775148007503192306944872367174516769239565732199135780783025193750190215687733235002528390196251747313108762067901840785138565711849300657314346796967787701918147432435368880447718801737606561365196160911276454420767194347998793760385338214424990342842862610858256411298097379924586198393594857153193649535420869601733255913603748735108955767125860412798934582791136590805835437006214619180833467538076124961206622745210375182783108944606061279552864482480673711218660245187076021181567794358666390037640555141608240333854073338043534429832182940110490657817714431406115312869550131360990262744133923687718517425890292711139888287121121169572479514569137506538532660065609376222907442241190395156802180983994401113294687869686532511825311652162444723355095362226595495851115378621729550619060175934795677858252326354523788281947715246424141202934670245380209752183345079219497823320697779797568188823897392439665907151941584911252454491393065641220012500307075134569170546657950628513232706438968999472833971666066853821669755513289360283904818899339170381382830023193685137019576555367344397397500345907203142598676169121614999422779372579464626191089018971078076898761801244103195495210458801583769766231991406931405001468005925383399201077190857244032943731898662908108327191861690909470351138983031879129637914513608632467782348730881613284583111745366299071443307263549292599904843844855174554634025101202206924639936318383190055108648734604528810643754584159097664780111072742553271812943448210019770733791851140909523998843075407964209315192369659421520580000397483091476492606940468048281634901478780014425466903183012195313405040260181937874135100391211424280568522832217343218449566212577839857429517773391325234970123982710656842132962072713670531585628640580476302740569446074057129250670136192085185275185779311649428558491838627836713048047320570250150645544212994809623734780024674994219129671408354527116135589032292260877830511009195805857592537799609204241901732311725470142447799886353484515819626358794478314752255102283719737644618375299683266816023955504186817402439459985266551465059469043798811380521824185863846994738759453069525025684128069242698184909729161080931680706454988296074915640851308149520496483541940056350562485344038487968200442973606174886536585643269441491537565521167279510356916025121335081257328911536240083436352408573331163048584890056692764867498736724967285937871063837364337621755449191928472249494309408397935142908533639574359432700608342105925301578912251377855985573358344672634864198752515613452910223366635904982715715461770104747504089416677887790075318553635109801839887000776413486686719326133277853012682629220681412084427939358117833274566986711663155710308663779187708049545831766986000316809626987410586036153344353518702949856385414013504665443220335274655069539917576038076933068673399231542660016785346281934674190287133321393865039012585301516288471252445626727183613790287375264863440341382950289536738341081070823467072641662638160920689079423415565415544093523000909042459655499558347303116788318768790020786196449106937448960496335000065625994308769918218117532397756112154058514439232714731547625428029301926759401192751887850518150985316736590769370275349296845281095433853324460820026096959856238442741949740512644749005458158427886614712986993755017155932619085888623668510044429325611225280467072107378374969832028261176123924402988656792912890438942424881406263936739195642564927755818346129962830564952862008315127847743704432224501586614191621134121414084766616850004752855737790449381521488307878119389635677152517700443598625113019383248895522656924874676078083365846741835696039642087136059892798010612944067324441233534104611388434095357600417585086903206201518724858670506731668441063355877998945850297008155748109516501339708308398677435237718856664102366195317472530863499414804202191902618201135135419339881515962422512857025124530919065190851292486672103057931987171154027738347902521013817932635496408110387972031749255469418772947038989633740538053684839862500994756773716881213362483372906037927970516028503893249938370998090355966343379594543393857619439969073876416575475031357342100897959643626247141091139113346430912218421332426397617431021590033646367648111866473215333561424765576016929343958665819514782393467237369306387879965393961506126345841089840597707284135690717573248058222433716097790974306041013186967353434100413872393337984581403537366546678381981115735252874653295049715936996306827362887519103246761552934739345207395509749551977003395029962758237343028420333856980432072114541711649988833361686311038725610601607452260800276604537588086629832393662151908732471530331390503598243861105289349754646633675165958622507210044676919618551144191211291948005031985175482748170959930115956149816059343618725964259144545635518370891105083518566650346326164332880670949594501221008865226782171403017037306385834766757756908497060699036637472403967682742063471456284052859300793318493890600834155472228151930479075648450763095792020687833295869010571410169415467895893923766234397059568374301410196033568385224669534494422044604529886447812303243369815606920089024378304637233100419682131167147683138237103836396146863068481497571075313218664281831894773101811973809037521256466043980717523127265465567042185267821091598837152282635562943239683700658828560977961472165705594943816999433425426766733718476472367893845215684320740612582945401570535852174911754718954037420050461252619221549665725031769139664740112317369998809909948202566349256451101570496666251245369829370047942181073261802638686307812145729359707078844999721963284844362680955941477223282704692602722551714620971927977590786466216404705670985017117826604611455959782225613566586016236155091134079620941423490044733734944396550570831455615770556197519856885379072617046894057442615170419480314764677588198245805514991110708278940489929815984675675250952479312601790676807548216870577371326887521518616329453883171165575520660362288398780799764281234277833869649816926108430437360963685319738454724877162529834153355494976546785024962619724067057664631770594248598642761728500729576216980475739090008569984843050074693176669966849426076793075347697354084406617389968364623754360445986017960849084658844161935174736658188484708144038671414964986538071697177283348104836430965020294109632015437996877591862615018792846939194762191455847664016969317280909644729562757288803470163283362836582801704682422551223524506336412190781232068031185091769869744931436653174905514147761661795615257091424626870921426153772807334619515077604027952734976964435745649982854244359572650204443485611522379011929767598037111863487441562070878839417195534319655201269956226091676001307080771515175957150512405356532822536302497166554993412071224143949961699966003179640440528339832860296716347191119277100624886651043402734594260451659728157939427399723866960225757348939016841178417724932792842710235644959285595810814178897596521733762549230792922096541997316437207126341990215143563343225996579081761345505417456543760556902238498414192686706350887441417030898964773106560825204937573907394584813121610631479220095886125576521265559115853565408661656648710665753742826354099309715810718586688386166739695360105153732730810856363115705196930450948164992978356889200164509197423055011582422464983146526410945082677782335972739021354538247235307628778236390018163762505814714880859010783891710645715508502642865818878885105510899076614850325368534907284181813661027044834773040190276150126054961895874190384311374655847147296725596621786811776219607455852197837077254961182259087277750214673688771038775480187275571252382373713598978744791329047432403983932004244483211652502611752940211118201058337234584034864574227810200730590127781709506138200593936779546014630761206017320716612138785694203059538064755958660196119388582888366460140254991004358012838108699804776204688584225575662975980043946364442061016378143365057147725242731478437916914945007628740732858651528582124707039037955659921200984589653967290356671822766500551504147096062559238712097470401466568328488127128944142333691791644053321208072117162615223122987279758153437976713979494564324839309455758207968141493094108989459309112061797912505115997599779734316634642787662861730837554573462339745191748434848718212564814399088890050558563286079628077673083829772294639480998765110246644620219192425600828996562323995526174157897858707146118489491816556359795756236851923837194287030905959361479970840400143320428366606885025067331691738040202055787012703056951782823888375506208988341157408228503942543079543770940443923976231093230318814331402474723753800935580269149469917368514574090096348578363321547574189770258467807477633852131070551000640054998215176863242889754758529656993218524750841275204785416446508661614647568979170309980255454798241426276915609241289998999441374750551762499989889776202922935559056865380485853520295522188744880920554250457015419395009003698380752089875202158738238319050876794599845412793967035367858531763921137171562917168105470402413558860177750713812621593283779321401400233370444782744252825896616155710291863815870331853585385758668507067576817342453134743338486664001732164359176960876199706001844975434858293165037162767244454671714475115808657642963552747840387966052546961337581079959622912645265343467678764190406571477253426299736077244260618237119651858084687036618695794075478789311587417059711343431227303350973799387878820501939565505465074594025436036966165326241011378797146265125327338463869344259066761066708758833017239984197008948737740667243072361128617406867859023220628124060993563955305881007343422807152945373290736658535872277975738221441943388251274447917399816259299528136009365562772905944119535864755915645636481389721332489402998780438636631270258475271207701504449959513826917567118882270665697324654384539229093273515371145657367473351701477176058287971525132123630231302192818809015653271446364720664677553548552591939892622312036148679132676222630440973623016172572796318062245769564016065503400855132972119620506711200765168117939786675101936469765690013861859011813740916497238562803149602498800743366839594464102222803276025264020852530869628324622203235960629552097202049867177844618660210541628779338833715233540816837614040165594121213747804550323106645804853319343703095281130779452288398474053206030303124075718699502769043354788987366303158458622216238559388852586287397244823587628905287478185055937738386553460517964970178405297818574001552698590403422567780250925573684712440051738280186677970204727172629630250807588480950618513205146384314670376008562962889264152845320978121184751157549620353870769614740394880734501759269207166413065178816343866013426191134590442802370423292149028056236608844109615255164543338823924604724010260098700884832237411150539327434122637626938602730735567837232664475826678490431572548909373831937962691028377457710962109223347737888551476979770134673578428196780307228525530719932119728519681020056415065579357762138062341940715505658351032187943326481465363443863803288110372057213933086575266979834114281470948733317432538033803753683322267351759794373856980502790076050489035615460200962483659715876640167205197093480143268848588887523572869448200676376187943746855377974486709054344584706188400881524241541391111150657380625806644492114953522924820276748689110132199293929664946288230813053178306354648926761437335954106994213287933139740635598749442553854302259023579655742203516047488166774689447569867936622820611204174605992950298769916077128982710510288196427378103368565164358036180004462488782696183306161348948232055760805161621292732118579698583726535923141524929496406363413864269242809640344703501492582452690207020817139987977758629694318006602700285855738200063021223919333172965177631394627287558397039465292625282839307496623059783681956962283709629525150084752829826413171823267961454311822679808362195466731957355942359238281197674840013554610317457007073447347555573247289794213606244753195388483334301123060067869123641067367400662684880401594438208468350024707708829070222659764366228295547652120614526659158515804151065386675507811098963031107165735090412267764271530335591618530735740446073375852583244380837916461995678501069928298475649775376625135157948147430845819708807270087123568447382546399604201642056708879576050534869014874330086255052538159839286402227545108717169973795449513568196146492612661017844433986693504400636793705628179607690520396302365359326058011744993452664586783672366992937395096218263188368979803013281224849637296442141604562461162491487916232984232571386163189599947711025232461545410107189286669897464249267488386815630421031187491074169125825170807382257645180821743080058968318717203308067308430306008719215999449549275186652855329514480288672236238137561214814466389304839692226820467175658389499720385721411105875447062795842543723282133190827930422906881951079517628186936042926475582499991844669144045926786553864972953423185548601733151216289576168751452442756075554834451826997459883888370003537652029989534356334645187913576065296792644524200824584132664698775130541572175057149540461321494098316209986410309373087546472581337568958627121819007771825027522508287259305852577876388306401427150201948576417401656477372167355512124351307696967324497195496192739279215969258543281938589966654331010867898501990694317165024492189477378166203114027287886864811921598100732112244472230470554383307370299418471731149022017754359690346403013127778918768231606030509998499642148046196935810238064412531126176156308402893998480786811137872744116447605557524431862992124455086194694346958998213418949062771097472347167350139668646981167262664987259407795730228841737389025744020061321542917633986016330050107026361576525861361343063325677323542710062288653622008100246365528887395634280352106633520268540358179909328076856361340557918726583703265608526215873247374438128953980193021781235856634443870531703734512403790773617204413172216046274108987822929386890747041850246872279320141016139210667033177852792102956417783343165185457063261014219019520235689446075505595529429106951281454091113243566908586495716555268930016123745659467401133529140474108004345232048212474448247768159489601013130975476694099832314918715403248611252016649922870384793692622229702610106986985893119003277409080679262329717165143031612328332615183711602787127836569009303906567838743875732384487702190656722551392684192185152900208659556329503223694369365936502102766611755792835591109286320654357979406231288936371342647544766199694127510725974843267121938848266208727537109341946427283767460259820749824899325101096764583474599804744627964518125872088655466147810233418924212562023675468901778045807940836323107298408868655304836421435151585464449138540150345465287526413345767386761993053273799594296798277380929249849357227606453580704529153148918715666037355647559732620792511746446385929050322349254324570411407740388768669446180113069843465434315221996105127890401599662006197214161055084961947355022344753536314097871510439160892202614670191975302380638766097843290952324948930552090545562940368121762216843274341603413427737554334409079094656810056060243733369584954911218729530084716394133205309124662246096755881559721492929181900212738251392916283098708192082807933814206925026586812173246109020886948080388323334532916853674293858738746575892137769457705381830230677106564567006150503545480458411511998028515408053429026809142780692764408220248254464937173642843127962447327355407015168381094802887654612384524560495973919708044119957466092904213848780764642494233732293224036130949318033995088929763380074431871523703593426236859383367085483569982629686960150819843615701884209216590737774519614344445579276002239274776296217803220678929087832467329479669456393936850538058021066265509788330120339443730684041783493433403368660115853967277552792249908020009855627048227361655544622682459131193333057521100975332158433023062932561369835916252724835530963063956451775313220617962849596175095470955736265891458562873902748194876719191960799278465072154943455540417890854465225477767693389605168449190478542196589501573826166025865606146645171339224009294572597815717484786765737153288478556654851482881403515032894695820372415060115302875192073646119765406141480092567413252348512968515582746901168207643774717589960607598404329437564395139994329635730111110633681700603685437336109634272210103033418054450224938083739879836153523722555040316183597103138650374921578649988715021842250779725214483676183162913274020607114407980836315188919652318618301784597885748980354018002765408849399964518595757380248305671577492554441816003221000192908285620784557292986217457457008937003087353143312855574041832420112317625519541622257673910321225464856548382355266230023024517109008815119619894335099424334371497881198051261886997463187492354570040820824145462052230431910145690364685647900970770134523462958114721686909957771284518586588615757296975240405197323461312166300837418411100951691362769269009598174972554545066600282223191709144658531113305195792079519199933519361197220534355669335573638622367318682415058083685744459089503504693694026138488909769903440659982352197168694607468610546527603693350254013923871222214907366013402318469821065219011342887014544279931938226403296808841138321268966015543190588816680865180553680311946308586320183367554216227804022237489563325384863487502698263215652914982484331951463332308738138198850029274360944596748910049423934828422357287796788094130695149200540222035121940850938877624298622532954796851896147160661437050220616565271922732552946446710677232516460729461776038659142224476257345847794450942373578079859499485126730131326576524516304890314331913177850990987024168111201230369088888814690398172882036590299111655540010027485735699714746027888996894491074636860280327147225823944248442261836656573904886459040779317311388300746153183682936598566496118810851117210155851497355418607451942417218342405303407466882340739425972867428295651119808720504249639132122862955038307890969493994195104113046524043749160794961436697257609684147927251684959704460610863296104831651532986040825318902300447440658625380101877503980395998227932398085723381177857528436566512859064891923925275343188259160781978747236009670847930228634801078413556144904608590374066578382162840734094704556882588766886646505226864738082307119224613333238133939596846371751338552884133868538305671501850677644701334294545522736725909403627900425428575515256280775226097449131464565340866109649126743632594122749398221333024430536383625578216179820036875258724363654014144693138078275083473221516269734620056229410319211192339379373705969871361716416377679106916388237216722287776659174301797860870108669335310887042573584964084549830853806105001556741627463785217549742961939001285500174633919141246947357557108556599045483102378087992187545103227928717679344616781130238768651483461192743956507585364231475371294215456739427454883014263789532061322035968793855933561987325692227761095404352330484826414411503719090531177372003299897016197626979927395457229994791267749526153303628872678038332800066583619933258004913183349079048604629414316357319191327195558231837077806252686775830347316627050885149851971577583062612869863587283067660531257911700069173571826354880947317637083284349872412544075913402708943189703819014885007669840239278005529613445594638832571533109906638102771308609778307918887972144572710048156727332459584973070036821333151613153819961560585678263712112030470268059876228517029425596227162809113710893297470852860095341562560503380819402738344574108370654720306234445795829592390942617361234054693439157976577350694947971977807804891223325574434005726664365864102644111316060149623095131182327136402417631294301589329195653465200427192696211199078526072648627433162854506513539229770773150234458156216226928518387866328495285429966654858464869353026956392941429258494349958271486167595912715257764828267182760461364253896726815111881010426744887647580456490504967345425456474016622973826347763934613338287211436182257186176588003701140172055173997504727844175707668889600207567306051631200903890130181471560130625198949120552559448558746812629141017684709710427004048742389198612176603676356004472896668928059680765558510094787743457924782484751630770082376667308234073330513906096857478178233683870995690359783554071103130624719949126370238910969540603249868402536861477476283095376112069159050062207820661304599450914308949364720434475443492964833264370780845446960946001797745772495904818876793482774452693415669479497667787475534772460122493492137810993808000151111691566207109773752171706281820506088282730034274961444848649370619977405543694383494372828173907950266259467252174774397940298169228566724046348868983056956512001432266855278032438198722850314961928002201732958195918019411712018092436685408928571063807663069906690683161055648082570690897534741031264692365697991501782530491220185233054814248544978607008450497309502054372363671000481526486566864005283493893364400968868076536108775865121526619434205088620757585531968138561890894217464218137576596629621478833379373398964800435850437577640968460377641335406648327717013081773794010794014952875540770031810880177389097917673211290120018726648863589367709501261388823514002523445274937813308340503316275556971834095957070311151685663096650735368840013991029460386047281639940987620333442175681255921413498908635648547978900644835092929548172477565064649311738623373240808627814703749594470924250253523961355950685704430632687972782682608805157573492086682988610293226161060994095786201637476231248277843213382720254902308399876150114954386985250400461709342977255489015322283778501777263653261611258177983369074785018325317279141863782640024236415716586455649381512343173971977193215178101228014653700412479738519336676622766507435407640526480204490442902692196646910526472471764603114393090554086553127756176783454160035662301219800609443889189639503729673575343707967975070419543470415317588945540317651342669175155501366866991136532252978456931698975357335541024815635056389334249470576140186655637589083443486141479466860843188722766352909711195732712796762394563304967709413436958934023108929991080515716005090622028689543836100237553062641924208312610445690723253952243872122829998636223014392769452303784254871986926656774292506382959408998515669855260604591417042824181753974969549598117789414318297442937172941430209155229749282461303079594444929813302739394766566525697098691402533281916843264333759399142217857657800583323560684781493900290697958129276960694733882334672163494056850950141579853354856735690088854960442960294027198017859950777639407901068888088712399238217925269809500311232705165587641320754998776731203952540771780852157239190565359903762414761448208478958513982081094679040994558395347872876020222383814294343590776799037308083155653657107998627712323242404749063269476117901423559246446246049043875239453357276008842608058146113940343526263311302027595586177944864081379933037042171087385719199524237547368354426768791245302511373540084062608180152747935881087224444118033523826554478381262051914523602485027600874489145801713632787713497584751472006327570249613430553152241216076230132010422320276409137336534770453910403780621671522392365990692185624618798127690726849905698065462190562548843867811239017679715179217870401334571969427022770776317456491630491922052986374561038895211523979527427416760633732814942980365064600870622485988343876070384800055371145004676234932204325781711685395163200160695744715969286104365799253691170283772945984214730340355595947699698099014443315017119481178618492015118130740993696491711908414895922891067254054340531857393960808153425278566229517436788370382552922294592734092702611580967299358770050314659048255709559925129488294676708030505260000072877607457539673939927320349188082988967058165417599841852725089899200883920793567706237354669531323071242303361987718500437774770836733074952878390038891081494672745424420160412738654295861782690124679189579057467108678949518611668443667084341533197526296153404267552816832061728386036482614796835743851679123120074530857086709990170706464291074762677725912366546486070021273493408424692371122397873634380087044920399569414776671962284365618374494404783009454907098151420965665235024860054584674458829994719840088578484926907349049795048661188990225467479501168878164556044747702179375760301749116431544796543423102855910576078960509904137472289682236128170228966241929030873619387884286498641050901436813025342891314442008308026895818520425411382325363996463203822969014960406971167617803490743246959796489176709522670239269012944596424741201659344241742588809441910058483052316791067695730906881611834731035613909961818300238959553674977192273324582263936445381352462640344317152685672375636106063538302866212782300594878262565506262507016585942350299700482594486537247614137407731144094911598703420964140653507907973000042395425123178245693161546538944817163474529961240214053746847925700387598211104540059955453332404207376202292184231507885591109535596794571000113817633180093490914619710272097789262841684102208298399555207745134500720393760778388467657647832652533774955213115034905031331170372907717242425891871787083064105096470470807217453134164901845190381303646624497955153487250601970472944597069341107901218626561752688823236509798434123508741666811161583229221522141134524591417586902457552653169145320821793704344419502972752134467994934869096407841923356492882008114296882064839353539886265242831143174995160762690880593232309324669792464735759361400066588228775630758091397420766422347053339669946408397898479748702174241725385759515809588332981191183232863126414025028855857625276026871740845329254485736651573547968942396001683261003382924583419836405578403022925041315498400193585323516044788132412164872883956764107603580761015608253210334039670084993337626961638658264147568821163860874793294101103518067608262144888951715539977598455880517499923088750685836655515716367990472782289753588289643252576984143053751695117510520372288167030240744170016627428431866080813209936498367200961001217572321533582911525242084857121897399133912838543725576002777205065137875354041868752613190374824508337624872736746075527919904054365009325447965772617868469787526900954662228938151701419250336137578079213918409114453283963284518704329695562584886018310263047577013189386033198634495681666587191729216364260315068566525433195460645621272540637136201750601801280350987654877503290379842996692304871979737361237005004450111017209863421434448142080922058731517285624486661835457169958250859601191760247804917587030250960118942516181532668642908379165546572246588236181452870059164059291834098650100893185050300749827811324812752780635973751170231793524648742605639519261065842348084780078197623044666908304947840322375238921647068490029703328925224630287711874385761906275853624862447995733481952579457361161723698658868601102154939831901682740902639859568215016543057699249042977532851613233475279198188446078303777764933793897598006364490095043111364019162853307148803445148714481253986183475235409501451199658719852163307602237212857517328324954494638744581412459025744214264604305408829548141050865942584202478886159597134834055563783789931764838601652428918764415643317948502222059711181053351828207618627913195923795822057302474405998878770616459666538646685572019993889307039142440734270135086457562108234055555913602152888317026235605805447403780314423093360140310738052221104158155449012986496338389532742495169987871687962131277199254025275976117059067166378905169772703115868726807285909921002990680153114176973572430721426455006622038399407192717389485597717430090700963070646135905401723517178560389162691795785833726826368236732660871254754437950905868026860040340401366364436635582586576320987349504904768756226289709224527496531073627879634192454883225759117756134433519663815666388742633604712659979989937746235144098665378461260105924345684318065367788517213904114086891434976034802130574195431083921990953774040907906287164994177909873401433541401406281055944976806366738199196301246628425039477700999584927413239653022006401820331668136835304320862451446420568841630605717804812802517138613388353327527224213450160244942641523828884896780006961744412491117507024662800007956065079359572506235985413451355939632323084876933410583780998867789105653437541591182243656510664393423174423513282895091974044604025713441956635265666081664340113582242832446270925321986436636522995921352610302765934147247681239731855805017623392487563837956337980740647643258859259625230968166051374546932818593962922126306950302112224088870480350891943437215741441855212365932127415525357096827287867943215371873982557655890505256276438799243174077765235070642189254085980721618799647345053650888725401936469806052224188055382756611213257843744940816681770265825784014212608576257356134558715010464453147873634657049530995900860251300368631097592822266898046690705758214212040260587867843995752972455054166387060338521223203534544057498013093445693457199722427763876742236301319402507069545999249384877104695916545027807772467657018619860020828516804627461416534256181881280343208607886177969725316473276995379689412004699194032637410762029497719056835213138650072080295239993255516147171615294023290810597837885201934456664948583259896437704235526839153177878227781877522693174171993336453452050588505768631373387093831751846908443618641574847737753198886730852451782615672785238559503699166184109989475413644759088959291864469293601685700989840873477790483712933516853540988879876691953083772843738010931900826214618175555453671792496843479184959158753655785508410179144331715650847643903821042480226896684782295815749440163147413334944594136460082846748144188409391473422207520617588508610707264101538667653966477921939715922123508830124397049331940593216432845859736931979042092526037821186592843691795635380307576664123718289563347610171048717452247269745322673025738183653056369137030817543511840883567616269178877715702684682190762738439841101367629049613105677104357025677819148511813743087943572307059694143041857016616090920629207137120293080951224799013902087430936964531424771387224605271712394656792951401368133375304662485933127812299850490866890006627921273025453571831182453606726322191198851514821830006179920236866719614945157540193073071059029243928716806066986661745930649013493720457426416759547001036479949983232186950068072545318925600134489641539080502465063196759686205863933348252226827948448786945594506227633824991438061606112010641705478589713365261833710839481822514036991180735281005731150240138695153195639379922197685245849723704580849473986791339573714845783220497423105067071787512857119523806835886839723435656244732180788098126274270975050350319628682405469001773598347856825372536550018928016247538635999112637584873671673810004186533820777439275174703078694582022014840957205857731786850095893923052384394230612850272582984531441037446961202447936669331101648380773106691320617177061861323519654225570263051930591865874337327543075655360160373622977305945734477519210788855269935472318112232779399101592519558252467149084114518621740613293716930129261051303165246811458541017379343302392231344541558403725830432995219203720573437678829112607567232912841276423846446917501077375612727454000827786281412121825259006542529277939897815231636500332847040481095233386397000667544071303013369884726442536693319934157425008544450572343068081204804361117582244301891415246895239142374977327742276519573650394798160420938696928927504422600899900578460921357302715960126670268613664406309255898668806195870578996366536709926807407399180325362544275565838974676261850665812318570934173696