Apple Microarchitecture Research by Dougall Johnson

M1/A14 P-core (Firestorm): Overview | Base Instructions | SIMD and FP Instructions
M1/A14 E-core (Icestorm):  Overview | Base Instructions | SIMD and FP Instructions

LDPSW (post-index)

Test 1: uops

Code:

  ldpsw x0, x1, [x6], #8
  mov x0, 1
  mov x1, 2
  mov x8, 0

(no loop instructions)

1000 unrolls and 1 iteration

Retires: 3.000

Issues: 2.000

Integer unit issues: 1.000

Load/store unit issues: 1.000

SIMD/FP unit issues: 0.000

retire uop (01)cycle (02)03l1d tlb fill (05)mmu table walk data (08)09l2 tlb miss data (0b)181e20223a3e3f404346494f51schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)606d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map int uop inputs (7f)map ldst uop inputs (80)8283flush restart other nonspec (84)85inst all (8c)inst int load (95)inst ldst (9b)9dl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss st (a2)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9abacafb5b6bbl1d cache miss ld nonspec (bf)l1d tlb miss nonspec (c1)c2c3cfd5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)eaebec? ldst retires (ed)? int retires (ef)f5f6f7f8fd
30051040800100790040102915485925200010001000100010005284945595110401040574364820001000200010001000104438111001100010000100780781051201402710465762840710732162210371000302501000200010411041104110411041
3004104681000098121581029736418252000100010001000100052818455890104010445743648200010002000100010001040381110011000100001030605310454030184610523374464700732162210371000372481000200010451045104110411041
3004104071101061200301025162952025200010001000100010005285445591110411040574364820001000200010001000104038111001100010000103462661045911904010292642848610732162210371000152201000200010411045104110451041
3004104071101055003010250536142520001000100010001000528464559101040104057436482000100020001000100010413811100110001000010077045103101203410272042364720732162210371000332201000200010411041104110411041
3004104081200047015010251121814142520001000100010001000528454559111040104057436482000100020001000100010403811100110001000010206053103800103310382144340700732162210201000232001000200010451041104110411041
30041040710010681806121025061192425200010001000100010005283745589110441044574365220001000200010001000104038111001100010000100870711049602803810271733548700732162210201000353001000200010411041104110411041
30041040711010651404010291841271225200010001000100010005285745590110401040574364820001000200010001000104438111001100010000102360331044301902710162832948710732162210371000242501000200010411041104110411045
300410407100108222020102602771025200010001000100010005283345591110401044574364820001000200010001000104038111001100010000102171401020101481610222861656610732162210371000382501000200010411041104110411041
300410408110007414140102510110911252000100010001000100052827455921104410405743652200010002000100010001040381110011000100001026813210361013122010123431672700732162210201000262201000200010451045104510451045
300410407110005414130102513244132520001000100010001000528494559011044104057436482000100020001000100010443811100110001000010087048102800002510143431756610732162210201000382401000200010411041104110451041

Test 2: Latency 1->3 (with chain penalty)

Chain cycles: 3

Code:

  ldpsw x0, x1, [x6], #8
  eor x8, x8, x0
  eor x8, x8, x0
  add x6, x6, x8
  mov x0, 1
  mov x1, 2
  mov x8, 0

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code, minus 3 chain cycles): 4.1766

retire uop (01)cycle (02)03l1d tlb fill (05)mmu table walk data (08)0e0f1e2022293e3f4043494d51schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)60696a6b6d6emap stall dispatch (70)int prf full (71)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map int uop inputs (7f)map ldst uop inputs (80)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int load (95)inst int alu (97)inst ldst (9b)9fl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss st (a2)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9abacafb5bbl1d cache miss ld nonspec (bf)l1d tlb miss nonspec (c1)c2c3cfd5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)eaebec? ldst retires (ed)? int retires (ef)f5f6f7f8fd
602097218953910005378101608100718607844271612255079040596101304010010000618806274648604968533071614717776402703639975030140200200007020010000716083511402011009910010000301001000010010906013554010625247128844426109011162137009261025811714954048495291888010000501007184271776718557200571862
60204717325380101569834169611271770787227143825507304064010128401001000061785227386771496855207173171688639090364244501004020020000702001000071510351140201100991001000030100100001001091601574991065123899154829109211292125057261015811715474047694696499810000501007177671747715827152072029
6020471819539010052483117361247169980923716562550720405961013340100100006189412740848049687160717227187563960036409850100402002000070200100007173635114020110099100100003010010000100109260159492106532841394012226109281313142007261015811714954047687093486610000501007195471645719077177371548
60204718295380000589816172092717548072171407255075040560101344010010000618347274174514968521071607717046382203643825010040200200007020010000718943511402011009910010000301001000010010930014950810612271109125035109371182141035267315811715294050882790488210000501007162571617719757174071814
6020471804536000055783216161447176683532716432550725405601012240100100006188962739264149686610718307200463938036457550100402002000070200100007171035114020110099100100003010010000100108990156508106502619909782310934135211703102610158117150040552100495290410000501007180471637717097168371828
602047180853400005888221776144717527773271434255076540664101394010010000617231273819214968754071825715936411903641655010040200200007020010000717343511402011009910010000301001000010010926115750610656267129043234109121282123003261015811714714054894085480010000501007171171697717207192571725
60204717485370000488815168813271651790237157725507504065610118401001000061623227366180496858407175271616639430364344501004020020000702001000071569351140201100991001000030100100001001090401605041065127079124835109171192135003261015811717174052895689086410000501007188171695719177172071835
60204718705380000617832170410071714787227140125507204059610131401001000061934627394781496846707164371725638900364121501004020020000702001000071877351140201100991001000030100100001001089801134851064027469042830109211282127003261015811715224047281086296210000501007169571738717437183771609
60204717245370010564826172013671645800227159825507704060010130401001000061736627453590496874907186671855640620364277501004020020000702001000071732351140201100991001000030100100001001090601435591063326479028032109131322133039261015811717794053283089494010000501007187471704717667189771757
6020471717538020049482017041047182579632716772550805406601014340100100006175912747003149688390717107172763987036413450100402002000070200100007163335114020110099100100003010010000100109280139497106542531093734261094014021320092610158117154240508102692292010000501007168571733719827184671758

1000 unrolls and 10 iterations

Result (median cycles for code, minus 3 chain cycles): 4.1986

retire uop (01)cycle (02)030e0f191e1f2022293a3e3f4043494d51schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)5f60696a6d6emap stall dispatch (70)int prf full (71)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map int uop inputs (7f)map ldst uop inputs (80)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int load (95)inst int alu (97)inst ldst (9b)9d9fl1d tlb access (a0)l1d cache miss st (a2)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9abacafb5bbl1d cache miss ld nonspec (bf)c2c3cfl1i cache miss demand (d3)d5map dispatch bubble (d6)d9dadbddfetch restart (de)e0? int output thing (e9)eaebec? ldst retires (ed)? int retires (ef)f5f6f7f8fd
60029722685380106140839173601167200881262720172550755405661014340010100006197952746972004968970720627240764203036468250010400202000070020100007211035114002110910100003001010000010109361514801066128411944503410938127712938252003640002271711405761064104995210000500107208272012720077198372072
600247190354000046307901704013271896800627174125507204063410130400101000062286027610610049689447196672113642100364378500104002020000700201000071981351140021109101000030010100000101092117248010651261519485433109291266124002520026400022717954055211151108110110000500107192172057720377192171946
600247210954000095808311736010072057809417170925506554055010128400101000061959727524190149687977185972005642860364464500104002020000700201000071957351140021109101000030010100000101091716050710653282158772237109411397133022520026400022719194054811161019111810000500107198472134719857186471799
6002471964539000485084617360108719037856271741255070040514101414001010000617590274519301496895871953720006401603641315001040020200007002010000720123511400211091010000300101000001010914135491106392761190228461088612911126302520026400022717344056410541027116910000500107205871949720697208771878
600247202653800046308261704010871938819427178425507404055010153400101000061867027542211149689457192371839640450364432500104002020000700201000071947351140021109101000030010100000101092114747310642267148998031108841226132312520026400022716554057610141144111310000500107202672069720157190471944
6002471937539000464082117120108717167906271736255068540518101274001010000617950275929000496883971841717926424903644205001040020200007002010000718843511400211091010000300101000001010927146511106212591390266421091412510129002520026400022718154055211621106110810000500107190371895720127190771993
6002471756539000465083217440112718618036371843255070040522101284001010000618796274450700496895471861719496415603643925001040020200007002010000718563511400211091010000300101000001010910158483106342731392854371092312761313112520026400022717164051610241046111810000500107197172092720087200772058
60024719115390004900836174411287190879372717082550675405461013140010100006199212752611004968915720987222164177036424750010400202000070020100007198835114002110910100003001010000010108951774921063527099094828109171157124382520026400022718984061210341083108110000500107172571967719967171472397
600247193954000045908151736014071906840627185125507304055410141400101000061860727509730049688707194372242641730364480500104002020000700201000071772351140021109101000030010100000101091215050310665262129267036109071367137002520026400022718044056410851111108810000500107189871958720147197672007
600247198653800047008361720116872001831817169625507004052610141400101000061872427545010049689287193572178641020364503500104002020000700201000071933351140021109101000030010100000101091614553810721262109405836109491227126002520026400022719074053211131021107110000500107192672020720227189271839

Test 3: Latency 2->3 (with chain penalty)

Chain cycles: 3

Code:

  ldpsw x0, x1, [x6], #8
  eor x8, x8, x1
  eor x8, x8, x1
  add x6, x6, x8
  mov x0, 1
  mov x1, 2
  mov x8, 0

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code, minus 3 chain cycles): 4.1873

retire uop (01)cycle (02)030e0f1e1f2022293a3e3f4043494d51schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)60696a6b6d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map int uop inputs (7f)map ldst uop inputs (80)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int load (95)inst int alu (97)inst ldst (9b)9fl1d tlb access (a0)l1d cache miss st (a2)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9abacafb5bbl1d cache miss ld nonspec (bf)c2c3branch cond mispred nonspec (c5)cfd5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)eaebec? ldst retires (ed)? int retires (ef)f5f6f7f8fd
6020972078542013650842171208071861774227171725507054059610118401001000061803527475950496886507176171739641193644145010040200200007020010000718083511402011009910010000301001000010010914157506106442549878441410896124212200026102571171832405329991028111710000501007192772056719347204971941
602047181253900424080717360140718717722271734255077540632101214010010000618692274845804968826071874717946409336444150100402002000070200100007188435114020110099100100003010010000100108591664651063227098942811109311242130080261015711715814048812661144105710000501007179972046718717182571935
602047199653901390079817760567177979623716002550670405521012240100100006203932743839149687860718277202864056364252501004020020000702001000071831351140201100991001000030100100001001090614948410609252789774201087012421270402610157117174340532956118393810000501007189371596718227176071897
6020471908539004570780153608871695769227166525507104062410132401001000061927727434250496877407186571762639373642335010040200200007020010000719763511402011009910010000301001000010010915175492106712487908120201092311521260180261015711718444048011141029108210000501007199272055720837199471932
6020471963538003870796168801127176780532716312550735406481012240100100006203302747045049687670717657190964025364300501004020020000702001000071852351140201100991001000030100100001001089416250610637239890832201087712321163602610157117156840508968109598410000501007156471879718957182772088
602047157753800329081117280132716667862371514255074540604101304010010000619556274171104968861371656719146405136430250100402002000070200100007164035114020110099100100003010010000100109051544671061327369019414109051302139030261015711717154047210951062111510000501007193871942720067191271751
60204718565400041607711696096721397983271433255075540620101344010010000620291274356804968896071863718886390636417650100402002000070200100007178635114020110099100100003010010000100109051364951063024479225014109151172119030261015711715734046410761033104610000501007179671621717057180171899
60204719535390042608171768056719207852171942255077540632101204010010000621689274911604968611072030719006414036447250100402002000070200100007181435114020110099100100003010010000100109071394541064125469324811109081212133090261015711717454054011381055103710000501007175871825718217167971855
60204716865400038908371752092717367752271343255068540620101254010010000619133274369804968755071855719266418036429450100402002000070551100007204935114020110099100100003010010000100109121454911062227279294820108831223123090261015711716064050410771109104810000501007186871947717287181071884
6020471995539014560815170406871854783227157425506754062410127401001000062001527545530496880707179972049639513643255010040200200007020010000716813511402011009910010000301001000010010908162483106612769914132810897119213233026101571171504405041037104394110000501007187471968718387184771934

1000 unrolls and 10 iterations

Result (median cycles for code, minus 3 chain cycles): 4.1943

retire uop (01)cycle (02)03l1d tlb fill (05)mmu table walk data (08)09l2 tlb miss data (0b)0e0f1e2022293a3e3f4043494d51schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)5f60696a6d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map int uop inputs (7f)map ldst uop inputs (80)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int load (95)inst int alu (97)inst ldst (9b)9d9fl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss st (a2)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9abacafb5bbl1d cache miss ld nonspec (bf)l1d tlb miss nonspec (c1)c2c3cfd5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)eaebec? ldst retires (ed)? int retires (ef)f5f6f7f8fd
600297216153920000043883317522807173184914716832550655404821012940010100006191022750313004968802719027196364229364162500104002020102700201000072082351140021109101000030010100001101092211524661065026099783229109061282145013252026433718424055211391040115310000500107197472101720227187872017
6002471847540200000442806171221087212978911716592550645405341012440010100006195252738920014968974718957189364270364394500104002020000700201000071921351140021109101000030010100000101091021534941066526489424422109051293133205252016411717274056810821155105710000500107184271797720207215371917
600247197553920020045481516962647197980012716412550660405821014540010100006181932746211014968916719647187164318364355500104002020000700201000071870351140021109101000030010100000101088021375051063626868859418109031264143239252016412717994052411731073107710000500107199372056719477197372009
6002471909538200000428775173621367184779721717204350670405861013540010100006174552749841014968964719207200564188364488500104002020000700201000071991351140021109101000030010100000101094231494611064125889076625109261394159235252016444718834059211721066108810000500107197972119719937192171927
60024718465383000004348451720310472059798327183225506804053810118400101000061996627499210049689577179471916642183644515001040020200007002010000719033511400211091010000300101000001010924313548210653275109685222109481184143303252046433718564051211361036109010000500107201672098719077215871837
600247189553830010043981617283108719698022171931255061540566101314001010000617392275044801496904972011718486420636440250010400202000070020100007199635114002110910100003001010000010109213141512106592541188150231091513841382013252016433715644057611031122108210000500107185571991718837203072187
6002472111540300000437821174431327182480412717732550595405741013440010100006188502753261014969238719197199164149364314500104002020000700201000071985351140021109101000030010100000101093241254661065226689156826109021325149436252016411718214054411631129106710000500107196571763720377201872000
600247183553840000039182017122100718227712171844255068540502101194001010000619264275288501496882871840719906412636454550010400202000070020100007191335114002110910100003001010000010108951716447810654279159165220109401313153203252016411717614055611351020109610000500107194871876719327175772031
600247184453840400040480317203156720768031171765255070040542101204001010000619345275191401496912371941719916398536436150010400202000070020100007190835114002110910100003001010000010109164142507106702758933281510917128414230425201641171745404889951037109310000500107191172077719897180572108
6002471979539300000385840172841087189681511717812550665405141014040010100006205872747981114968799719947195864202364319500104002020000700201000071848351140021109101000030010100000101093931514881065428489157626108881144144337252016421719144054810621223123210000500107205772135720797195071985

Test 4: throughput

Count: 8

Code:

  ldpsw x0, x1, [x6], #8
  ldpsw x0, x1, [x7], #8
  ldpsw x0, x1, [x8], #8
  ldpsw x0, x1, [x9], #8
  ldpsw x0, x1, [x10], #8
  ldpsw x0, x1, [x11], #8
  ldpsw x0, x1, [x12], #8
  ldpsw x0, x1, [x13], #8
  mov x7, x6
  mov x8, x6
  mov x9, x6
  mov x10, x6
  mov x11, x6
  mov x12, x6
  mov x13, x6

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code divided by count): 0.3934

retire uop (01)cycle (02)03l1d tlb fill (05)mmu table walk instruction (07)mmu table walk data (08)l2 tlb miss instruction (0a)l2 tlb miss data (0b)0e0f18191e1f2022293a3e3f404346494f51schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)6067696a6d6emap stall dispatch (70)int prf full (71)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map int uop inputs (7f)map ldst uop inputs (80)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)92inst branch cond (94)inst int load (95)inst int alu (97)inst ldst (9b)9fl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss st (a2)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9abacafb5b6bbl1d cache miss ld nonspec (bf)l1d tlb miss nonspec (c1)c2c3cfd5map dispatch bubble (d6)ddfetch restart (de)e0e7? int output thing (e9)eaebec? ldst retires (ed)? int retires (ef)f5f6f7f8fd
240209320132390000000006472081016648668313557423562026198313172516011880129800008010080000400580657941116492854431635314791290172315031601008020016000080200800003151338118020110099131008000010080000100808911640550338528165512868244493860247911104695514533035112416443163229800224102988800001601003135531581316233150131321
240204314892350000000006370075716728611631543743333215022461297251601208012480000801008000040057762800111549283593153831405132911331352160100802001600008020080000314053811802011009918100800001008000010080835043151848492873713861364896848867421365052487416045110416433130638800185074363800001601003148331658315793143431561
240204314402360000001006387077717448596314647423181977204711692516012580116800008010080000400581663817124492849931537315441126115314801601008020016000080200800003134038118020110099111008000010080000100809611640854438494076212906138469385175774122527349350065110416533138319800263984021800001601003172431367313873144431395
2402043128523510000010066480790168096144315317283202231196012332516011480119800008010080000400600665476118492834331403315761315219313491601008020016000080200800003150438118020110099610080000100800001008095016436590384670740129471325039856147681215197481901135110316443162031800273643742800001601003156331413314073153431820
24020431519236000001000664107771664791163154880035719412000139825160127801208000080100800004005516676731214928356315323151513721103161816010080200160000802008000031542381180201100991110080000100800001008086804245177851517341891332481186054764113475249890035110416443141927800334283916800001601003136231371314263145931487
2402043165823710000000064040820169675723152577531319912058127225160127801168000080100800004005786577611144928464313523136311993133129916010080200160000802008000031553381180201100991310080000100800001008086203934677846827471584680487785595793106518846590035110416443133224800233794040800001601003187431652317103161431406
2402043152223620000010064800789167291220315337713472246213815012516012480123800008010080000400557660148126492826831616314891285170313891601008020016000080200800003143738118020110099121008000010080000100809013139655098476175012858704648857448451214756498716035110416343160439800264163635800001601003151131565313323150431481
240204317272381000001006297081016641011363135777234420332044127725160121801238000080100800004005376582671124928332315403133014541683159416010080200160000802008000031470381180201100991210080000100800001008094433369532884898712168841665027858457561125203490832035110416443162019800293134086800001601003144931497314293151631699
2402043152223610101010064410796167286108315097603321875220412142516012180123800008010080000400554645658128492829531614314381282146314371601008020016000080200801153163138118020110099121008000010080000100810051639650678508276415942745119858437821215150442132005112416643153126800243743927800001601003151031499314383145631333
24020431355238200010000683607471696728031452766357182617511283251601278012880000801008000040055765639312449283443161031218121113131338160100802001600008020080000313103811802011009961008000010080000100809421737753998471474711825324623859067511254830493233055110416443141624800304223493800001601003151631635315813142631463

1000 unrolls and 10 iterations

Result (median cycles for code divided by count): 0.3953

retire uop (01)cycle (02)03090e0f181e2022293a3e3f404346494f51schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)6067696a6d6emap stall dispatch (70)int prf full (71)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map int uop inputs (7f)map ldst uop inputs (80)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)92inst branch cond (94)inst int load (95)inst int alu (97)inst ldst (9b)9d9fl1d tlb access (a0)l1d cache miss st (a2)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9abacafb5b6bbl1d cache miss ld nonspec (bf)c2c3cfd0d2l1i cache miss demand (d3)d5map dispatch bubble (d6)d9dadbddfetch restart (de)e0e7? int output thing (e9)eaebec? ldst retires (ed)? int retires (ef)f5f6f7f8fd
240029317702360000685380316881281003153679541318271724154425160038800338000080010800004001286808441214928632318363171415031093179016001080020160000800208000031563381180022109321080000108000001080868363656985754612119063447408560177412750175333695020000315000113154925800196425194800001600103169131691315373153831605
240024317102370000668475816961411283152376843218402009153225160029800288000080010800004001256700871254928609316643152316221693156716001080020160000800208000031510381180021109491080000108000001080860357569685465614129426846888605870613148464906055020000115000113150227800345574741800001600103167631616317223163731575
240024316262380000697179316729496316247334061868198413772516002680039800008001080000400115672811021492863531531316681670963139716001080020160000800208000031570381180021109451080000108000011080856365540485140657119073255758608668212451275102305020000115000113159028800255605624800001600103158231663315503145531768
24002431622236000066277531656111843183175943117751532164725160030800298000080010800004001286532291124928793315583182714491073172616001080020160000800208000031885381180021109431080000108000001080887388548684763599128579054368608776514452925642045020000115000113178927800315455683800001600103150231646316893182631738
24002431682238000064507751704118100315457814041923205416752516003280034800008001080000400110687477126492889131534316111410102316731600108002016000080020800003172138118002110949108000010800000108090241861818587161298823646438601175012646945103005020000115000113159320800266096113800001600103178531782317603174731907
24002431797236000070127751704116923162776342717531802171725160035800378000080010800004001206762260184928892315803161815008531711160010800201600008002080000318313811800211095810800001080000010809853455746851455981185412453088599480110949014890045020000116000223163826800236374715800001600103163131722313523152931667
24002431419238000064278311680107963182175440919421713134025160038800238000080010800004001346459491234928678316963159413991013151516001080020160000800208000031622381180021109381080000108000001080900378569985455588128444659048618168011849076132685020000115000113179622800225555182800001600103150931637316723162331622
24002431888235000072107441696103104317547513941763185015892516003080032800008001080000400128658691022492837831870319871466893166916001080020160000800208000031616381180021109311080000108000001080858368508384787626128682652238630160411753074823085020000116000113156145800165576079800001600103178631554316033172131775
24002431505237100064927581680119963161477842016762035166425160024800318000080010800004001396828821204928701315283166515571253180816001080020160000801328011331650381180021109361080000108000001080881364583285047580118748652188613372611950644819045020000115000113164428800286025752800001600103170831649316773165731774
24002431610236000070147981704124240316617613961982179313652516003180037800008001080000400118681911126492878131701317641542673155316001080020160000800208000031641381180021109451080000108000001080843371573485258626118603252898654466712652604872035020000116000113162431800145826073800001600103158531266316673164031654