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
Code:
ld2 { v0.4h, v1.4h }, [x6], x8 nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop
mov x0, 1 mov x1, 2 mov x8, 0
(no loop instructions)
Retires (minus 60 nops): 3.000
Issues: 4.002
Integer unit issues: 1.001
Load/store unit issues: 1.000
SIMD/FP unit issues: 2.002
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map ldst uop (7d) | map simd uop (7e) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) |
63005 | 29822 | 4069 | 1007 | 2056 | 1006 | 1006 | 2012 | 1000 | 3000 | 3000 | 15284 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29398 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15270 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29405 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15270 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29410 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15270 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29397 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15270 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29410 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15270 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29394 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15270 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29406 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15270 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29408 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15270 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63005 | 29423 | 4003 | 1001 | 2002 | 1000 | 1001 | 2002 | 1000 | 3000 | 3000 | 15270 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
Chain cycles: 3
Code:
ld2 { v0.4h, v1.4h }, [x6], x8 fmov x0, d0 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)
Result (median cycles for code, minus 3 chain cycles): 9.0047
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
70205 | 120150 | 90121 | 50102 | 30018 | 10001 | 40132 | 30032 | 10003 | 3199229 | 949307 | 2906421 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199475 | 949495 | 2906873 | 80114 | 30208 | 10003 | 30009 | 60218 | 20008 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120047 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199233 | 949364 | 2906547 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120047 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199286 | 949434 | 2906692 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120047 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199286 | 949434 | 2906692 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120047 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199286 | 949434 | 2906692 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70205 | 120080 | 90120 | 50109 | 30010 | 10001 | 40137 | 30033 | 10003 | 3199286 | 949434 | 2906692 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120047 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199286 | 949434 | 2906692 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120047 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199286 | 949434 | 2906692 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
Result (median cycles for code, minus 3 chain cycles): 9.0047
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
70025 | 120159 | 90031 | 50012 | 30018 | 10001 | 40042 | 30032 | 10000 | 3199304 | 949587 | 2909130 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120047 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3199350 | 949653 | 2909282 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120047 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3199350 | 949653 | 2909282 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120047 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3199350 | 949653 | 2909282 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120047 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10012 | 3199757 | 949803 | 2909675 | 80092 | 30058 | 10013 | 30037 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120047 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3199350 | 949653 | 2909282 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120047 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3199350 | 949653 | 2909282 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120047 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3199350 | 949653 | 2909282 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120047 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3199350 | 949653 | 2909282 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120050 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3199404 | 949671 | 2909332 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
Chain cycles: 3
Code:
ld2 { v0.4h, v1.4h }, [x6], x8 fmov x1, d1 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)
Result (median cycles for code, minus 3 chain cycles): 9.2442
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
70206 | 122562 | 90132 | 50108 | 30022 | 10002 | 40163 | 30060 | 10003 | 3263985 | 968488 | 2958431 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263718 | 968521 | 2958428 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263718 | 968521 | 2958428 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263718 | 968521 | 2958428 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263718 | 968521 | 2958428 | 80114 | 30208 | 10003 | 30009 | 60278 | 20024 | 30037 | 50007 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263718 | 968521 | 2958428 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263718 | 968521 | 2958428 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263718 | 968521 | 2958428 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263718 | 968521 | 2958428 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10012 | 3263790 | 968527 | 2958439 | 80182 | 30239 | 10012 | 30037 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
Result (median cycles for code, minus 3 chain cycles): 9.2908
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
70025 | 123019 | 90031 | 50012 | 30018 | 10001 | 40042 | 30032 | 10003 | 3279520 | 973392 | 2973318 | 80023 | 30028 | 10003 | 30009 | 60036 | 20006 | 30009 | 50001 | 10000 | 20000 | 40010 |
70024 | 122908 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3276585 | 972535 | 2970624 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122908 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3276585 | 972535 | 2970624 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122908 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3276585 | 972535 | 2970624 | 80010 | 30020 | 10000 | 30000 | 60096 | 20026 | 30037 | 50006 | 10000 | 20000 | 40010 |
70024 | 122908 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3276585 | 972535 | 2970624 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122908 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3276639 | 972553 | 2970676 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122908 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3276585 | 972535 | 2970624 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122908 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10003 | 3278381 | 973113 | 2972394 | 80025 | 30029 | 10004 | 30009 | 60036 | 20006 | 30009 | 50001 | 10000 | 20000 | 40010 |
70024 | 122915 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3280122 | 973707 | 2973993 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122908 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3276585 | 972535 | 2970624 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
Count: 8
Code:
ld2 { v0.4h, v1.4h }, [x6], x8 ld2 { v0.4h, v1.4h }, [x6], x8 ld2 { v0.4h, v1.4h }, [x6], x8 ld2 { v0.4h, v1.4h }, [x6], x8 ld2 { v0.4h, v1.4h }, [x6], x8 ld2 { v0.4h, v1.4h }, [x6], x8 ld2 { v0.4h, v1.4h }, [x6], x8 ld2 { v0.4h, v1.4h }, [x6], x8
mov x7, x6 mov x8, x6 mov x9, x6 mov x10, x6 mov x11, x6 mov x12, x6 mov x13, x6 mov x8, 0
(fused SUBS/B.cc loop)
Result (median cycles for code divided by count): 1.0012
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
240205 | 80226 | 320250 | 80122 | 160107 | 80021 | 80123 | 160036 | 80006 | 355524 | 355185 | 1259162 | 320122 | 200 | 80006 | 160012 | 200 | 160016 | 160016 | 80006 | 80000 | 160000 | 100 |
240204 | 80109 | 320135 | 80106 | 160024 | 80005 | 80106 | 160010 | 80007 | 336631 | 336468 | 1292353 | 320124 | 200 | 80007 | 160013 | 200 | 160016 | 160016 | 80006 | 80000 | 160000 | 100 |
240204 | 80095 | 320135 | 80105 | 160026 | 80004 | 80107 | 160010 | 80007 | 330720 | 330400 | 1274821 | 320124 | 200 | 80007 | 160013 | 200 | 160012 | 160010 | 80004 | 80000 | 160000 | 100 |
240204 | 80095 | 320134 | 80105 | 160025 | 80004 | 80107 | 160010 | 80008 | 336406 | 336071 | 1279854 | 320128 | 200 | 80008 | 160016 | 200 | 160016 | 160016 | 80006 | 80000 | 160000 | 100 |
240204 | 80095 | 320134 | 80105 | 160025 | 80004 | 80107 | 160010 | 80007 | 336839 | 336500 | 1287645 | 320124 | 200 | 80007 | 160013 | 200 | 160014 | 160013 | 80005 | 80000 | 160000 | 100 |
240204 | 80095 | 320137 | 80106 | 160026 | 80005 | 80108 | 160012 | 80035 | 352352 | 352016 | 1293110 | 320237 | 200 | 80035 | 160069 | 200 | 160014 | 160013 | 80006 | 80000 | 160000 | 100 |
240204 | 80095 | 320136 | 80106 | 160025 | 80005 | 80107 | 160010 | 80007 | 334438 | 334119 | 1285083 | 320124 | 200 | 80007 | 160013 | 200 | 160014 | 160013 | 80006 | 80000 | 160000 | 100 |
240204 | 80095 | 320132 | 80105 | 160023 | 80004 | 80107 | 160009 | 80006 | 333423 | 333102 | 1282683 | 320120 | 200 | 80006 | 160010 | 200 | 160014 | 160013 | 80006 | 80000 | 160000 | 100 |
240204 | 80098 | 320134 | 80105 | 160025 | 80004 | 80107 | 160010 | 80008 | 336406 | 336080 | 1279854 | 320128 | 200 | 80008 | 160016 | 200 | 160014 | 160013 | 80006 | 80000 | 160000 | 100 |
240204 | 80095 | 320134 | 80105 | 160025 | 80004 | 80107 | 160010 | 80007 | 329899 | 329578 | 1260234 | 320124 | 200 | 80007 | 160013 | 200 | 160134 | 160133 | 80064 | 80000 | 160000 | 100 |
Result (median cycles for code divided by count): 1.0006
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
240026 | 80253 | 320293 | 80061 | 160182 | 80050 | 80063 | 160093 | 80007 | 321769 | 321745 | 1563162 | 320035 | 20 | 80008 | 160016 | 20 | 160012 | 160010 | 80004 | 80000 | 160000 | 10 |
240024 | 80055 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 322504 | 322477 | 1556285 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 337998 | 337972 | 1570471 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80008 | 338033 | 338007 | 1570551 | 320038 | 20 | 80008 | 160016 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 333883 | 333859 | 1562891 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 321395 | 321371 | 1558441 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 321395 | 321371 | 1558441 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240025 | 80106 | 320161 | 80044 | 160084 | 80033 | 80046 | 160068 | 80000 | 329084 | 329061 | 1568315 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 322166 | 322143 | 1569361 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 322166 | 322143 | 1569361 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |