计算机计算同分异构体数目更新,更新至488烷
·
成果
C1H4: 1
C2H6: 1
C3H8: 1
C4H10: 2
C5H12: 3
C6H14: 5
C7H16: 9
C8H18: 18
C9H20: 35
C10H22: 75
C11H24: 159
C12H26: 355
C13H28: 802
C14H30: 1858
C15H32: 4347
C16H34: 10359
C17H36: 24894
C18H38: 60523
C19H40: 148284
C20H42: 366319
C21H44: 910726
C22H46: 2278658
C23H48: 5731580
C24H50: 14490245
C25H52: 36797588
C26H54: 93839412
C27H56: 240215803
C28H58: 617105614
C29H60: 1590507121
C30H62: 4111846763
C31H64: 10660307791
C32H66: 27711253769
C33H68: 72214088660
C34H70: 188626236139
C35H72: 493782952902
C36H74: 1295297588128
C37H76: 3404490780161
C38H78: 8964747474595
C39H80: 23647478933969
C40H82: 62481801147341
C41H84: 165351455535782
C42H86: 438242894769226
C43H88: 1163169707886427
C44H90: 3091461011836856
C45H92: 8227162372221203
C46H94: 21921834086683418
C47H96: 58481806621987010
C48H98: 156192366474590639
C49H100: 417612400765382272
C50H102: 1117743651746953270
C51H104: 2994664179967370611
C52H106: 8031081780535296591
C53H108: 21557771913572630901
C54H110: 57919180873148437753
C55H112: 155745431857549699124
C56H114: 419149571193411829372
C57H116: 1128939578361332867936
C58H118: 3043043571906827182530
C59H120: 8208615366863753915949
C60H122: 22158734535770411074184
C61H124: 59858097847706865855186
C62H126: 161805725349297357221898
C63H128: 437671691526158936922623
C64H130: 1184616185385310843585573
C65H132: 3208285066181475821271463
C66H134: 8694130712024868414002815
C67H136: 23573796134448175745408811
C68H138: 63955159527348138708694312
C69H140: 173603007393950249896865875
C70H142: 471484798515330363034639871
C71H144: 1281151315764638215613845510
C72H146: 3482965749140691245110434511
C73H148: 9473447386804490449091871124
C74H150: 25779306238954404972323916397
C75H152: 70183211512214096492433058105
C76H154: 191156381393249393027319384769
C77H156: 520874195248906781713044332539
C78H158: 1419908915343952137338409797325
C79H160: 3872282575137005474139119076135
C80H162: 10564476906946675106953415600016
C81H164: 28833609436277333169440806135431
C82H166: 78725585464391037293036629979444
C83H168: 215027809474796675607407513633870
C84H170: 587531723826577193455385789266377
C85H172: 1605913778494711520354663202536756
C86H174: 4391002908093323425994602631972445
C87H176: 12010257907756938974208750945664835
C88H178: 32861295558120887536942123568548502
C89H180: 89940959024891576997396491928932689
C90H182: 246245150242821439632304475956113295
C91H184: 674391606297983432514229725117306224
C92H186: 1847515048012613337782670842346319120
C93H188: 5062818112121161180862827915688625902
C94H190: 13877857529584521384324419956411729295
C95H192: 38051836070803837001309074456088423358
C96H194: 104363664561059273927704242814298678658
C97H196: 286312976836850192359345859166390622180
C98H198: 785684759853087702778573182234297830503
C99H200: 2156596319845084996862701478402986311496
C100H202: 5921072038125809849884993369103538010139
C101H204: 16260750014333666174953055376699249561110
C102H206: 44667063168726812052821334495766769690630
C103H208: 122726610195426301690448676841677827340780
C104H210: 337281538963751874669853952178948219200633
C105H212: 927143441542280244466720172757699607129825
C106H214: 2549176520305910764377448963173035784835631
C107H216: 7010510656300876673813654064741809461787182
C108H218: 19283877336110239907079044091958051661009951
C109H220: 53055727810105880736027950213934519705620559
C110H222: 146002972524313232817393491844985704938385801
C111H224: 401865724190508834753025926637435418813476039
C112H226: 1106339625432222709435767174129826811545391101
C113H228: 3046369875968510015403046201590835240153395100
C114H230: 8389999420170754836800638580300552381250693062
C115H232: 23111326593011774543116815302964652139347135182
C116H234: 63675155467360117136901070528242608498818046250
C117H236: 175467195960062612437322237574246321515725845634
C118H238: 483616671898832299071277369263305813784565460114
C119H240: 1333167312321418940566764416056977442040495550342
C120H242: 3675740183950426011078357941139728051663026172228
C121H244: 10136322901774027447848977748665383292736169662267
C122H246: 27956983197937526275999613945221497078279509595407
C123H248: 77121096978813982358935411851692069578533009193138
C124H250: 212778592638033483022781655638827961970402357080215
C125H252: 587155794584829621068447884048323985962957796104395
C126H254: 1620497362318232091081355117667505915417499978679013
C127H256: 4473132502312622821884079561929897829404710575328024
C128H258: 12349306792492607803837161096610238756912653878568775
C129H260: 34098849774876383478036291434385545792965491914980650
C130H262: 94167748474814466028838037996326649316233175269577493
C131H264: 260093170948828891650104553710684162327855828421145690
C132H266: 718487205759724277833835055443909476145495116155508155
C133H268: 1985050220521088907210323840127550973214943015739291120
C134H270: 5485110653386099899275645856977233423965042141295771502
C135H272: 15158624968755754576600389921905653584106659889930620820
C136H274: 41898053824932615440265041900412507427220728337249680527
C137H276: 115820822448502452349822520317304132018285539473087897141
C138H278: 320211802888589798701825810680319271475504997973219083170
C139H280: 885411355238188116465394365370757710295372148438998022826
C140H282: 2448550585524918609600214967948504177437555812600018440773
C141H284: 6772180336728084537425567078328320492989943976904644119200
C142H286: 18732796033402227075307540055538834651333956120072379687678
C143H288: 51823958523558404531622255138725304201359354985976024954747
C144H290: 143387634030485523461662580179416231260007790242619239696168
C145H292: 396775836020295064920040342935953476579230225268967120945252
C146H294: 1098070975453594757891511609218085888434254839495604326720679
C147H296: 3039251105982158526063018965393900608357891201531016545453671
C148H298: 8413041613874240075848233530979949485087059914285837491890647
C149H300: 23291051500594069758631194545655502320903778728677961917787017
C150H302: 64487285324785805685734825467573942213924157583096655274158296
C151H304: 178569541961158786360447600422369518262867694211679827307797522
C152H306: 494525085028771691070376002671999818542495469214503552543494392
C153H308: 1369671107847363840368349527801907625890550280754690871159384167
C154H310: 3793941909035282970536126899217159922244816989321008990552343933
C155H312: 10510197366726219419291185594221700080820692107164072063617583537
C156H314: 29118988780427095392911694296588496006042150251385271606702314123
C157H316: 80683801316548713731547508195369620842564695928190934573122040053
C158H318: 223583881196691039626561929582827819978293196688915654006262185620
C159H320: 619638153674192054430980737083649826660231642062541457264064352590
C160H322: 1717428978037773119953669826811378686605009454833429087085211111817
C161H324: 4760601845949152288761851253868434642647478893273231351009713026471
C162H326: 13197353449186709568929592710369551730672357721629256541119049584662
C163H328: 36589226826424289787166608629764201634396432211204018812233928108927
C164H330: 101451975263926040804307438557581821336425438886780992752450611791029
C165H332: 281324901033788598583154170205263556814795889090791609969956549076553
C166H334: 780181677818281299965193432627955631078491817302716837810578348379410
C167H336: 2163828038323756757063639945018570904120396578192324738853110253083851
C168H338: 6001899167570139611127915072874671685163847392112466633395193150607161
C169H340: 16649191065671323727576273232609293462550308875754570697371028619095529
C170H342: 46188686972056579073145176280276791118176099297131728121378351698216964
C171H344: 128149137125681447665302588425507023489080631426025859378879991574150361
C172H346: 355576383032176188837060897590191000068058505378256432541548821711409736
C173H348: 986703913063443346422020725722084251185909113284392827422830038792419867
C174H350: 2738275183964917202164682060710234556685852044781624370789938274187242387
C175H352: 7599818348156354735525837090092498330135165342551619766604085368593605623
C176H354: 21094284799140605474267783653778252494175708547669907184929527663028371844
C177H356: 58554660677719531288883019197284429180673377561888244491058170393359945984
C178H358: 162552183133868639189244204285356619593212307470997836346642760606493409411
C179H360: 451292826786530619879633220482642976940485477290114448603416892241141577694
C180H362: 1253019870825476025726441067676567248038950763298814178748038046446512128926
C181H364: 3479293084378459187212303139960535018989517537846033787292960498791544468857
C182H366: 9661781855977284524013799278118239872342899149756408496918889491272019198160
C183H368: 26832197158239597797570968340612728947891256166650480273266227097169558934791
C184H370: 74522545727244539603451333395337695567614066525612042720018110555143893455632
C185H372: 206990881176753531116559188573370889805581604324744059300494333307748123498957
C186H374: 574971719221297425559348824161112797452658996937464320320048053830834065076638
C187H376: 1597250942564001477500533605167309927398304330031144648098072721512668593957703
C188H378: 4437423571982333312534972159110678450135834859468229274326790786916695731276497
C189H380: 12328758711422329105019389982539560951228986597668702145097956175468519348920309
C190H382: 34256124585721478074980980873512523523896822875906637442595527046990665266761523
C191H384: 95189094589104790904556217884090558824685828617516319665565748564984723369457220
C192H386: 264524521940855272106937702820301986845470010150944446148610489622177560655580196
C193H388: 735146927788110318878638054407335543366855876665936464594690408421993895145574507
C194H390: 2043202995476015462049187462882169976289343296164934404442378707876446055277665852
C195H392: 5679076882963913929265887525377096781591407289261632655627568444557125995319535956
C196H394: 15786016263625679649343179544010857226174369384245579060916786714528288038933116607
C197H396: 43882930188633901470015828734437451959746697520345645823789728504039719238235284266
C198H398: 121996306076853365751053531202168307620916572983606780123661900035869303555630148063
C199H400: 339176261988518728096836182493660862745709169352281541101577697702699073887422989905
C200H402: 943043328799038505167332910595466006794464252841664581909549826351576307818857723954
C201H404: 2622195090600379263364346956264279702121691087227848066895838284611152725976467138514
C202H406: 7291640328972323818932818268921088199080628040707037288217930491456875016135548131376
C203H408: 20277391980621940663950418790370236703345679504035237316723532280155012704421841134349
C204H410: 56393014827755686247101145333945229562531368138401437274854961321951321148392478837326
C205H412: 156842815530515935964014240194651333844507609987619166694876840912879248319077130581042
C206H414: 436244327522179535577207667646065280269833187002466982658692809627210486721781255271000
C207H416: 1213446271931548955557154166653292946893343739485414159573064525913091105471901382363618
C208H418: 3375488708820014134062868343953409434477577207616345786043331438445002602958236463369496
C209H420: 9390265533842684145381903993662706957889355090166833985181893569515242461156430420087174
C210H422: 26124257322713604151166532772505893583948958402141893219135619374261694917895951421995216
C211H424: 72683304203243676344755903584747211387194000236278332965871882088118015556154063840306823
C212H426: 202231949421481999766866699910650758032171534187352358158377153614156835833334273717131223
C213H428: 562715711666310319461011612553561742990998466225938804278692337156743603187662151365368333
C214H430: 1565857565336512188705390960430387447731996020954944548096469264981742312029607101653583428
C215H432: 4357517959671123300838959993742696621943017700847213254885626681813005595459240045099075216
C216H434: 12126894898610872886310565416845280412742023065548437498642351657251934710541687754081654026
C217H436: 33750741717021238734330907104325257824118779361033241504478398185637818043649623474315265399
C218H438: 93937737312335248803818931862078208076074752854934195324106075781489944419493627198038389700
C219H440: 261468709433838684317888993242737209511093586216774554328802510011968600660643442350819036063
C220H442: 727816668798656458204462998706538701005731200304158665308881919140152438032334192310185418095
C221H444: 2026033924729657796058178057776349080819410108838068133330231127278657184350600523917658261950
C222H446: 5640189120704586237460028096950040726608416653216674308167097595939322372553028535058020450921
C223H448: 15702277858615709125768061794209929881772942003228681661684701314937614138722747596565403037124
C224H450: 43717315979005745749656846671283395378656317609179742248155824749456112069949537586095666617258
C225H452: 121721128292306933059993974247348540921262802966704236768446493370986884003643919966941048534839
C226H454: 338922110694788427241777802405838150613492773013920995745534133385509651242705886920398223181010
C227H456: 943745948264384101974654246655344635790924945832998571660171925129987029630345274360528181753602
C228H458: 2628036396188665255122485857407491640837938331141774537726852980481211265329884171692375404118006
C229H460: 7318608979755404166520379853847121693286549981969246032578382667986026415973227568070229589183702
C230H462: 20381982477815712032070175127992226329196107434900428011148438268022423947798435659837662375820784
C231H464: 56765548015352873669830186155391542225154245344836703122834457861735047936794014876150374629860524
C232H466: 158104270172530515145265641139760077405201789758339337585177180751307186891559972317181979411965521
C233H468: 440374885613967273764570923053527071581411261510943039612254074378568326443950283692532685610902647
C234H470: 1226652343389215664746827690619448544313348534138985205724729790807207201280976341202710717893074853
C235H472: 3416963010634291402556279395279280039897379691659516509445008289967225395946292319651344904483142876
C236H474: 9518723877111155596143748502002445531218893550853129590490604506008598318134823819368242604272122748
C237H476: 26517750521770746045881213675376639453619783582926617680386483834380296365299612479395492961088242736
C238H478: 73877802385952947032921713908581985111328188063663582097893741466810319537930797134111900695946616163
C239H480: 205830832103408707745581845015281353687041390648973776794197115951467164317467871635600767010770430175
C240H482: 573490073391076513109930570190363749116344599275683632274375821562743183409191580097184195332209714304
C241H484: 1597939145083038119284545851972427651672212885904578621056479058274066462851925440771984480190480136917
C242H486: 4452595736241139504848505768149348728327738257189209919868237125085182422374731188865584214640572836004
C243H488: 12407515928191678703401447333122259693080851830690277274671393962029357182157422967017478923028296493797
C244H490: 34576004768296889785887066794910718730985852896707505707076422305798138880427343561380451664648670542260
C245H492: 96356944442415066997623733664230869603611716312377642117711752082444867783045964116385053282421589905891
C246H494: 268540209617944059776303921971316267806082307732727328919911735252505071315985779867844056236080213000010
C247H496: 748434113260252449609376828666343341456610378512725586135955779939163320693444008584504390382026391947130
C248H498: 2086006351917005252913566124773054331962205157167696706926185063169623907656246841866717933958839366769700
C249H500: 5814271898167303040368103945830220447130073898083466852225709084407144308593691069932064987528870826155297
C250H502: 16206624309085062837751018464745815688226709117091506494175397665527493805947344857313038875654104100026504
C251H504: 45175937003790110836570547902793926244224423679908111750183970641450850884015931131155869896510573436377669
C252H506: 125932844251389164587464842843820559638763899540510199408003184309130630867218196313865482109056537730398481
C253H508: 351065342330255763232857455169736646100231492324922604469018864206124242515874849723301032460307149363100441
C254H510: 978709648454897177175122229161387383812277957992041737463093257271644176592407853706597679764899372036161233
C255H512: 2728579524947965774924389584178729664141559400119961753692868837602435434199845226128003794876379357316697077
C256H514: 7607396703016294839448365361938795245280010901284162245456747052211826446860068129026466203061153094215518724
C257H516: 21210557506627112926709102814428055407062200441680249553023821619098519349155457094641057751120559709171040766
C258H518: 59140439362561173332419239067243021493683835575971725019164864794611034386190038342974191464909448990949160433
C259H520: 164904810640488270400543694428054069489544003984942619936396942506713662286505814885161827364845226768614358614
C260H522: 459831050079703806398893682379638814715447009656839612265184371710342022860900424760438175669232045681912458051
C261H524: 1282269545669451251495903825012981075351208474904611796782387631860379995597556946571575503111416187201880410644
C262H526: 3575825396849372674227875243103667862184010172899663062411840184180866163260563950451991491936318403482879258621
C263H528: 9972156891686411557328508654295124624639913506842521363764257263308033015597557061627102698432983819442412394838
C264H530: 27811063827636093132667356617123953605179549615375068595807588613293746133844403466327129871126313264974628662807
C265H532: 77564265332280746617483643899828940094749105640853192164718696895612990060307255121145982345803398310187898079392
C266H534: 216332231349983182677166502499939151645373218726526211012542076898269883946723118249478997581133729453560312506066
C267H536: 603387244708899225237309237330610582381466132219204206651989196705483816075205241122264636682375218975924652825723
C268H538: 1683008287833477538339860215212515239936353956160360612774483581234476591477397755553006707152662976687651986820471
C269H540: 4694523362293720915770110468625254606334394674668223296355229413555998319740629081646850706213675263754699054633081
C270H542: 13095188764074847449997295761581235990086284447120964420084615733616254354939466149397793993685871755799835949802912
C271H544: 36529768402903517606384673511136047656882432642972469371446625066352669529799727046128853301739369357159703149780745
C272H546: 101905321192540151862638359736728614554608647415740089819403904415838588146647274739611127649149596882860882722587389
C273H548: 284289935231308453374750088765973199540899741283799909358363233742287775789400140615985324231011233577018262261573605
C274H550: 793123245325306332656455155240700037979451600908118795329947235860752298477617419042698562753980516235445433182899253
C275H552: 2212760132831467572448479267369564903248109841785416455962789880485683556412683401911627301645620036274083564670518082
C276H554: 6173655026597144030316412809287663876433674099262130586459961369609545873586739771264653817548847051334819819267673785
C277H556: 17225214341482211996032609302647305657523857862682844736606106535050865551873299016458209128943795787480117352433192085
C278H558: 48061914342670201573422935228854332433440964678249011765471625586477627885410949735846954120344190850911152111629213202
C279H560: 134107030939622800029603293300903916561747683391063747072730704147537374895733111331174560543849820565430622535700765087
C280H562: 374210510638629940690846658146299050872996272327226981131494408641813084321751382508507907480321412498705157378605184512
C281H564: 1044225435503012203708531726182660970486727267736874255761377919782453611846615819319682114158692224800786189315971278877
C282H566: 2913978259975249383405724359543135914479847534340004256170151623725094458935882014206856559644179292630105188852484942654
C283H568: 8131899511255901661123024274302643005342358280792291668909947468080778066409261184072068071349503993858694564467915250947
C284H570: 22694010896831082150833881059471315166090154920352083471916559708043752042060890804464910281660301317591577341450643643408
C285H572: 63335029821662407792368658364099477321708085419464650722906960844887633330655722051429941743869159345683126460066342502022
C286H574: 176762473380773688334564893776355424385292545126164061340618485071148722461544771780431630578615064360263323717976541381234
C287H576: 493343530262595826525964374079648726397444990904885237605455236919429909498402035512893215123730306166937343830199098906264
C288H578: 1376962107154173493629678201172367360428665626252713512103398076898209747598726288264583330503085546722567594976794377910916
C289H580: 3843329627580641896092936292497953013493677730608250853017184751560504997627908821176789676128330028340434788417374548321665
C290H582: 10727691632324916343855749374736278911611036078629853835188027850311800148076269026969505419892040571311019353938342366479921
C291H584: 29944553492856643003705267171203053740637479757153174554386011341347968315240452765007183277660357717971836148800091968332374
C292H586: 83587671350621452088852077606615169147100357534595837577486058324929087065974679646254472788204214648005248614193318414377024
C293H588: 233334710228304175640537431761015155226516041956764172024879820060328914791790564269514952923849421296827499293644779973947944
C294H590: 651372050316781966807515452385884535330825922949828062262435782904101091097575267639485669941314856354615008764966125315567827
C295H592: 1818408509063580466007837286680677983183200164466347108731791763610863204309478600683111564194332619888539094594355873251409769
C296H594: 5076521961686346652128084504011167440512053731910308671725721188988125758183538040191772757449820238766222803630357752112485124
C297H596: 14172728853081183487692819360642616465697855744649707292748353245040159044544320770757891836594915830996846840829976619821699618
C298H598: 39568810871971230524136981094496991848828417446424705179645229759385730879357244432238970058197255613334159244290428131124452830
C299H600: 110475187771839384048492533823159918390262532886305090937767272270110025203334389240257568860480586164979548476232996728116729683
C300H602: 308452748932356659134640254457496633283824248738866911531511793646459565034445179334045501201901754682633289077084032710062170279
C301H604: 861240824463152722071836109344427337431877614848901867514576156478082914538339062870758774046333091097667962110703879907047902312
C302H606: 2404764529074988740593535159997552717572283601360445481122700282665430064398873396193716880348601148493581071074166478693990790856
C303H608: 6714789670469454153386611562013961023242903621637710232282341992915250322865847054817163511814626619935187437204372380050492741416
C304H610: 18750122030724673491128292527199763297679319101861503773445345726522308044322152662576165962119970647127449975852633174621969880739
C305H612: 52358540776822171397938610797428972138604966642799660183619135856732885313895214904783970369869810500221836523091218317395627621618
C306H614: 146211874171546304848114890907617543441612329368468136490630136290133091812328020942022322642930758562497993998813033035404037543378
C307H616: 408309374766218968874889934904388454292250204332400357496458432386295109182205213667370847008916451504534109623708005838430560375834
C308H618: 1140269692101119225290015431235563792069793485705983470470867840010583946573338083342919032742493114840430853835483727638466969240655
C309H620: 3184470707522086900997866971280896496954514816942511201817116808120545961910541675928058343909676364966063888004625727819620056540601
C310H622: 8893614673793550426203177888486104267711942366176132474668917683523216912995539226525055322211719832653261036678928338242794559299112
C311H624: 24838802846610505668649291989193851484488311070565125269868527227254250892146180700796996471641995241264610499129510168778379797378423
C312H626: 69373601175140878518878407416354675734791611152355756178787188936758881149210187484048705485225593356694870840499748283514606905423246
C313H628: 193762163046096898541813934971517737075188015959344864028603775487737030285826209135941854672715712590577000793283534406527423821603576
C314H630: 541196268484366087460262358027194004033064530954199287174876761416952913147671036693586440799261630163373615316567720548527381195438918
C315H632: 1511651318369444868069381097588803592058478348477392184356035123988931642510796085735141212763489336934853150751083260832206937172777771
C316H634: 4222400314117802395206774109473525042605695338264852324330490813196732243068423992961417072802043842042530256505735344967053794408556908
C317H636: 11794459906262866121871266626258612511077816494044508649944585283517043771401831174632355215381132675014638552720472693257723281462233129
C318H638: 32946365969776950669210980118015393793307352206055398592039144337621666690536830616548580432186809783833682326945726304026143435880100838
C319H640: 92033876907305433205854719644923336617100767023736541909688403892639957967832412603103787416503526220933894910089369504797536063937671030
C320H642: 257097934297469931507121119430597202704570898364889238133318471104541259886397767255481550138719826045933630544145524425190555924302974158
C321H644: 718224246661073548051565677535142499609012941753481223097942887830348917070217610983727147940761519744793793610330362338688442615673197462
C322H646: 2006467255534766659252829163933203490934832421279044800912337935400118444158392493858857751565420235179779642111003320596793004219471322947
C323H648: 5605502679518523143080247371236214990417155138717305546851545955873633006386080207929423558432674748825829901712741304990371774362283193320
C324H650: 15660566253432279506286172779655932839156833825354675435289251721808777572046022488948890326675140567766761094326162530759197028738047873342
C325H652: 43753288739599158009572690177719694499517002167269307889473331175822392011133070749493619973508391450631282964371854365131850614423969032045
C326H654: 122243063487953630168779441726858835845029369553685692636128110535135358236544861593075531121566156537338799874811313621048205453846948646594
C327H656: 341545026553716654296677021076699009557085350341854224151424291838064554557651097172377365249127972138551966103843383352678909134633899780049
C328H658: 954293272184484715061223205140067155456619561299656508883393887930115103078655393909392079957547038845854807951838617028341170549971437113756
C329H660: 2666403386739315827868066185122722123280808213775194857874678398607400719066832564196623913793636277667368621779542858235837144754558689362770
C330H662: 7450404892053082221574739602061345433226079835970620657414429662265437596906083041228826067447081207920786076025248511641195093761018228486117
C331H664: 20818233236540500078078726545737487276469129757876541102703166024191510234936838646279399885038539925967058597219811390519182332350074088483801
C332H666: 58172506428290564368141089289481919244396569391637155592567737523706232298107560669789028286499114696254965115086663396724793700039535105809825
C333H668: 162555450043434528743216203388499100784722341392396045140172843700097191508823985571422968024333740892364547560879635001525731982520443668407207
C334H670: 454250157235286994930516589657219180338096942589294611421361473820956593031171048775282611503529678045566128639300306815980549814735817293632328
C335H672: 1269399644216896674419509697729463047322902302717880576621386334890813629251048864345125927692087232669828899817484051825954105426712749458105719
C336H674: 3547409580555749581428375893211291993132883055153877931717905621147151289844110360051310758575795791014297933394182694793731277677223886505210604
C337H676: 9913657616876180996272994213830886174557219586954823670177585140374478051025004200168094107564237013138944074674000581394701452285244389597956715
C338H678: 27705504250793641201136147317977373743683200591499163219665638173564039350984177869778739763213987393664627300779909086252047370214399911131005215
C339H680: 77429723308686422060745817247773603245179312769655054126749234498755173568276490783876715746154890754203846791494405123875247961686499129038297227
C340H682: 216400771687500406123258313919627031449853827152325829464263282001824129364025389238788652830899867301042402568490706765506227298942393806928108235
C341H684: 604810464516125477241566412882349204137572849071402383810346407708410011599408641489401825943216390533769925718210249763369632034958372608290844206
C342H686: 1690398611265385833597216662397255544989165037053280798937154717423932000388167869168930853825927977852841640076328038923189020256557719193791256028
C343H688: 4724634772968354441296131448066702565819242471972930246064518060636141614755603261379142845848576742911828869261061820791686009759021485237698477831
C344H690: 13205552829661483110364753142284962949107602363850885398784926506038176551941835670483442213970733618691835956778974797080500820139190122943284582135
C345H692: 36910855280499292111957523443882193440612445434176479707767186915266152482973875689799871251737846372737188112909754993522207982690542240926130029049
C346H694: 103171739679545034385009574491036788498270729350913451333950358713843618189620777988883995604632555973833362206978350103925117854467640580483436552018
C347H696: 288387524830070207712762522892988184663566029872195934853726561639393938557865016202521468003680404859295709114570707309431763967645212689873531414264
C348H698: 806122798918603963804489903399570959132892552474576252746348067356487862540352928356904945671326172417576672782142508442928521818059159444295065569351
C349H700: 2253382439271040388149474850917992870398476906210930447444262444269257785111968397614677064122886740776607477106889945148953791648085596979576315110482
C350H702: 6299085778376549624821429179458510900194958604210429834866285306534323334146994999589505103105601742105346495367945462306323190533152968350936328833093
C351H704: 17608769315860492326012526752722740196012949442575558856980140609187722195861145221351750035945476764574248561005920231231717297371258189428413075334925
C352H706: 49225405206515153087568948490481900524317536823931935604937570379534876242330540513362387565765326989735254840166835073173949257982193474194915953803083
C353H708: 137612650518574117451330956726549297191660051390691147866537032385615815835760333658095155505973979232131231656924338282838926211524292823285634711474633
C354H710: 384712355414294702563904729491023243627956319486020537228732734017954863719619385122127616879959104196458802246444742876626069471608782252965968612497198
C355H712: 1075530112808179390071712452176822139103273689672504194433511328424197482887796207661106800366074422776307279191236098858340632644479271310162484217917592
C356H714: 3006890624730903809203348452903910972516333634451058962761600995261350724210387631287122470914299872520878957623017199446857400919899829039177221306594762
C357H716: 8406616889129974244397003491764309398845023627456637599897772061394635091675951085559195087235345860699090644025580860759237281995429915998000191117024816
C358H718: 23503546635376640553461907666151910955199316486853220612258843913181768436558650960045561863244812806343068989021774935699707646736474569067094595172637657
C359H720: 65713412324197507817554740047743479221985390537015377014989484413218559711974382297521939019242021211490372847064568851951672832785537922807500683400249532
C360H722: 183731264265605405843365379086835345824768411971600936222075279683603801778731406834023568040750755069976677442393364831096485389709475423423923842324234989
C361H724: 513712917445044879755632157033905467853325637578640428524826452382229282708618525455937273019555303667710885659176534752548868969162928871024925640927161271
C362H726: 1436369721757738892958929630900072633478136236302452472776025832973978953360582366193284186527643210738556081221865437790061121840459854628616810254345970340
C363H728: 4016245794540314317921944312723698293128035701349480130082040705613877555134606721253578868773247173814885875141129338065351555559857572125255328673559903040
C364H730: 11230072676900921539509513093811870438221223811407353714408100824976815504864394851215848887535311992988055261583243142720576553693459388593499340501967396681
C365H732: 31401691722083002417916521112590305246634105177634870336292298563102470515942642976648214528157455982603109225664757020091550414449178440472115353901460446268
C366H734: 87807512761131019669123968936239187378772472970044116529030740009892838597955402589441089059731825346348183259877624129805446563680453288496566314058216307906
C367H736: 245537829077557462081805831685248187855901611678405068758323753424431585375668081543454789249905741266414098458353610411274351872164493867031138938128923811548
C368H738: 686614878793290692365946544967060402435535533439703386546543223974161565447591982500008138197759562141079983471234903850797409958408513821168604305660233455976
C369H740: 1920065425464977040324811492258229712997831388944954536187026895473557682246017688375844072781501718600065677696568681677877698513717956212078409365696123045631
C370H742: 5369413119739521311056720267346543730592359961974707919525707549927075193415306869557412051089850170504998931658579633249836081815067808652981724838365477410138
C371H744: 15015698655075199976272693540591951974686627178052097189140504117200293380788618682016180014774425725189940423758616707837564049839054439038244580983396016421457
C372H746: 41992541273525656280816728152861921327282968075742417388570730872160514840242297724716590418591898627935767029025045814765426888230438006343622529004355375447430
C373H748: 117437451617808130046188436954085072439890141075163700595649694726378129352031098060028554827004529062795043051505437759166127676602137044028420695202260238129785
C374H750: 328434585854209340800737235202631048479389646967661462661636385280689838843051278282037131977798234542111589298178308943123728279398372661517711552909591088784233
C375H752: 918541776532521351454724481253885522834135226674595847968788334998829497077329738397794713874792704493917411483057346313840275225405419095759541352537427198471361
C376H754: 2568955991329503485226380237480690026457620304891552709544079697736557060175045666781524391372284817097487693711568229673638942005261714904270596319620459445473073
C377H756: 7184922639842464802885587606384993105812537555100932976724521004335615481127788471733279920114210245392313310696302660580629852175413665384841282424990274512998952
C378H758: 20095331213097242826563162272499766152631926335640382078466171436906227170028969073653693324764624153071420218919694803612847629293085720506187191280898163161455459
C379H760: 56205115000964715479430619822300149295636199494967750046285804235705714672057128797682804682319483130603018470221174104272691669435190474297594016851022802881775642
C380H762: 157204173871080042791005946717771678337361252434570214919197069033737233975532054514134984100074728607605448843429503324009721173077600035149528834377866256366868698
C381H764: 439703400811858555207639749643726653558421712817679422805771543513429103622860604933643940150767355269757140263417467587920793699669593550165394733491349240341674306
C382H766: 1229880900617123738697150100582819767140664530048573343103926649877593886795685942716888518384280768195953829891157101302209774951380318232971790780725003756440384976
C383H768: 3440121102632042079574613394421649270740520637604825615393031704257937458096065224440923093918018322351606881630669114742178776088172570978745260713419443230092125550
C384H770: 9622586153410285880728601242215813228736953178547030205700671938265580922941045790964674136785441869346080134382440299672770112153048801535047402111613597150233137802
C385H772: 26916417073868835612084046395717066429589754342172599151445996645973182853695742811985385571104615280559324692412532184104060944969040374899401596525144276063496606951
C386H774: 75292205017596473959671194546459881939425223139193528761923230931282225448658395453816549305362589894258565077274255739531780576422930761591566614827365864785744388371
C387H776: 210615374773386578684517006047492496179433849760360062115309171505982400240424567645729377980367191880450044703844070448199457434424447733296596271409138799278813628792
C388H778: 589165593539042565026821664726253771125102392942799570084371611237980668383862899518543972291941987174860430622620845291051584358900044292209062952024279357217152693785
C389H780: 1648131634367803359707937524405442419859146581867717423163925363504695800177924017679629258999831406080436972262726185670821749962455879487957060784659258524546455581229
C390H782: 4610559064987066414427050590937762145598052261340165536440498484715451027309887206327522221902752378407014621350941505017043523362673050032523032661992076158518536005778
C391H784: 12898001529190616022484918680061560268661536583969359034337027007145503209652354449213917560064014207287702364662015373426938255345873775474502731101617752214575992285418
C392H786: 36082644620996153148038727193256245008320497097861657913961729581140014845827188376920642954902439230587657766314154785765478870307888754802107259886317826893553106804930
C393H788: 100944198599027248783600823572294966728098367736287563685025750028398559174509674211748882662296187357779753297978614667703646499577995198827952979877028011286861153332753
C394H790: 282404360855276282716306438076203561991927984814874123615833082419342075073300818298143667783619353700203041664950921219404793198597337805332599891804349037634418093688990
C395H792: 790075196968580287113310427568508296534767777989983578958455239841484146867900273312870931943399650187650384519148343602398017385028135462146727009392677651724149009203100
C396H794: 2210407864644557643077943428130036115120005355005863034693962386953303913777130833664505916356588804136917108572166425275703362600247757560627546883653191701356713724881730
C397H796: 6184197213841155963141186936830050316876429270782960114608113611454443113269768822881621431873473199159722369366346768263832565030241083004062489507422442039877756049941418
C398H798: 17302192284358750361786474763512039709932246415093507793264284194707998216570204017598123722561533418066238564079099555280757068590210544190267158733975378120143529011121869
C399H800: 48408964478720606842334516835456503133891009741876761610509930173984048922536882285498454923654304602541207830033885488966200458238451441698474624088789395574264007093221536
C400H802: 135443220636981399994430263118955670404849053743512266219798964274651348636218951062787429358223371361277791236256039812270730583793196129114199348221358274867143490557738328
C401H804: 378961890510224587569566655998411842677134297089260038876458238638229055545809515163409480094842115984755225020882928808762277385061107246292620066217371335189839256602213303
C402H806: 1060328799527796787222598339931167000208396813370163594230643943947688583463969446349509310574226512421543474171708182414556560544006657534805443950509050237412103119784241027
C403H808: 2966827500438017966196272821500751701435193621918452681834143840775808934808121748954280576329936166909795819651139559023393628300372149591807874889041382961414276711325083127
C404H810: 8301388147622077303436735958992004021517158912757903546117814861761961286642212993601204978952566450658646412745606842787680318691545681444075901779595216670171932018840156290
C405H812: 23228212920137197019820942610285680773369010452318432585529759033889251185186142910113032696833229809848463162415175535690697164862784647828492646710089206718128497417272167609
C406H814: 64996129638352050440843829288503357383792368058408672417856862732213424091459654085381278596306204367057157588435899771537285442289030753397438750907636378942119087740428995934
C407H816: 181871974514312058787407127315167850202573331626084538673515841562617666603022499256980441524696015460880522623759189784104442385498077959208069046099122778846279941296315607302
C408H818: 508921293889379994459075220441095072936705411037429540662998519808455715649194294354896777470062777665283379251730640643916798271769311972019715142166777508673057182083075439429
C409H820: 1424104919704551370931120477105438945719198975965445860802160045382994308137848033344213193904080353659290651799550995830635165912211281014281176050241988912974508156576930123512
C410H822: 3985105674119379719613473023083433865228342356444696693071449237116824150440441252010348086703299231235101479003372267346695772139029905436276139550454159690445853915134601601269
C411H824: 11151779080187371481231992741401770017872829181149322195705476953287512469455988910839841754572894650021155474376091541134246064933106710984356510400939913969212295793471876146513
C412H826: 31207206938926983067147727221154068167887772255436498988153083289901842635719116116280127591607768984050467628939465309028297107637008697100529834548888032231317887477485172806549
C413H828: 87331725585020938619559624374688440661539803993897909449937112117444074793842275272099711088488653448295819463702914281156863262753493080365544876458417287285003055222824879720780
C414H830: 244396818627923436543044509131904409206923721658156467500754855205934102852186813605522163506104956675950752865215720967269303856285927832484052980180273374327953434476871534413540
C415H832: 683951632694543479102158116853589042884967771893064113437642546713263835724926513576081730012152709764140453678491826677943135992928873094071770203921417873849946088253924179804024
C416H834: 1914086401803157252525483121260321559895559007042220486892482735818107970890133725779443699914357933292788488572628644415573014078298882567354892604501998174591627421637960341350958
C417H836: 5356781843212895081358358702304209294802606675851666570503291583110817229110401297205001248101478494597923305522097774360666328503358045010812965713936587323544536405180531722405525
C418H838: 14991760191098191810138884758572381033980177285519522538002929720069303179039888962564813158684732183212164813120008802003727947967332417301966653502367744259640522679982074240052935
C419H840: 41957297583977073983702363775537276063667525934586084972566377077897379234326941152252308316248314022743475105166365682125455479385328973837826717926371342135100033396024998999711450
C420H842: 117427164649003110142152852039309150271542231005840042633270394358905870024111027811834168760888092684365398533085841898319052996537137409148600044897766758306959422263805041815035065
C421H844: 328651634923820753593213641391615586245769269329135515410723721158590485927853206438291653675705669829844447752566275324876757760795171712027718243095981609198053940152414671545372503
C422H846: 919833338235055417852315527855320952122258706367356027362166805853019201858886407226970738663262056708085068659591296530831817876141948320695715907387734534780390267081213097851623926
C423H848: 2574474487646626632539287026800786404743596827905521895518376238428706085102089551200246220070600149447218837788218132341157680996167476365296697212327216000519534723950623014052562902
C424H850: 7205665667592596185493148013569520321002783567886505195373190949113985058687961485034757755359307774339390881649408647759537333207108232331072998897954029570557671512417161804939366569
C425H852: 20168131434027562204440255506283465875389862304407698539108424209996440684182389196069743314657438655440573946315154127658616978643901056314906869018127846612726971718400035968749166018
C426H854: 56449906899724942047505771637510301180460568010641046003667211377067455974036122730947794173621469883426661320310970747156632955969753852875150630047276376711346998907743979302070281313
C427H856: 158003526673335268129040271181964695519126921278889669906317219204139766887778977957695566072127968587031601234293405692668000075925616270225572854068950838825908224968159082404106015134
C428H858: 442258599979431848391406555229855427518506100942056562122348962514620862303367256139977453548852488681085930719342224041746947531262397172450943200613952242630186401056685133695906260262
C429H860: 1237917552017093850402076044531591942827017686420656648424109421790021634509829111059302648772027906040585297174304126581227216116155207043835665782778612934737290712605195133819856519062
C430H862: 3465078315972343860372538551750530713497922627051904533821996681217921800615373684000895297305178899415702486014119749497882204026757269809006284940463844540137465373894929009654720484680
C431H864: 9699297080453775101320815109284416331144463935663258526967517831954608850816900683813652316638254077050209765141440151807366826086817206175181202087389875138340309965367763865501728571109
C432H866: 27150217551505555618139537163164507176039939439429688302804853725238852409340703442794977612087713364134687732101666077061039800269026733239438258751217609444333185068116914514760083583780
C433H868: 75999753676480301561140909251306512576996597581717224239482078114539914122206191832267711131022981716019615815229050502247271178827064651941512819446443447663567423910119154532928248808854
C434H870: 212743768078542227974107793959413118191783320144200906112511129901557100484433846711030090775414576479874753603565609429366122326437075693794662936485348777801553548537159522792800204843077
C435H872: 595534978287274129557815478890999237342639631710933231600443338243697446238420359116221055705407530695255255797186958373488510376088399011097968679804635823714838510606176210103312556282938
C436H874: 1667106866993012009738048724203648847789357812909740555893815853100209249219093911697525171181338358328434883594238370290309396230294400217639471162139187473094991023670935960149228884691264
C437H876: 4666865864249353281320078704012934753401737086940708686290046970355274011817607310211442075126178184544907153856841831290286920471585179851032823312901592316896275923306636633382050404951318
C438H878: 13064502691465503331496979509263442199242430738722467485716986907489389337535512987298869418780872092794140927836899073572169176570423540838225780325840405386914224765197775158869935886132308
C439H880: 36573464941519815016993284926389744686128467599198825108604334301587908700991438757799778776379591537809204577303961211834736897473197458725391425399805708258283780845803472483724829308499158
C440H882: 102387034801847643405549008400637176298875981552734149229523842867835664065407550598592377192075769357488060245677070395752593729565915415641269251338499244754054356422434373991804100339787288
C441H884: 286635141072427375498100476108163220382497481938821125132296034922046116539400243866662134416523721753392885500770428866803135350327729311308050639964324664322524296915872303049333243233063371
C442H886: 802452776642802578771773060767748719046097561968169463921460704294540054428227580569740903358514433024200099533415098775392933614644896726285044148154823247614097647187673554735715744773826614
C443H888: 2246544849619415890258046612371209088300865211635814214012511886660980184034972215928128019202338157078347229971946501155993356014249699956150589573685977100473895831208624097115475682140515410
C444H890: 6289501649225784392780503335689658729084771488077509996429501874287761786523941153941168420274740516150624301548765385965904919326602368831112994391151449282648235334602397423236251123942812603
C445H892: 17608521245602370453309358197667918453324808965805288184007046857140536249633776335160636757151758073188473361111351872831488595346484114648956040900886318197179158362694883652268082653203960816
C446H894: 49298649182829931269442452247690970866951223239512451041034523083646912273059667920120855544709087163739440794611655242580540001201556277145529735532921198512078831709982004835590545821624721675
C447H896: 138023365283501643172120627032301339872263876888267855443343545360854901718497319204396943648334875257424762335797402282634187852240627591890657376377438728045938810213212753434013616337639224457
C448H898: 386434274916820923522164046982004407665830730281302875549681979670777226707924140937512220519082444542354857967666896287766781877598555642605938623019886223086785663905707716066803911411286281397
C449H900: 1081942241041412843342801306377314128938595941226709615758725246447576837849605915025482480987589675194623011793741932438474589622478261973242320151519896247629605039690847316507789418134456637827
C450H902: 3029269417768609765160337407124200015486163814552893282843251090687250165489257362547243817113569645233746058477828167223523132762950235399572506835312237226277164203152272356102034536019296391294
C451H904: 8481586318311385288734521192920868467270039534541723644192388612007264998860540345100785093887970292666153225114424664452217056046138876059684378649482048761623829799322843406423777308533920219070
C452H906: 23747703106104423014325258140304375732684986550090578217405234480462667752274794237666234812462575613551700288282266872421292080146767531632383820729064228671469763885872280565208337751080593344999
C453H908: 66492314454280637134764294178457217478862139513263475578987547070484513744890443746487888749907918088417362565230487121854504280334021532192009371637336497822869058055985634663088967547878217120969
C454H910: 186177237041880167250082703615615906711469226006628683330015454509577099494801180033125853930416036475328346558339575481998626950999321652099880573706898734989028639251899999393194339425694454345799
C455H912: 521299105693071721134346815801917273478090598105738978325617213178721952761963650686896186419028455325103010511113187858174012474240131297963986633948841343459701163951657791742336745183846908202693
C456H914: 1459663082035342934887882781425257110248409976092170592292687001118353543510903639012142254926129620397281644788427969861856196397265614060708111086420781518554356664201230646799774368796497847289560
C457H916: 4087177417055441441926038522636669779632975383455435861702787829487050730647644274243796689359039880995184808595150267791772426267267595216466519189659062251522097218459884984685292035892709537318312
C458H918: 11444571992533113663092437880990068860482429953863778311744000646149153383578777138577579451370599464607353224136647353149403241554028448524921382528775644679190951320692142995225920894358581518868864
C459H920: 32046514239119535874557007189938336657555337609334578424470303607436424413038337983768254880878690416363200099465227596231806443533600106180349076033054441534432099244612976407280044552076098821403252
C460H922: 89736100519002389851198827841205289488930608401833288837431558806157207068707865857431660194968325536326825922036661750485787248488069036537183719134777585007115406330216099105020965250968921230637531
C461H924: 251280461467296852385574630546574386900308754696924319255811421905696343777953369172240361971576177698693495120548775396582903158268833375865317152528104410678373354372825259596648414461025206277196061
C462H926: 703647838584625032634850730660409028130392079000514964449801824100171552697792694225173476450892173048712804817684375485123450329584457100326311770211425495950916098573065500347826314334095474713560259
C463H928: 1970412174922793351898662531323302254183616229126007272286170131156249546380113862126766843599077305606654555049456355906721272812241518709542011017045667578674276027112987044616906273148370712324325362
C464H930: 5517773536559450183232340514258026490011471945680485508559372110766683981404048596720627842140536666240121637533493171755062890606815893185673601104533408355167110373867915820214842211744851723397569593
C465H932: 15451679990201568411215578122073370356403742496527885209833637937700223637979907251807600646374760670954350341779571360161674730998882159817422440392907738425891277795466982145716585006689968425505380119
C466H934: 43270564429340265025283937524300878478501493530381291220397194282241171515447134894215109317300783342867417360199432997982875302235206383259387444427698315762380570352312116615363155703009920832689352871
C467H936: 121175387073295736524569718822097639420463861716971063492109528962492569785076732921975740253331081548338333727361459218154437136082325290987001985839144830920858486257553315470385995502530184051873497066
C468H938: 339344840189475536421125940700761759628752222992160549381027643941745741914656836040232730595608192347759637830477587902350052606592456881569785539786928879480686510907084881467566111373965693128772815168
C469H940: 950326942647405347844160146627862711768881566137164131522937150987646591788240557198082994780294550892371568822419949180800659521354470469743632592095655784774066429590870707610663947413928541377601304331
C470H942: 2661397660073852552129723028095885797019532580891659413666656327685520361494990644244780459416494337505306325842984790687846760034636266016838667025621454787635756967010007792781115241634931034023342955909
C471H944: 7453348271319000807792642584688862626586099412065267712592599510401797049893846344817387925831913586906215688069450852737050111320975144949815225427831362617279252934288022295734101068785815612716970311808
C472H946: 20873628693465442369994091580260968702372775440196031927070687104083645990021388958800099647202094094135845379561614782887105082175039614621895682762293655052254837096492726532427207985365110705700858185105
C473H948: 58458728731766254613260704634770549014535819580818340519042652762258547931670198980355298780573863556078114808742211556195563024034089763095349562343593909106562326371091563375170455486291957378525618197831
C474H950: 163721469153385637408150476563293561192630360744595190990592087993468898713335977248677815933276982928116057236035906891546690927202148725585574081941714037659737484743937984394080547704511778110792121687207
C475H952: 458528920077354685502169678831532604357019434399108847894808896709351443638466718242161166503349046639203448149470195902534259098807880444564985003619318026651644088082419427990684019605853227416774184858732
C476H954: 1284199937356117010353036111976291463604172133918493472823892597653505936748633559438891259654067719601811837856803850228207178704881159679844950373205860758636370584332260625151603176391842907361800288702852
C477H956: 3596692826870076496488870100810883119867190535450061805109321868771960959615817567820544952252639528684637338431882866065151676205653648613261366208363844491931760159185397360397157081159998934076146625574324
C478H958: 10073463693660743814830768135279278537079909784776055480865370746882390281411517464342747341359496246287190961417525136257220264919874937072794203921533179745349010643055354298890387265997799866799848104338235
C479H960: 28213635719632829111553766945298618684025617913525005700531345253000364443673781640156844004227127409788826310407619909467100939134351426418260762969996556114029193750675871742395710571704344996337919334627311
C480H962: 79021272029812529198306048278738451404456552316178623835088343424900929896529145986849511125817498577910188475147844537607285370369164399968397118901967107253074866629088624713978766067247085915460907203507916
C481H964: 221326640007559663668965755167218010334237161338270139368837726672890339102089097625270467903768037212482685022578414146878493502591843464527824997936161209273201301931996307060804297022524160462260698613537211
C482H966: 619909167426938833226794412160056195934133884103637737354763534557844211624630276625508115154691754605800841672755247108234248396654245317254494351293449688401442053466436766136865155607831934082917347856426393
C483H968: 1736309336940064055314375159645968597229131182622025720281597392750374289881332068277426029158100061555043458510124867482152338705144101468366800180174515094346512495259376551669075968372524272389756751432854853
C484H970: 4863297048468267534636166312939910470952766062828082277824505171156300282060030581670231761463878726184462085106767555905935986480934403918197493275089839501765798644464700331235805831873720464298566133914310111
C485H972: 13621945190301700706138963992367401939405566877527256386624696446539344800813487799938840805754463459615136581585117531096761299146137690070987761802590544736755857013785633546389925702052333218769869982790548052
C486H974: 38155054329515229613775470033224877184200699251781861664268079502676128352861614648198071275587050390975562955844380056803299861976593575165303651531182196565505294625797093250325990896145553936059099182468469941
C487H976: 106873398849478133039914184580874875231786272245238762673187219575665471269978868235613615591616484938408255629005435265191765938106429802557895876693594503003511545832633156383000727183561568902367863186683667386
C488H978: 299358603826075402277899963139952216438074968330347955827805421649062237131327956205363209204249356420478800321507971357294900909553107391222810893361186943113207800413096895718566298784120554090436875783734064658
给出更快的代码
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <stdexcept>
#include <omp.h>
using namespace std;
const int BASE = 10000; // 万进制优化
const int DIGITS_PER_ELEMENT = 4;
const int KARATSUBA_THRESHOLD = 32; // Karatsuba算法阈值
const int CALC_CARBON = 200; // 最大计算碳原子数
// ================== 高精度整数类实现 ==================
class BigInteger {
private:
vector<int> digits; // 低位在前存储(万进制)
bool is_negative = false;
// 去除前导零
void trim() {
while (digits.size() > 1 && digits.back() == 0)
digits.pop_back();
if (digits.empty()) digits.push_back(0);
if (digits.size() == 1 && digits[0] == 0)
is_negative = false; // -0 处理为正0
}
// 绝对值比较 |this| < |other|
bool absolute_less_than(const BigInteger& other) const {
if (digits.size() != other.digits.size())
return digits.size() < other.digits.size();
for (int i = digits.size()-1; i >= 0; --i) {
if (digits[i] != other.digits[i])
return digits[i] < other.digits[i];
}
return false;
}
public:
// 构造函数
BigInteger() { digits.push_back(0); }
BigInteger(long long num) {
if (num < 0) {
is_negative = true;
num = -num;
}
if (num == 0) digits.push_back(0);
while (num) {
digits.push_back(num % BASE);
num /= BASE;
}
}
BigInteger(const string& s) {
if (s.empty()) {
digits.push_back(0);
return;
}
string num = s;
if (num[0] == '-') {
is_negative = true;
num = num.substr(1);
}
// 处理前导零
size_t start_pos = num.find_first_not_of('0');
if (start_pos == string::npos) {
digits.push_back(0);
return;
}
num = num.substr(start_pos);
// 从低位开始分组存储
reverse(num.begin(), num.end());
for (int i = 0; i < num.size(); i += DIGITS_PER_ELEMENT) {
int end = min(i + DIGITS_PER_ELEMENT, (int)num.size());
string segment = num.substr(i, end - i);
reverse(segment.begin(), segment.end());
digits.push_back(stoi(segment));
}
trim();
}
// 拷贝构造函数
BigInteger(const BigInteger& other) : digits(other.digits), is_negative(other.is_negative) {}
// 赋值运算符
BigInteger& operator=(const BigInteger& other) {
digits = other.digits;
is_negative = other.is_negative;
return *this;
}
// 一元负号
BigInteger operator-() const {
BigInteger result(*this);
result.is_negative = !is_negative;
return result;
}
// 加法(万进制优化)
BigInteger operator+(const BigInteger& other) const {
// 处理符号不同的情况 (a + (-b) = a - b)
if (is_negative != other.is_negative) {
if (is_negative)
return other - (-*this);
else
return *this - (-other);
}
BigInteger result;
result.digits.resize(max(digits.size(), other.digits.size()) + 1, 0);
result.is_negative = is_negative; // 同号结果符号相同
int carry = 0;
for (size_t i = 0; i < result.digits.size(); ++i) {
int a = (i < digits.size()) ? digits[i] : 0;
int b = (i < other.digits.size()) ? other.digits[i] : 0;
int sum = a + b + carry;
carry = sum / BASE;
result.digits[i] = sum % BASE;
}
result.trim();
return result;
}
// 减法(确保被减数≥减数)
BigInteger operator-(const BigInteger& other) const {
// 处理负数减法
if (is_negative != other.is_negative)
return *this + (-other);
// 同号情况:比较绝对值
if (absolute_less_than(other))
return -(other - *this);
BigInteger result;
result.digits.resize(digits.size(), 0);
int borrow = 0;
for (size_t i = 0; i < digits.size(); ++i) {
int a_val = digits[i] - borrow;
int b_val = (i < other.digits.size()) ? other.digits[i] : 0;
borrow = 0;
if (a_val < b_val) {
a_val += BASE;
borrow = 1;
}
result.digits[i] = a_val - b_val;
}
result.trim();
result.is_negative = is_negative; // 结果符号与被减数相同
return result;
}
// 乘法(核心优化)
BigInteger operator*(const BigInteger& other) const {
// 处理符号
bool result_negative = is_negative ^ other.is_negative;
// 获取绝对值
BigInteger abs_this = is_negative ? -*this : *this;
BigInteger abs_other = other.is_negative ? -other : other;
// 小规模直接计算
if (abs_this.digits.size() <= KARATSUBA_THRESHOLD ||
abs_other.digits.size() <= KARATSUBA_THRESHOLD) {
return abs_this.naive_multiply(abs_other).set_sign(result_negative);
}
// Karatsuba分治乘法
size_t mid = max(abs_this.digits.size(), abs_other.digits.size()) / 2;
// 拆分高位/低位
BigInteger a = abs_this.get_upper(mid);
BigInteger b = abs_this.get_lower(mid);
BigInteger c = abs_other.get_upper(mid);
BigInteger d = abs_other.get_lower(mid);
// 递归计算三个子问题
BigInteger ac = a * c;
BigInteger bd = b * d;
BigInteger abcd = (a + b) * (c + d);
BigInteger adbc = abcd - ac - bd;
// 合并结果: ac * BASE^(2*mid) + adbc * BASE^mid + bd
return (ac.shift(2 * mid) + adbc.shift(mid) + bd).set_sign(result_negative);
}
// 除以小整数(保证能整除)
BigInteger divide(int divisor) const {
if (divisor == 0) throw runtime_error("Division by zero");
if (divisor == 1) return *this;
bool result_negative = is_negative ^ (divisor < 0);
divisor = abs(divisor);
BigInteger result;
result.digits.resize(digits.size(), 0);
int remainder = 0;
for (int i = digits.size()-1; i >= 0; --i) {
long long current = static_cast<long long>(remainder) * BASE + digits[i];
result.digits[i] = current / divisor;
remainder = current % divisor;
}
if (remainder != 0)
throw runtime_error("Division has remainder");
result.trim();
result.is_negative = result_negative;
return result;
}
// 比较运算符
bool operator<(const BigInteger& other) const {
if (is_negative != other.is_negative)
return is_negative;
if (is_negative)
return (-other) < (-*this);
if (digits.size() != other.digits.size())
return digits.size() < other.digits.size();
for (int i = digits.size()-1; i >= 0; --i) {
if (digits[i] != other.digits[i])
return digits[i] < other.digits[i];
}
return false;
}
bool operator==(const BigInteger& other) const {
return digits == other.digits && is_negative == other.is_negative;
}
bool operator!=(const BigInteger& other) const { return !(*this == other); }
bool operator>(const BigInteger& other) const { return other < *this; }
bool operator<=(const BigInteger& other) const { return !(other < *this); }
bool operator>=(const BigInteger& other) const { return !(*this < other); }
// 转换为字符串
string toString() const {
if (digits.empty()) return "0";
string s;
if (is_negative) s += "-";
// 最高位不需要补零
s += to_string(digits.back());
// 中间部分需要补前导零
for (int i = digits.size()-2; i >= 0; --i) {
string seg = to_string(digits[i]);
if (seg.size() < DIGITS_PER_ELEMENT) {
seg = string(DIGITS_PER_ELEMENT - seg.size(), '0') + seg;
}
s += seg;
}
return s;
}
// ========== 辅助函数 ==========
private:
// 设置符号
BigInteger set_sign(bool negative) const {
BigInteger result(*this);
result.is_negative = negative;
return result;
}
// 常规乘法(小规模使用)
BigInteger naive_multiply(const BigInteger& other) const {
BigInteger result;
result.digits.resize(digits.size() + other.digits.size() + 1, 0);
#pragma omp parallel for // OpenMP并行优化
for (size_t i = 0; i < digits.size(); ++i) {
int carry = 0;
for (size_t j = 0; j < other.digits.size() || carry; ++j) {
long long product = result.digits[i+j] +
static_cast<long long>(digits[i]) *
(j < other.digits.size() ? other.digits[j] : 0) +
carry;
carry = static_cast<int>(product / BASE);
result.digits[i+j] = static_cast<int>(product % BASE);
}
}
result.trim();
return result;
}
// 辅助函数:获取高位部分
BigInteger get_upper(size_t mid) const {
BigInteger result;
if (digits.size() > mid) {
result.digits.assign(digits.begin() + mid, digits.end());
}
result.trim();
return result;
}
// 辅助函数:获取低位部分
BigInteger get_lower(size_t mid) const {
BigInteger result;
size_t size = min(mid, digits.size());
result.digits.assign(digits.begin(), digits.begin() + size);
result.trim();
return result;
}
// 移位操作(乘以BASE^shift)
BigInteger shift(size_t shift) const {
if (digits.size() == 1 && digits[0] == 0)
return *this; // 0移位后还是0
BigInteger result;
result.digits.resize(shift, 0); // 添加shift个0
result.digits.insert(result.digits.end(), digits.begin(), digits.end());
return result;
}
};
// ================== 同分异构体计算核心 ==================
vector<BigInteger> A = {BigInteger(1)}; // 烷基计数
vector<BigInteger> P = {BigInteger(0)}; // 带标记碳原子的烷烃计数
vector<BigInteger> Q = {BigInteger(0)}; // 带标记碳-碳键的烷烃计数
vector<BigInteger> C = {BigInteger(1)}; // 烷烃计数
void Calc_A_m(int m);
void Calc_P_m(int m);
void Calc_Q_m(int m);
void Calc_C_m(int m);
// 计算烷基同分异构体数量A[m]
void Calc_A_m(int m) {
if (static_cast<int>(A.size()) > m) return;
if (static_cast<int>(A.size()) < m) Calc_A_m(m-1);
BigInteger ans(0);
// Term 1: x*A(x)^3
BigInteger t1(0);
for (int i = 0; i < m; ++i) {
for (int j = 0; j <= m-1-i; ++j) {
int k = m-1 - i - j;
if (k >= 0 && k < static_cast<int>(A.size())) {
t1 = t1 + A[i] * A[j] * A[k];
}
}
}
ans = ans + t1;
// Term 2: 3*x*A(x)A(x^2)
BigInteger t2(0);
for (int j = 0; j <= (m-1)/2; ++j) {
int i = m-1 - 2*j;
if (i >= 0 && i < static_cast<int>(A.size()) && j < static_cast<int>(A.size())) {
t2 = t2 + A[i] * A[j];
}
}
ans = ans + t2 * 3;
// Term 3: 2*x*A(x^3)
BigInteger t3(0);
if ((m-1) % 3 == 0) {
int idx = (m-1)/3;
if (idx < static_cast<int>(A.size()))
t3 = A[idx];
}
ans = ans + t3 * 2;
// 除以6
ans = ans.divide(6);
if (static_cast<int>(A.size()) <= m)
A.resize(m+1);
A[m] = ans;
}
// 计算带标记碳原子的烷烃数量P[m]
void Calc_P_m(int m) {
if (static_cast<int>(P.size()) > m) return;
if (static_cast<int>(A.size()) <= m) Calc_A_m(m);
BigInteger ans(0);
// Term 1: x*A(x)^4
BigInteger t1(0);
for (int i = 0; i < m; ++i) {
for (int j = 0; j <= m-1-i; ++j) {
for (int k = 0; k <= m-1-i-j; ++k) {
int l = m-1 - i - j - k;
if (l >= 0 && l < static_cast<int>(A.size())) {
t1 = t1 + A[i] * A[j] * A[k] * A[l];
}
}
}
}
ans = ans + t1;
// Term 2: 6*x*A(x)^2A(x^2)
BigInteger t2(0);
for (int k = 0; k <= (m-1)/2; ++k) {
for (int i = 0; i <= m-1-2*k; ++i) {
int j = m-1 - 2*k - i;
if (i < static_cast<int>(A.size()) && j < static_cast<int>(A.size()) && k < static_cast<int>(A.size())) {
t2 = t2 + A[i] * A[j] * A[k];
}
}
}
ans = ans + t2 * 6;
// Term 3: 3*x*A(x^2)^2
BigInteger t3(0);
if ((m-1) % 2 == 0) {
int half = (m-1)/2;
for (int i = 0; i <= half; ++i) {
int j = half - i;
if (i < static_cast<int>(A.size()) && j < static_cast<int>(A.size())) {
t3 = t3 + A[i] * A[j];
}
}
}
ans = ans + t3 * 3;
// Term 4: 8*x*A(x)A(x^3)
BigInteger t4(0);
for (int j = 0; j <= (m-1)/3; ++j) {
int i = m-1 - 3*j;
if (i >= 0 && i < static_cast<int>(A.size()) && j < static_cast<int>(A.size())) {
t4 = t4 + A[i] * A[j];
}
}
ans = ans + t4 * 8;
// Term 5: 6*x*A(x^4)
BigInteger t5(0);
if ((m-1) % 4 == 0) {
int idx = (m-1)/4;
if (idx < static_cast<int>(A.size()))
t5 = A[idx];
}
ans = ans + t5 * 6;
// 除以24
ans = ans.divide(24);
if (static_cast<int>(P.size()) <= m)
P.resize(m+1);
P[m] = ans;
}
// 计算带标记碳-碳键的烷烃数量Q[m]
void Calc_Q_m(int m) {
if (static_cast<int>(Q.size()) > m) return;
if (static_cast<int>(A.size()) <= m) Calc_A_m(m);
if (m == 1) {
if (static_cast<int>(Q.size()) <= m)
Q.resize(m+1);
Q[m] = BigInteger(0);
return;
}
BigInteger ans(0);
// Term 1: (A(x)^2 + A(x^2)) / 2
BigInteger t1(0);
for (int i = 0; i <= m; ++i) {
if (i < static_cast<int>(A.size()) && (m-i) < static_cast<int>(A.size())) {
t1 = t1 + A[i] * A[m-i];
}
}
if (m % 2 == 0) {
int idx = m/2;
if (idx < static_cast<int>(A.size()))
t1 = t1 + A[idx];
}
ans = t1.divide(2);
// Term 2: -A(x)
ans = ans - A[m];
if (static_cast<int>(Q.size()) <= m)
Q.resize(m+1);
Q[m] = ans;
}
// 计算烷烃同分异构体数量C[m]
void Calc_C_m(int m) {
if (static_cast<int>(A.size()) <= m) Calc_A_m(m);
if (static_cast<int>(P.size()) <= m) Calc_P_m(m);
if (static_cast<int>(Q.size()) <= m) Calc_Q_m(m);
BigInteger ans = P[m] - Q[m];
if (m % 2 == 0) {
int idx = m/2;
if (idx < static_cast<int>(A.size()))
ans = ans + A[idx];
}
if (static_cast<int>(C.size()) <= m)
C.resize(m+1);
C[m] = ans;
}
// ================== 主函数 ==================
int main() {
// 预先计算结果
for (int num = 1; num <= CALC_CARBON; ++num) {
Calc_A_m(num);
Calc_P_m(num);
Calc_Q_m(num);
Calc_C_m(num);
cout << "C" << num << "H" << 2*num+2 << ": " << C[num].toString() << endl;
}
/*
// 输出烷基结果
cout << "烷基自由基同分异构体数:\n";
for (int num = 1; num <= min(20, CALC_CARBON); ++num) {
cout << "C" << num << "H" << 2*num+1 << "-: " << A[num].toString() << endl;
}
if (CALC_CARBON > 20) {
cout << "\n... (省略中间结果)\n\n";
for (int num = CALC_CARBON-4; num <= CALC_CARBON; ++num) {
cout << "C" << num << "H" << 2*num+1 << "-: " << A[num].toString() << endl;
}
}
// 输出烷烃结果
cout << "\n烷烃同分异构体数:\n";
for (int num = 1; num <= min(20, CALC_CARBON); ++num) {
cout << "C" << num << "H" << 2*num+2 << ": " << C[num].toString() << endl;
}
if (CALC_CARBON > 20) {
cout << "\n... (省略中间结果)\n\n";
for (int num = CALC_CARBON-4; num <= CALC_CARBON; ++num) {
cout << "C" << num << "H" << 2*num+2 << ": " << C[num].toString() << endl;
}
}
// 测试大数运算
cout << "\n===== 大数运算测试 =====" << endl;
BigInteger x("123456789012345678901234567890");
BigInteger y("987654321098765432109876543210");
cout << "x = " << x.toString() << endl;
cout << "y = " << y.toString() << endl;
BigInteger sum = x + y;
cout << "x + y = " << sum.toString() << endl;
BigInteger diff = y - x;
cout << "y - x = " << diff.toString() << endl;
BigInteger prod = x * y;
cout << "x * y = " << prod.toString() << endl;
*/
return 0;
}
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)