From 85f2b063697ad717c7d681b0fffcda591eabbbf4 Mon Sep 17 00:00:00 2001 From: gnzlbg Date: Thu, 9 Nov 2017 18:29:19 +0100 Subject: [PATCH] [tbm] fix bextri --- src/x86/macros.rs | 4113 +++++++++++++++++++++++++++++++++++++++++++++ src/x86/tbm.rs | 64 +- 2 files changed, 4154 insertions(+), 23 deletions(-) diff --git a/src/x86/macros.rs b/src/x86/macros.rs index f268a3499b..c8bdfb9588 100644 --- a/src/x86/macros.rs +++ b/src/x86/macros.rs @@ -350,3 +350,4116 @@ macro_rules! assert_approx_eq { *a, *b, $eps, (*a - *b).abs()); }) } + +// The tbm's `BEXTR` instruction takes a 32-bit control argument, +// whose bits 0:7 identify the start of the bit range to extract, +// and 8:15 the length of the range. There are only 32 and 64 bit +// versions of the intrinsic. That is, the integers in the bit +// ranges 0:7 and 8:15 are at most in range [0, 64). This macro +// expands all 16 bit integers whose bits in 0:7 and 8:15 are in +// that range. This results in 4096 (64 * 64) match arms. +#[cfg(not(feature = "intel_sde"))] +macro_rules! constify_bextri2 { + ($v:expr, $expand:ident) => { + #[cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] + #[allow(overflowing_literals)] + match $v { + 0 => $expand!(0), + 256 => $expand!(256), + 512 => $expand!(512), + 768 => $expand!(768), + 1024 => $expand!(1024), + 1280 => $expand!(1280), + 1536 => $expand!(1536), + 1792 => $expand!(1792), + 2048 => $expand!(2048), + 2304 => $expand!(2304), + 2560 => $expand!(2560), + 2816 => $expand!(2816), + 3072 => $expand!(3072), + 3328 => $expand!(3328), + 3584 => $expand!(3584), + 3840 => $expand!(3840), + 4096 => $expand!(4096), + 4352 => $expand!(4352), + 4608 => $expand!(4608), + 4864 => $expand!(4864), + 5120 => $expand!(5120), + 5376 => $expand!(5376), + 5632 => $expand!(5632), + 5888 => $expand!(5888), + 6144 => $expand!(6144), + 6400 => $expand!(6400), + 6656 => $expand!(6656), + 6912 => $expand!(6912), + 7168 => $expand!(7168), + 7424 => $expand!(7424), + 7680 => $expand!(7680), + 7936 => $expand!(7936), + 8192 => $expand!(8192), + 8448 => $expand!(8448), + 8704 => $expand!(8704), + 8960 => $expand!(8960), + 9216 => $expand!(9216), + 9472 => $expand!(9472), + 9728 => $expand!(9728), + 9984 => $expand!(9984), + 10240 => $expand!(10240), + 10496 => $expand!(10496), + 10752 => $expand!(10752), + 11008 => $expand!(11008), + 11264 => $expand!(11264), + 11520 => $expand!(11520), + 11776 => $expand!(11776), + 12032 => $expand!(12032), + 12288 => $expand!(12288), + 12544 => $expand!(12544), + 12800 => $expand!(12800), + 13056 => $expand!(13056), + 13312 => $expand!(13312), + 13568 => $expand!(13568), + 13824 => $expand!(13824), + 14080 => $expand!(14080), + 14336 => $expand!(14336), + 14592 => $expand!(14592), + 14848 => $expand!(14848), + 15104 => $expand!(15104), + 15360 => $expand!(15360), + 15616 => $expand!(15616), + 15872 => $expand!(15872), + 16128 => $expand!(16128), + 1 => $expand!(1), + 257 => $expand!(257), + 513 => $expand!(513), + 769 => $expand!(769), + 1025 => $expand!(1025), + 1281 => $expand!(1281), + 1537 => $expand!(1537), + 1793 => $expand!(1793), + 2049 => $expand!(2049), + 2305 => $expand!(2305), + 2561 => $expand!(2561), + 2817 => $expand!(2817), + 3073 => $expand!(3073), + 3329 => $expand!(3329), + 3585 => $expand!(3585), + 3841 => $expand!(3841), + 4097 => $expand!(4097), + 4353 => $expand!(4353), + 4609 => $expand!(4609), + 4865 => $expand!(4865), + 5121 => $expand!(5121), + 5377 => $expand!(5377), + 5633 => $expand!(5633), + 5889 => $expand!(5889), + 6145 => $expand!(6145), + 6401 => $expand!(6401), + 6657 => $expand!(6657), + 6913 => $expand!(6913), + 7169 => $expand!(7169), + 7425 => $expand!(7425), + 7681 => $expand!(7681), + 7937 => $expand!(7937), + 8193 => $expand!(8193), + 8449 => $expand!(8449), + 8705 => $expand!(8705), + 8961 => $expand!(8961), + 9217 => $expand!(9217), + 9473 => $expand!(9473), + 9729 => $expand!(9729), + 9985 => $expand!(9985), + 10241 => $expand!(10241), + 10497 => $expand!(10497), + 10753 => $expand!(10753), + 11009 => $expand!(11009), + 11265 => $expand!(11265), + 11521 => $expand!(11521), + 11777 => $expand!(11777), + 12033 => $expand!(12033), + 12289 => $expand!(12289), + 12545 => $expand!(12545), + 12801 => $expand!(12801), + 13057 => $expand!(13057), + 13313 => $expand!(13313), + 13569 => $expand!(13569), + 13825 => $expand!(13825), + 14081 => $expand!(14081), + 14337 => $expand!(14337), + 14593 => $expand!(14593), + 14849 => $expand!(14849), + 15105 => $expand!(15105), + 15361 => $expand!(15361), + 15617 => $expand!(15617), + 15873 => $expand!(15873), + 16129 => $expand!(16129), + 2 => $expand!(2), + 258 => $expand!(258), + 514 => $expand!(514), + 770 => $expand!(770), + 1026 => $expand!(1026), + 1282 => $expand!(1282), + 1538 => $expand!(1538), + 1794 => $expand!(1794), + 2050 => $expand!(2050), + 2306 => $expand!(2306), + 2562 => $expand!(2562), + 2818 => $expand!(2818), + 3074 => $expand!(3074), + 3330 => $expand!(3330), + 3586 => $expand!(3586), + 3842 => $expand!(3842), + 4098 => $expand!(4098), + 4354 => $expand!(4354), + 4610 => $expand!(4610), + 4866 => $expand!(4866), + 5122 => $expand!(5122), + 5378 => $expand!(5378), + 5634 => $expand!(5634), + 5890 => $expand!(5890), + 6146 => $expand!(6146), + 6402 => $expand!(6402), + 6658 => $expand!(6658), + 6914 => $expand!(6914), + 7170 => $expand!(7170), + 7426 => $expand!(7426), + 7682 => $expand!(7682), + 7938 => $expand!(7938), + 8194 => $expand!(8194), + 8450 => $expand!(8450), + 8706 => $expand!(8706), + 8962 => $expand!(8962), + 9218 => $expand!(9218), + 9474 => $expand!(9474), + 9730 => $expand!(9730), + 9986 => $expand!(9986), + 10242 => $expand!(10242), + 10498 => $expand!(10498), + 10754 => $expand!(10754), + 11010 => $expand!(11010), + 11266 => $expand!(11266), + 11522 => $expand!(11522), + 11778 => $expand!(11778), + 12034 => $expand!(12034), + 12290 => $expand!(12290), + 12546 => $expand!(12546), + 12802 => $expand!(12802), + 13058 => $expand!(13058), + 13314 => $expand!(13314), + 13570 => $expand!(13570), + 13826 => $expand!(13826), + 14082 => $expand!(14082), + 14338 => $expand!(14338), + 14594 => $expand!(14594), + 14850 => $expand!(14850), + 15106 => $expand!(15106), + 15362 => $expand!(15362), + 15618 => $expand!(15618), + 15874 => $expand!(15874), + 16130 => $expand!(16130), + 3 => $expand!(3), + 259 => $expand!(259), + 515 => $expand!(515), + 771 => $expand!(771), + 1027 => $expand!(1027), + 1283 => $expand!(1283), + 1539 => $expand!(1539), + 1795 => $expand!(1795), + 2051 => $expand!(2051), + 2307 => $expand!(2307), + 2563 => $expand!(2563), + 2819 => $expand!(2819), + 3075 => $expand!(3075), + 3331 => $expand!(3331), + 3587 => $expand!(3587), + 3843 => $expand!(3843), + 4099 => $expand!(4099), + 4355 => $expand!(4355), + 4611 => $expand!(4611), + 4867 => $expand!(4867), + 5123 => $expand!(5123), + 5379 => $expand!(5379), + 5635 => $expand!(5635), + 5891 => $expand!(5891), + 6147 => $expand!(6147), + 6403 => $expand!(6403), + 6659 => $expand!(6659), + 6915 => $expand!(6915), + 7171 => $expand!(7171), + 7427 => $expand!(7427), + 7683 => $expand!(7683), + 7939 => $expand!(7939), + 8195 => $expand!(8195), + 8451 => $expand!(8451), + 8707 => $expand!(8707), + 8963 => $expand!(8963), + 9219 => $expand!(9219), + 9475 => $expand!(9475), + 9731 => $expand!(9731), + 9987 => $expand!(9987), + 10243 => $expand!(10243), + 10499 => $expand!(10499), + 10755 => $expand!(10755), + 11011 => $expand!(11011), + 11267 => $expand!(11267), + 11523 => $expand!(11523), + 11779 => $expand!(11779), + 12035 => $expand!(12035), + 12291 => $expand!(12291), + 12547 => $expand!(12547), + 12803 => $expand!(12803), + 13059 => $expand!(13059), + 13315 => $expand!(13315), + 13571 => $expand!(13571), + 13827 => $expand!(13827), + 14083 => $expand!(14083), + 14339 => $expand!(14339), + 14595 => $expand!(14595), + 14851 => $expand!(14851), + 15107 => $expand!(15107), + 15363 => $expand!(15363), + 15619 => $expand!(15619), + 15875 => $expand!(15875), + 16131 => $expand!(16131), + 4 => $expand!(4), + 260 => $expand!(260), + 516 => $expand!(516), + 772 => $expand!(772), + 1028 => $expand!(1028), + 1284 => $expand!(1284), + 1540 => $expand!(1540), + 1796 => $expand!(1796), + 2052 => $expand!(2052), + 2308 => $expand!(2308), + 2564 => $expand!(2564), + 2820 => $expand!(2820), + 3076 => $expand!(3076), + 3332 => $expand!(3332), + 3588 => $expand!(3588), + 3844 => $expand!(3844), + 4100 => $expand!(4100), + 4356 => $expand!(4356), + 4612 => $expand!(4612), + 4868 => $expand!(4868), + 5124 => $expand!(5124), + 5380 => $expand!(5380), + 5636 => $expand!(5636), + 5892 => $expand!(5892), + 6148 => $expand!(6148), + 6404 => $expand!(6404), + 6660 => $expand!(6660), + 6916 => $expand!(6916), + 7172 => $expand!(7172), + 7428 => $expand!(7428), + 7684 => $expand!(7684), + 7940 => $expand!(7940), + 8196 => $expand!(8196), + 8452 => $expand!(8452), + 8708 => $expand!(8708), + 8964 => $expand!(8964), + 9220 => $expand!(9220), + 9476 => $expand!(9476), + 9732 => $expand!(9732), + 9988 => $expand!(9988), + 10244 => $expand!(10244), + 10500 => $expand!(10500), + 10756 => $expand!(10756), + 11012 => $expand!(11012), + 11268 => $expand!(11268), + 11524 => $expand!(11524), + 11780 => $expand!(11780), + 12036 => $expand!(12036), + 12292 => $expand!(12292), + 12548 => $expand!(12548), + 12804 => $expand!(12804), + 13060 => $expand!(13060), + 13316 => $expand!(13316), + 13572 => $expand!(13572), + 13828 => $expand!(13828), + 14084 => $expand!(14084), + 14340 => $expand!(14340), + 14596 => $expand!(14596), + 14852 => $expand!(14852), + 15108 => $expand!(15108), + 15364 => $expand!(15364), + 15620 => $expand!(15620), + 15876 => $expand!(15876), + 16132 => $expand!(16132), + 5 => $expand!(5), + 261 => $expand!(261), + 517 => $expand!(517), + 773 => $expand!(773), + 1029 => $expand!(1029), + 1285 => $expand!(1285), + 1541 => $expand!(1541), + 1797 => $expand!(1797), + 2053 => $expand!(2053), + 2309 => $expand!(2309), + 2565 => $expand!(2565), + 2821 => $expand!(2821), + 3077 => $expand!(3077), + 3333 => $expand!(3333), + 3589 => $expand!(3589), + 3845 => $expand!(3845), + 4101 => $expand!(4101), + 4357 => $expand!(4357), + 4613 => $expand!(4613), + 4869 => $expand!(4869), + 5125 => $expand!(5125), + 5381 => $expand!(5381), + 5637 => $expand!(5637), + 5893 => $expand!(5893), + 6149 => $expand!(6149), + 6405 => $expand!(6405), + 6661 => $expand!(6661), + 6917 => $expand!(6917), + 7173 => $expand!(7173), + 7429 => $expand!(7429), + 7685 => $expand!(7685), + 7941 => $expand!(7941), + 8197 => $expand!(8197), + 8453 => $expand!(8453), + 8709 => $expand!(8709), + 8965 => $expand!(8965), + 9221 => $expand!(9221), + 9477 => $expand!(9477), + 9733 => $expand!(9733), + 9989 => $expand!(9989), + 10245 => $expand!(10245), + 10501 => $expand!(10501), + 10757 => $expand!(10757), + 11013 => $expand!(11013), + 11269 => $expand!(11269), + 11525 => $expand!(11525), + 11781 => $expand!(11781), + 12037 => $expand!(12037), + 12293 => $expand!(12293), + 12549 => $expand!(12549), + 12805 => $expand!(12805), + 13061 => $expand!(13061), + 13317 => $expand!(13317), + 13573 => $expand!(13573), + 13829 => $expand!(13829), + 14085 => $expand!(14085), + 14341 => $expand!(14341), + 14597 => $expand!(14597), + 14853 => $expand!(14853), + 15109 => $expand!(15109), + 15365 => $expand!(15365), + 15621 => $expand!(15621), + 15877 => $expand!(15877), + 16133 => $expand!(16133), + 6 => $expand!(6), + 262 => $expand!(262), + 518 => $expand!(518), + 774 => $expand!(774), + 1030 => $expand!(1030), + 1286 => $expand!(1286), + 1542 => $expand!(1542), + 1798 => $expand!(1798), + 2054 => $expand!(2054), + 2310 => $expand!(2310), + 2566 => $expand!(2566), + 2822 => $expand!(2822), + 3078 => $expand!(3078), + 3334 => $expand!(3334), + 3590 => $expand!(3590), + 3846 => $expand!(3846), + 4102 => $expand!(4102), + 4358 => $expand!(4358), + 4614 => $expand!(4614), + 4870 => $expand!(4870), + 5126 => $expand!(5126), + 5382 => $expand!(5382), + 5638 => $expand!(5638), + 5894 => $expand!(5894), + 6150 => $expand!(6150), + 6406 => $expand!(6406), + 6662 => $expand!(6662), + 6918 => $expand!(6918), + 7174 => $expand!(7174), + 7430 => $expand!(7430), + 7686 => $expand!(7686), + 7942 => $expand!(7942), + 8198 => $expand!(8198), + 8454 => $expand!(8454), + 8710 => $expand!(8710), + 8966 => $expand!(8966), + 9222 => $expand!(9222), + 9478 => $expand!(9478), + 9734 => $expand!(9734), + 9990 => $expand!(9990), + 10246 => $expand!(10246), + 10502 => $expand!(10502), + 10758 => $expand!(10758), + 11014 => $expand!(11014), + 11270 => $expand!(11270), + 11526 => $expand!(11526), + 11782 => $expand!(11782), + 12038 => $expand!(12038), + 12294 => $expand!(12294), + 12550 => $expand!(12550), + 12806 => $expand!(12806), + 13062 => $expand!(13062), + 13318 => $expand!(13318), + 13574 => $expand!(13574), + 13830 => $expand!(13830), + 14086 => $expand!(14086), + 14342 => $expand!(14342), + 14598 => $expand!(14598), + 14854 => $expand!(14854), + 15110 => $expand!(15110), + 15366 => $expand!(15366), + 15622 => $expand!(15622), + 15878 => $expand!(15878), + 16134 => $expand!(16134), + 7 => $expand!(7), + 263 => $expand!(263), + 519 => $expand!(519), + 775 => $expand!(775), + 1031 => $expand!(1031), + 1287 => $expand!(1287), + 1543 => $expand!(1543), + 1799 => $expand!(1799), + 2055 => $expand!(2055), + 2311 => $expand!(2311), + 2567 => $expand!(2567), + 2823 => $expand!(2823), + 3079 => $expand!(3079), + 3335 => $expand!(3335), + 3591 => $expand!(3591), + 3847 => $expand!(3847), + 4103 => $expand!(4103), + 4359 => $expand!(4359), + 4615 => $expand!(4615), + 4871 => $expand!(4871), + 5127 => $expand!(5127), + 5383 => $expand!(5383), + 5639 => $expand!(5639), + 5895 => $expand!(5895), + 6151 => $expand!(6151), + 6407 => $expand!(6407), + 6663 => $expand!(6663), + 6919 => $expand!(6919), + 7175 => $expand!(7175), + 7431 => $expand!(7431), + 7687 => $expand!(7687), + 7943 => $expand!(7943), + 8199 => $expand!(8199), + 8455 => $expand!(8455), + 8711 => $expand!(8711), + 8967 => $expand!(8967), + 9223 => $expand!(9223), + 9479 => $expand!(9479), + 9735 => $expand!(9735), + 9991 => $expand!(9991), + 10247 => $expand!(10247), + 10503 => $expand!(10503), + 10759 => $expand!(10759), + 11015 => $expand!(11015), + 11271 => $expand!(11271), + 11527 => $expand!(11527), + 11783 => $expand!(11783), + 12039 => $expand!(12039), + 12295 => $expand!(12295), + 12551 => $expand!(12551), + 12807 => $expand!(12807), + 13063 => $expand!(13063), + 13319 => $expand!(13319), + 13575 => $expand!(13575), + 13831 => $expand!(13831), + 14087 => $expand!(14087), + 14343 => $expand!(14343), + 14599 => $expand!(14599), + 14855 => $expand!(14855), + 15111 => $expand!(15111), + 15367 => $expand!(15367), + 15623 => $expand!(15623), + 15879 => $expand!(15879), + 16135 => $expand!(16135), + 8 => $expand!(8), + 264 => $expand!(264), + 520 => $expand!(520), + 776 => $expand!(776), + 1032 => $expand!(1032), + 1288 => $expand!(1288), + 1544 => $expand!(1544), + 1800 => $expand!(1800), + 2056 => $expand!(2056), + 2312 => $expand!(2312), + 2568 => $expand!(2568), + 2824 => $expand!(2824), + 3080 => $expand!(3080), + 3336 => $expand!(3336), + 3592 => $expand!(3592), + 3848 => $expand!(3848), + 4104 => $expand!(4104), + 4360 => $expand!(4360), + 4616 => $expand!(4616), + 4872 => $expand!(4872), + 5128 => $expand!(5128), + 5384 => $expand!(5384), + 5640 => $expand!(5640), + 5896 => $expand!(5896), + 6152 => $expand!(6152), + 6408 => $expand!(6408), + 6664 => $expand!(6664), + 6920 => $expand!(6920), + 7176 => $expand!(7176), + 7432 => $expand!(7432), + 7688 => $expand!(7688), + 7944 => $expand!(7944), + 8200 => $expand!(8200), + 8456 => $expand!(8456), + 8712 => $expand!(8712), + 8968 => $expand!(8968), + 9224 => $expand!(9224), + 9480 => $expand!(9480), + 9736 => $expand!(9736), + 9992 => $expand!(9992), + 10248 => $expand!(10248), + 10504 => $expand!(10504), + 10760 => $expand!(10760), + 11016 => $expand!(11016), + 11272 => $expand!(11272), + 11528 => $expand!(11528), + 11784 => $expand!(11784), + 12040 => $expand!(12040), + 12296 => $expand!(12296), + 12552 => $expand!(12552), + 12808 => $expand!(12808), + 13064 => $expand!(13064), + 13320 => $expand!(13320), + 13576 => $expand!(13576), + 13832 => $expand!(13832), + 14088 => $expand!(14088), + 14344 => $expand!(14344), + 14600 => $expand!(14600), + 14856 => $expand!(14856), + 15112 => $expand!(15112), + 15368 => $expand!(15368), + 15624 => $expand!(15624), + 15880 => $expand!(15880), + 16136 => $expand!(16136), + 9 => $expand!(9), + 265 => $expand!(265), + 521 => $expand!(521), + 777 => $expand!(777), + 1033 => $expand!(1033), + 1289 => $expand!(1289), + 1545 => $expand!(1545), + 1801 => $expand!(1801), + 2057 => $expand!(2057), + 2313 => $expand!(2313), + 2569 => $expand!(2569), + 2825 => $expand!(2825), + 3081 => $expand!(3081), + 3337 => $expand!(3337), + 3593 => $expand!(3593), + 3849 => $expand!(3849), + 4105 => $expand!(4105), + 4361 => $expand!(4361), + 4617 => $expand!(4617), + 4873 => $expand!(4873), + 5129 => $expand!(5129), + 5385 => $expand!(5385), + 5641 => $expand!(5641), + 5897 => $expand!(5897), + 6153 => $expand!(6153), + 6409 => $expand!(6409), + 6665 => $expand!(6665), + 6921 => $expand!(6921), + 7177 => $expand!(7177), + 7433 => $expand!(7433), + 7689 => $expand!(7689), + 7945 => $expand!(7945), + 8201 => $expand!(8201), + 8457 => $expand!(8457), + 8713 => $expand!(8713), + 8969 => $expand!(8969), + 9225 => $expand!(9225), + 9481 => $expand!(9481), + 9737 => $expand!(9737), + 9993 => $expand!(9993), + 10249 => $expand!(10249), + 10505 => $expand!(10505), + 10761 => $expand!(10761), + 11017 => $expand!(11017), + 11273 => $expand!(11273), + 11529 => $expand!(11529), + 11785 => $expand!(11785), + 12041 => $expand!(12041), + 12297 => $expand!(12297), + 12553 => $expand!(12553), + 12809 => $expand!(12809), + 13065 => $expand!(13065), + 13321 => $expand!(13321), + 13577 => $expand!(13577), + 13833 => $expand!(13833), + 14089 => $expand!(14089), + 14345 => $expand!(14345), + 14601 => $expand!(14601), + 14857 => $expand!(14857), + 15113 => $expand!(15113), + 15369 => $expand!(15369), + 15625 => $expand!(15625), + 15881 => $expand!(15881), + 16137 => $expand!(16137), + 10 => $expand!(10), + 266 => $expand!(266), + 522 => $expand!(522), + 778 => $expand!(778), + 1034 => $expand!(1034), + 1290 => $expand!(1290), + 1546 => $expand!(1546), + 1802 => $expand!(1802), + 2058 => $expand!(2058), + 2314 => $expand!(2314), + 2570 => $expand!(2570), + 2826 => $expand!(2826), + 3082 => $expand!(3082), + 3338 => $expand!(3338), + 3594 => $expand!(3594), + 3850 => $expand!(3850), + 4106 => $expand!(4106), + 4362 => $expand!(4362), + 4618 => $expand!(4618), + 4874 => $expand!(4874), + 5130 => $expand!(5130), + 5386 => $expand!(5386), + 5642 => $expand!(5642), + 5898 => $expand!(5898), + 6154 => $expand!(6154), + 6410 => $expand!(6410), + 6666 => $expand!(6666), + 6922 => $expand!(6922), + 7178 => $expand!(7178), + 7434 => $expand!(7434), + 7690 => $expand!(7690), + 7946 => $expand!(7946), + 8202 => $expand!(8202), + 8458 => $expand!(8458), + 8714 => $expand!(8714), + 8970 => $expand!(8970), + 9226 => $expand!(9226), + 9482 => $expand!(9482), + 9738 => $expand!(9738), + 9994 => $expand!(9994), + 10250 => $expand!(10250), + 10506 => $expand!(10506), + 10762 => $expand!(10762), + 11018 => $expand!(11018), + 11274 => $expand!(11274), + 11530 => $expand!(11530), + 11786 => $expand!(11786), + 12042 => $expand!(12042), + 12298 => $expand!(12298), + 12554 => $expand!(12554), + 12810 => $expand!(12810), + 13066 => $expand!(13066), + 13322 => $expand!(13322), + 13578 => $expand!(13578), + 13834 => $expand!(13834), + 14090 => $expand!(14090), + 14346 => $expand!(14346), + 14602 => $expand!(14602), + 14858 => $expand!(14858), + 15114 => $expand!(15114), + 15370 => $expand!(15370), + 15626 => $expand!(15626), + 15882 => $expand!(15882), + 16138 => $expand!(16138), + 11 => $expand!(11), + 267 => $expand!(267), + 523 => $expand!(523), + 779 => $expand!(779), + 1035 => $expand!(1035), + 1291 => $expand!(1291), + 1547 => $expand!(1547), + 1803 => $expand!(1803), + 2059 => $expand!(2059), + 2315 => $expand!(2315), + 2571 => $expand!(2571), + 2827 => $expand!(2827), + 3083 => $expand!(3083), + 3339 => $expand!(3339), + 3595 => $expand!(3595), + 3851 => $expand!(3851), + 4107 => $expand!(4107), + 4363 => $expand!(4363), + 4619 => $expand!(4619), + 4875 => $expand!(4875), + 5131 => $expand!(5131), + 5387 => $expand!(5387), + 5643 => $expand!(5643), + 5899 => $expand!(5899), + 6155 => $expand!(6155), + 6411 => $expand!(6411), + 6667 => $expand!(6667), + 6923 => $expand!(6923), + 7179 => $expand!(7179), + 7435 => $expand!(7435), + 7691 => $expand!(7691), + 7947 => $expand!(7947), + 8203 => $expand!(8203), + 8459 => $expand!(8459), + 8715 => $expand!(8715), + 8971 => $expand!(8971), + 9227 => $expand!(9227), + 9483 => $expand!(9483), + 9739 => $expand!(9739), + 9995 => $expand!(9995), + 10251 => $expand!(10251), + 10507 => $expand!(10507), + 10763 => $expand!(10763), + 11019 => $expand!(11019), + 11275 => $expand!(11275), + 11531 => $expand!(11531), + 11787 => $expand!(11787), + 12043 => $expand!(12043), + 12299 => $expand!(12299), + 12555 => $expand!(12555), + 12811 => $expand!(12811), + 13067 => $expand!(13067), + 13323 => $expand!(13323), + 13579 => $expand!(13579), + 13835 => $expand!(13835), + 14091 => $expand!(14091), + 14347 => $expand!(14347), + 14603 => $expand!(14603), + 14859 => $expand!(14859), + 15115 => $expand!(15115), + 15371 => $expand!(15371), + 15627 => $expand!(15627), + 15883 => $expand!(15883), + 16139 => $expand!(16139), + 12 => $expand!(12), + 268 => $expand!(268), + 524 => $expand!(524), + 780 => $expand!(780), + 1036 => $expand!(1036), + 1292 => $expand!(1292), + 1548 => $expand!(1548), + 1804 => $expand!(1804), + 2060 => $expand!(2060), + 2316 => $expand!(2316), + 2572 => $expand!(2572), + 2828 => $expand!(2828), + 3084 => $expand!(3084), + 3340 => $expand!(3340), + 3596 => $expand!(3596), + 3852 => $expand!(3852), + 4108 => $expand!(4108), + 4364 => $expand!(4364), + 4620 => $expand!(4620), + 4876 => $expand!(4876), + 5132 => $expand!(5132), + 5388 => $expand!(5388), + 5644 => $expand!(5644), + 5900 => $expand!(5900), + 6156 => $expand!(6156), + 6412 => $expand!(6412), + 6668 => $expand!(6668), + 6924 => $expand!(6924), + 7180 => $expand!(7180), + 7436 => $expand!(7436), + 7692 => $expand!(7692), + 7948 => $expand!(7948), + 8204 => $expand!(8204), + 8460 => $expand!(8460), + 8716 => $expand!(8716), + 8972 => $expand!(8972), + 9228 => $expand!(9228), + 9484 => $expand!(9484), + 9740 => $expand!(9740), + 9996 => $expand!(9996), + 10252 => $expand!(10252), + 10508 => $expand!(10508), + 10764 => $expand!(10764), + 11020 => $expand!(11020), + 11276 => $expand!(11276), + 11532 => $expand!(11532), + 11788 => $expand!(11788), + 12044 => $expand!(12044), + 12300 => $expand!(12300), + 12556 => $expand!(12556), + 12812 => $expand!(12812), + 13068 => $expand!(13068), + 13324 => $expand!(13324), + 13580 => $expand!(13580), + 13836 => $expand!(13836), + 14092 => $expand!(14092), + 14348 => $expand!(14348), + 14604 => $expand!(14604), + 14860 => $expand!(14860), + 15116 => $expand!(15116), + 15372 => $expand!(15372), + 15628 => $expand!(15628), + 15884 => $expand!(15884), + 16140 => $expand!(16140), + 13 => $expand!(13), + 269 => $expand!(269), + 525 => $expand!(525), + 781 => $expand!(781), + 1037 => $expand!(1037), + 1293 => $expand!(1293), + 1549 => $expand!(1549), + 1805 => $expand!(1805), + 2061 => $expand!(2061), + 2317 => $expand!(2317), + 2573 => $expand!(2573), + 2829 => $expand!(2829), + 3085 => $expand!(3085), + 3341 => $expand!(3341), + 3597 => $expand!(3597), + 3853 => $expand!(3853), + 4109 => $expand!(4109), + 4365 => $expand!(4365), + 4621 => $expand!(4621), + 4877 => $expand!(4877), + 5133 => $expand!(5133), + 5389 => $expand!(5389), + 5645 => $expand!(5645), + 5901 => $expand!(5901), + 6157 => $expand!(6157), + 6413 => $expand!(6413), + 6669 => $expand!(6669), + 6925 => $expand!(6925), + 7181 => $expand!(7181), + 7437 => $expand!(7437), + 7693 => $expand!(7693), + 7949 => $expand!(7949), + 8205 => $expand!(8205), + 8461 => $expand!(8461), + 8717 => $expand!(8717), + 8973 => $expand!(8973), + 9229 => $expand!(9229), + 9485 => $expand!(9485), + 9741 => $expand!(9741), + 9997 => $expand!(9997), + 10253 => $expand!(10253), + 10509 => $expand!(10509), + 10765 => $expand!(10765), + 11021 => $expand!(11021), + 11277 => $expand!(11277), + 11533 => $expand!(11533), + 11789 => $expand!(11789), + 12045 => $expand!(12045), + 12301 => $expand!(12301), + 12557 => $expand!(12557), + 12813 => $expand!(12813), + 13069 => $expand!(13069), + 13325 => $expand!(13325), + 13581 => $expand!(13581), + 13837 => $expand!(13837), + 14093 => $expand!(14093), + 14349 => $expand!(14349), + 14605 => $expand!(14605), + 14861 => $expand!(14861), + 15117 => $expand!(15117), + 15373 => $expand!(15373), + 15629 => $expand!(15629), + 15885 => $expand!(15885), + 16141 => $expand!(16141), + 14 => $expand!(14), + 270 => $expand!(270), + 526 => $expand!(526), + 782 => $expand!(782), + 1038 => $expand!(1038), + 1294 => $expand!(1294), + 1550 => $expand!(1550), + 1806 => $expand!(1806), + 2062 => $expand!(2062), + 2318 => $expand!(2318), + 2574 => $expand!(2574), + 2830 => $expand!(2830), + 3086 => $expand!(3086), + 3342 => $expand!(3342), + 3598 => $expand!(3598), + 3854 => $expand!(3854), + 4110 => $expand!(4110), + 4366 => $expand!(4366), + 4622 => $expand!(4622), + 4878 => $expand!(4878), + 5134 => $expand!(5134), + 5390 => $expand!(5390), + 5646 => $expand!(5646), + 5902 => $expand!(5902), + 6158 => $expand!(6158), + 6414 => $expand!(6414), + 6670 => $expand!(6670), + 6926 => $expand!(6926), + 7182 => $expand!(7182), + 7438 => $expand!(7438), + 7694 => $expand!(7694), + 7950 => $expand!(7950), + 8206 => $expand!(8206), + 8462 => $expand!(8462), + 8718 => $expand!(8718), + 8974 => $expand!(8974), + 9230 => $expand!(9230), + 9486 => $expand!(9486), + 9742 => $expand!(9742), + 9998 => $expand!(9998), + 10254 => $expand!(10254), + 10510 => $expand!(10510), + 10766 => $expand!(10766), + 11022 => $expand!(11022), + 11278 => $expand!(11278), + 11534 => $expand!(11534), + 11790 => $expand!(11790), + 12046 => $expand!(12046), + 12302 => $expand!(12302), + 12558 => $expand!(12558), + 12814 => $expand!(12814), + 13070 => $expand!(13070), + 13326 => $expand!(13326), + 13582 => $expand!(13582), + 13838 => $expand!(13838), + 14094 => $expand!(14094), + 14350 => $expand!(14350), + 14606 => $expand!(14606), + 14862 => $expand!(14862), + 15118 => $expand!(15118), + 15374 => $expand!(15374), + 15630 => $expand!(15630), + 15886 => $expand!(15886), + 16142 => $expand!(16142), + 15 => $expand!(15), + 271 => $expand!(271), + 527 => $expand!(527), + 783 => $expand!(783), + 1039 => $expand!(1039), + 1295 => $expand!(1295), + 1551 => $expand!(1551), + 1807 => $expand!(1807), + 2063 => $expand!(2063), + 2319 => $expand!(2319), + 2575 => $expand!(2575), + 2831 => $expand!(2831), + 3087 => $expand!(3087), + 3343 => $expand!(3343), + 3599 => $expand!(3599), + 3855 => $expand!(3855), + 4111 => $expand!(4111), + 4367 => $expand!(4367), + 4623 => $expand!(4623), + 4879 => $expand!(4879), + 5135 => $expand!(5135), + 5391 => $expand!(5391), + 5647 => $expand!(5647), + 5903 => $expand!(5903), + 6159 => $expand!(6159), + 6415 => $expand!(6415), + 6671 => $expand!(6671), + 6927 => $expand!(6927), + 7183 => $expand!(7183), + 7439 => $expand!(7439), + 7695 => $expand!(7695), + 7951 => $expand!(7951), + 8207 => $expand!(8207), + 8463 => $expand!(8463), + 8719 => $expand!(8719), + 8975 => $expand!(8975), + 9231 => $expand!(9231), + 9487 => $expand!(9487), + 9743 => $expand!(9743), + 9999 => $expand!(9999), + 10255 => $expand!(10255), + 10511 => $expand!(10511), + 10767 => $expand!(10767), + 11023 => $expand!(11023), + 11279 => $expand!(11279), + 11535 => $expand!(11535), + 11791 => $expand!(11791), + 12047 => $expand!(12047), + 12303 => $expand!(12303), + 12559 => $expand!(12559), + 12815 => $expand!(12815), + 13071 => $expand!(13071), + 13327 => $expand!(13327), + 13583 => $expand!(13583), + 13839 => $expand!(13839), + 14095 => $expand!(14095), + 14351 => $expand!(14351), + 14607 => $expand!(14607), + 14863 => $expand!(14863), + 15119 => $expand!(15119), + 15375 => $expand!(15375), + 15631 => $expand!(15631), + 15887 => $expand!(15887), + 16143 => $expand!(16143), + 16 => $expand!(16), + 272 => $expand!(272), + 528 => $expand!(528), + 784 => $expand!(784), + 1040 => $expand!(1040), + 1296 => $expand!(1296), + 1552 => $expand!(1552), + 1808 => $expand!(1808), + 2064 => $expand!(2064), + 2320 => $expand!(2320), + 2576 => $expand!(2576), + 2832 => $expand!(2832), + 3088 => $expand!(3088), + 3344 => $expand!(3344), + 3600 => $expand!(3600), + 3856 => $expand!(3856), + 4112 => $expand!(4112), + 4368 => $expand!(4368), + 4624 => $expand!(4624), + 4880 => $expand!(4880), + 5136 => $expand!(5136), + 5392 => $expand!(5392), + 5648 => $expand!(5648), + 5904 => $expand!(5904), + 6160 => $expand!(6160), + 6416 => $expand!(6416), + 6672 => $expand!(6672), + 6928 => $expand!(6928), + 7184 => $expand!(7184), + 7440 => $expand!(7440), + 7696 => $expand!(7696), + 7952 => $expand!(7952), + 8208 => $expand!(8208), + 8464 => $expand!(8464), + 8720 => $expand!(8720), + 8976 => $expand!(8976), + 9232 => $expand!(9232), + 9488 => $expand!(9488), + 9744 => $expand!(9744), + 10000 => $expand!(10000), + 10256 => $expand!(10256), + 10512 => $expand!(10512), + 10768 => $expand!(10768), + 11024 => $expand!(11024), + 11280 => $expand!(11280), + 11536 => $expand!(11536), + 11792 => $expand!(11792), + 12048 => $expand!(12048), + 12304 => $expand!(12304), + 12560 => $expand!(12560), + 12816 => $expand!(12816), + 13072 => $expand!(13072), + 13328 => $expand!(13328), + 13584 => $expand!(13584), + 13840 => $expand!(13840), + 14096 => $expand!(14096), + 14352 => $expand!(14352), + 14608 => $expand!(14608), + 14864 => $expand!(14864), + 15120 => $expand!(15120), + 15376 => $expand!(15376), + 15632 => $expand!(15632), + 15888 => $expand!(15888), + 16144 => $expand!(16144), + 17 => $expand!(17), + 273 => $expand!(273), + 529 => $expand!(529), + 785 => $expand!(785), + 1041 => $expand!(1041), + 1297 => $expand!(1297), + 1553 => $expand!(1553), + 1809 => $expand!(1809), + 2065 => $expand!(2065), + 2321 => $expand!(2321), + 2577 => $expand!(2577), + 2833 => $expand!(2833), + 3089 => $expand!(3089), + 3345 => $expand!(3345), + 3601 => $expand!(3601), + 3857 => $expand!(3857), + 4113 => $expand!(4113), + 4369 => $expand!(4369), + 4625 => $expand!(4625), + 4881 => $expand!(4881), + 5137 => $expand!(5137), + 5393 => $expand!(5393), + 5649 => $expand!(5649), + 5905 => $expand!(5905), + 6161 => $expand!(6161), + 6417 => $expand!(6417), + 6673 => $expand!(6673), + 6929 => $expand!(6929), + 7185 => $expand!(7185), + 7441 => $expand!(7441), + 7697 => $expand!(7697), + 7953 => $expand!(7953), + 8209 => $expand!(8209), + 8465 => $expand!(8465), + 8721 => $expand!(8721), + 8977 => $expand!(8977), + 9233 => $expand!(9233), + 9489 => $expand!(9489), + 9745 => $expand!(9745), + 10001 => $expand!(10001), + 10257 => $expand!(10257), + 10513 => $expand!(10513), + 10769 => $expand!(10769), + 11025 => $expand!(11025), + 11281 => $expand!(11281), + 11537 => $expand!(11537), + 11793 => $expand!(11793), + 12049 => $expand!(12049), + 12305 => $expand!(12305), + 12561 => $expand!(12561), + 12817 => $expand!(12817), + 13073 => $expand!(13073), + 13329 => $expand!(13329), + 13585 => $expand!(13585), + 13841 => $expand!(13841), + 14097 => $expand!(14097), + 14353 => $expand!(14353), + 14609 => $expand!(14609), + 14865 => $expand!(14865), + 15121 => $expand!(15121), + 15377 => $expand!(15377), + 15633 => $expand!(15633), + 15889 => $expand!(15889), + 16145 => $expand!(16145), + 18 => $expand!(18), + 274 => $expand!(274), + 530 => $expand!(530), + 786 => $expand!(786), + 1042 => $expand!(1042), + 1298 => $expand!(1298), + 1554 => $expand!(1554), + 1810 => $expand!(1810), + 2066 => $expand!(2066), + 2322 => $expand!(2322), + 2578 => $expand!(2578), + 2834 => $expand!(2834), + 3090 => $expand!(3090), + 3346 => $expand!(3346), + 3602 => $expand!(3602), + 3858 => $expand!(3858), + 4114 => $expand!(4114), + 4370 => $expand!(4370), + 4626 => $expand!(4626), + 4882 => $expand!(4882), + 5138 => $expand!(5138), + 5394 => $expand!(5394), + 5650 => $expand!(5650), + 5906 => $expand!(5906), + 6162 => $expand!(6162), + 6418 => $expand!(6418), + 6674 => $expand!(6674), + 6930 => $expand!(6930), + 7186 => $expand!(7186), + 7442 => $expand!(7442), + 7698 => $expand!(7698), + 7954 => $expand!(7954), + 8210 => $expand!(8210), + 8466 => $expand!(8466), + 8722 => $expand!(8722), + 8978 => $expand!(8978), + 9234 => $expand!(9234), + 9490 => $expand!(9490), + 9746 => $expand!(9746), + 10002 => $expand!(10002), + 10258 => $expand!(10258), + 10514 => $expand!(10514), + 10770 => $expand!(10770), + 11026 => $expand!(11026), + 11282 => $expand!(11282), + 11538 => $expand!(11538), + 11794 => $expand!(11794), + 12050 => $expand!(12050), + 12306 => $expand!(12306), + 12562 => $expand!(12562), + 12818 => $expand!(12818), + 13074 => $expand!(13074), + 13330 => $expand!(13330), + 13586 => $expand!(13586), + 13842 => $expand!(13842), + 14098 => $expand!(14098), + 14354 => $expand!(14354), + 14610 => $expand!(14610), + 14866 => $expand!(14866), + 15122 => $expand!(15122), + 15378 => $expand!(15378), + 15634 => $expand!(15634), + 15890 => $expand!(15890), + 16146 => $expand!(16146), + 19 => $expand!(19), + 275 => $expand!(275), + 531 => $expand!(531), + 787 => $expand!(787), + 1043 => $expand!(1043), + 1299 => $expand!(1299), + 1555 => $expand!(1555), + 1811 => $expand!(1811), + 2067 => $expand!(2067), + 2323 => $expand!(2323), + 2579 => $expand!(2579), + 2835 => $expand!(2835), + 3091 => $expand!(3091), + 3347 => $expand!(3347), + 3603 => $expand!(3603), + 3859 => $expand!(3859), + 4115 => $expand!(4115), + 4371 => $expand!(4371), + 4627 => $expand!(4627), + 4883 => $expand!(4883), + 5139 => $expand!(5139), + 5395 => $expand!(5395), + 5651 => $expand!(5651), + 5907 => $expand!(5907), + 6163 => $expand!(6163), + 6419 => $expand!(6419), + 6675 => $expand!(6675), + 6931 => $expand!(6931), + 7187 => $expand!(7187), + 7443 => $expand!(7443), + 7699 => $expand!(7699), + 7955 => $expand!(7955), + 8211 => $expand!(8211), + 8467 => $expand!(8467), + 8723 => $expand!(8723), + 8979 => $expand!(8979), + 9235 => $expand!(9235), + 9491 => $expand!(9491), + 9747 => $expand!(9747), + 10003 => $expand!(10003), + 10259 => $expand!(10259), + 10515 => $expand!(10515), + 10771 => $expand!(10771), + 11027 => $expand!(11027), + 11283 => $expand!(11283), + 11539 => $expand!(11539), + 11795 => $expand!(11795), + 12051 => $expand!(12051), + 12307 => $expand!(12307), + 12563 => $expand!(12563), + 12819 => $expand!(12819), + 13075 => $expand!(13075), + 13331 => $expand!(13331), + 13587 => $expand!(13587), + 13843 => $expand!(13843), + 14099 => $expand!(14099), + 14355 => $expand!(14355), + 14611 => $expand!(14611), + 14867 => $expand!(14867), + 15123 => $expand!(15123), + 15379 => $expand!(15379), + 15635 => $expand!(15635), + 15891 => $expand!(15891), + 16147 => $expand!(16147), + 20 => $expand!(20), + 276 => $expand!(276), + 532 => $expand!(532), + 788 => $expand!(788), + 1044 => $expand!(1044), + 1300 => $expand!(1300), + 1556 => $expand!(1556), + 1812 => $expand!(1812), + 2068 => $expand!(2068), + 2324 => $expand!(2324), + 2580 => $expand!(2580), + 2836 => $expand!(2836), + 3092 => $expand!(3092), + 3348 => $expand!(3348), + 3604 => $expand!(3604), + 3860 => $expand!(3860), + 4116 => $expand!(4116), + 4372 => $expand!(4372), + 4628 => $expand!(4628), + 4884 => $expand!(4884), + 5140 => $expand!(5140), + 5396 => $expand!(5396), + 5652 => $expand!(5652), + 5908 => $expand!(5908), + 6164 => $expand!(6164), + 6420 => $expand!(6420), + 6676 => $expand!(6676), + 6932 => $expand!(6932), + 7188 => $expand!(7188), + 7444 => $expand!(7444), + 7700 => $expand!(7700), + 7956 => $expand!(7956), + 8212 => $expand!(8212), + 8468 => $expand!(8468), + 8724 => $expand!(8724), + 8980 => $expand!(8980), + 9236 => $expand!(9236), + 9492 => $expand!(9492), + 9748 => $expand!(9748), + 10004 => $expand!(10004), + 10260 => $expand!(10260), + 10516 => $expand!(10516), + 10772 => $expand!(10772), + 11028 => $expand!(11028), + 11284 => $expand!(11284), + 11540 => $expand!(11540), + 11796 => $expand!(11796), + 12052 => $expand!(12052), + 12308 => $expand!(12308), + 12564 => $expand!(12564), + 12820 => $expand!(12820), + 13076 => $expand!(13076), + 13332 => $expand!(13332), + 13588 => $expand!(13588), + 13844 => $expand!(13844), + 14100 => $expand!(14100), + 14356 => $expand!(14356), + 14612 => $expand!(14612), + 14868 => $expand!(14868), + 15124 => $expand!(15124), + 15380 => $expand!(15380), + 15636 => $expand!(15636), + 15892 => $expand!(15892), + 16148 => $expand!(16148), + 21 => $expand!(21), + 277 => $expand!(277), + 533 => $expand!(533), + 789 => $expand!(789), + 1045 => $expand!(1045), + 1301 => $expand!(1301), + 1557 => $expand!(1557), + 1813 => $expand!(1813), + 2069 => $expand!(2069), + 2325 => $expand!(2325), + 2581 => $expand!(2581), + 2837 => $expand!(2837), + 3093 => $expand!(3093), + 3349 => $expand!(3349), + 3605 => $expand!(3605), + 3861 => $expand!(3861), + 4117 => $expand!(4117), + 4373 => $expand!(4373), + 4629 => $expand!(4629), + 4885 => $expand!(4885), + 5141 => $expand!(5141), + 5397 => $expand!(5397), + 5653 => $expand!(5653), + 5909 => $expand!(5909), + 6165 => $expand!(6165), + 6421 => $expand!(6421), + 6677 => $expand!(6677), + 6933 => $expand!(6933), + 7189 => $expand!(7189), + 7445 => $expand!(7445), + 7701 => $expand!(7701), + 7957 => $expand!(7957), + 8213 => $expand!(8213), + 8469 => $expand!(8469), + 8725 => $expand!(8725), + 8981 => $expand!(8981), + 9237 => $expand!(9237), + 9493 => $expand!(9493), + 9749 => $expand!(9749), + 10005 => $expand!(10005), + 10261 => $expand!(10261), + 10517 => $expand!(10517), + 10773 => $expand!(10773), + 11029 => $expand!(11029), + 11285 => $expand!(11285), + 11541 => $expand!(11541), + 11797 => $expand!(11797), + 12053 => $expand!(12053), + 12309 => $expand!(12309), + 12565 => $expand!(12565), + 12821 => $expand!(12821), + 13077 => $expand!(13077), + 13333 => $expand!(13333), + 13589 => $expand!(13589), + 13845 => $expand!(13845), + 14101 => $expand!(14101), + 14357 => $expand!(14357), + 14613 => $expand!(14613), + 14869 => $expand!(14869), + 15125 => $expand!(15125), + 15381 => $expand!(15381), + 15637 => $expand!(15637), + 15893 => $expand!(15893), + 16149 => $expand!(16149), + 22 => $expand!(22), + 278 => $expand!(278), + 534 => $expand!(534), + 790 => $expand!(790), + 1046 => $expand!(1046), + 1302 => $expand!(1302), + 1558 => $expand!(1558), + 1814 => $expand!(1814), + 2070 => $expand!(2070), + 2326 => $expand!(2326), + 2582 => $expand!(2582), + 2838 => $expand!(2838), + 3094 => $expand!(3094), + 3350 => $expand!(3350), + 3606 => $expand!(3606), + 3862 => $expand!(3862), + 4118 => $expand!(4118), + 4374 => $expand!(4374), + 4630 => $expand!(4630), + 4886 => $expand!(4886), + 5142 => $expand!(5142), + 5398 => $expand!(5398), + 5654 => $expand!(5654), + 5910 => $expand!(5910), + 6166 => $expand!(6166), + 6422 => $expand!(6422), + 6678 => $expand!(6678), + 6934 => $expand!(6934), + 7190 => $expand!(7190), + 7446 => $expand!(7446), + 7702 => $expand!(7702), + 7958 => $expand!(7958), + 8214 => $expand!(8214), + 8470 => $expand!(8470), + 8726 => $expand!(8726), + 8982 => $expand!(8982), + 9238 => $expand!(9238), + 9494 => $expand!(9494), + 9750 => $expand!(9750), + 10006 => $expand!(10006), + 10262 => $expand!(10262), + 10518 => $expand!(10518), + 10774 => $expand!(10774), + 11030 => $expand!(11030), + 11286 => $expand!(11286), + 11542 => $expand!(11542), + 11798 => $expand!(11798), + 12054 => $expand!(12054), + 12310 => $expand!(12310), + 12566 => $expand!(12566), + 12822 => $expand!(12822), + 13078 => $expand!(13078), + 13334 => $expand!(13334), + 13590 => $expand!(13590), + 13846 => $expand!(13846), + 14102 => $expand!(14102), + 14358 => $expand!(14358), + 14614 => $expand!(14614), + 14870 => $expand!(14870), + 15126 => $expand!(15126), + 15382 => $expand!(15382), + 15638 => $expand!(15638), + 15894 => $expand!(15894), + 16150 => $expand!(16150), + 23 => $expand!(23), + 279 => $expand!(279), + 535 => $expand!(535), + 791 => $expand!(791), + 1047 => $expand!(1047), + 1303 => $expand!(1303), + 1559 => $expand!(1559), + 1815 => $expand!(1815), + 2071 => $expand!(2071), + 2327 => $expand!(2327), + 2583 => $expand!(2583), + 2839 => $expand!(2839), + 3095 => $expand!(3095), + 3351 => $expand!(3351), + 3607 => $expand!(3607), + 3863 => $expand!(3863), + 4119 => $expand!(4119), + 4375 => $expand!(4375), + 4631 => $expand!(4631), + 4887 => $expand!(4887), + 5143 => $expand!(5143), + 5399 => $expand!(5399), + 5655 => $expand!(5655), + 5911 => $expand!(5911), + 6167 => $expand!(6167), + 6423 => $expand!(6423), + 6679 => $expand!(6679), + 6935 => $expand!(6935), + 7191 => $expand!(7191), + 7447 => $expand!(7447), + 7703 => $expand!(7703), + 7959 => $expand!(7959), + 8215 => $expand!(8215), + 8471 => $expand!(8471), + 8727 => $expand!(8727), + 8983 => $expand!(8983), + 9239 => $expand!(9239), + 9495 => $expand!(9495), + 9751 => $expand!(9751), + 10007 => $expand!(10007), + 10263 => $expand!(10263), + 10519 => $expand!(10519), + 10775 => $expand!(10775), + 11031 => $expand!(11031), + 11287 => $expand!(11287), + 11543 => $expand!(11543), + 11799 => $expand!(11799), + 12055 => $expand!(12055), + 12311 => $expand!(12311), + 12567 => $expand!(12567), + 12823 => $expand!(12823), + 13079 => $expand!(13079), + 13335 => $expand!(13335), + 13591 => $expand!(13591), + 13847 => $expand!(13847), + 14103 => $expand!(14103), + 14359 => $expand!(14359), + 14615 => $expand!(14615), + 14871 => $expand!(14871), + 15127 => $expand!(15127), + 15383 => $expand!(15383), + 15639 => $expand!(15639), + 15895 => $expand!(15895), + 16151 => $expand!(16151), + 24 => $expand!(24), + 280 => $expand!(280), + 536 => $expand!(536), + 792 => $expand!(792), + 1048 => $expand!(1048), + 1304 => $expand!(1304), + 1560 => $expand!(1560), + 1816 => $expand!(1816), + 2072 => $expand!(2072), + 2328 => $expand!(2328), + 2584 => $expand!(2584), + 2840 => $expand!(2840), + 3096 => $expand!(3096), + 3352 => $expand!(3352), + 3608 => $expand!(3608), + 3864 => $expand!(3864), + 4120 => $expand!(4120), + 4376 => $expand!(4376), + 4632 => $expand!(4632), + 4888 => $expand!(4888), + 5144 => $expand!(5144), + 5400 => $expand!(5400), + 5656 => $expand!(5656), + 5912 => $expand!(5912), + 6168 => $expand!(6168), + 6424 => $expand!(6424), + 6680 => $expand!(6680), + 6936 => $expand!(6936), + 7192 => $expand!(7192), + 7448 => $expand!(7448), + 7704 => $expand!(7704), + 7960 => $expand!(7960), + 8216 => $expand!(8216), + 8472 => $expand!(8472), + 8728 => $expand!(8728), + 8984 => $expand!(8984), + 9240 => $expand!(9240), + 9496 => $expand!(9496), + 9752 => $expand!(9752), + 10008 => $expand!(10008), + 10264 => $expand!(10264), + 10520 => $expand!(10520), + 10776 => $expand!(10776), + 11032 => $expand!(11032), + 11288 => $expand!(11288), + 11544 => $expand!(11544), + 11800 => $expand!(11800), + 12056 => $expand!(12056), + 12312 => $expand!(12312), + 12568 => $expand!(12568), + 12824 => $expand!(12824), + 13080 => $expand!(13080), + 13336 => $expand!(13336), + 13592 => $expand!(13592), + 13848 => $expand!(13848), + 14104 => $expand!(14104), + 14360 => $expand!(14360), + 14616 => $expand!(14616), + 14872 => $expand!(14872), + 15128 => $expand!(15128), + 15384 => $expand!(15384), + 15640 => $expand!(15640), + 15896 => $expand!(15896), + 16152 => $expand!(16152), + 25 => $expand!(25), + 281 => $expand!(281), + 537 => $expand!(537), + 793 => $expand!(793), + 1049 => $expand!(1049), + 1305 => $expand!(1305), + 1561 => $expand!(1561), + 1817 => $expand!(1817), + 2073 => $expand!(2073), + 2329 => $expand!(2329), + 2585 => $expand!(2585), + 2841 => $expand!(2841), + 3097 => $expand!(3097), + 3353 => $expand!(3353), + 3609 => $expand!(3609), + 3865 => $expand!(3865), + 4121 => $expand!(4121), + 4377 => $expand!(4377), + 4633 => $expand!(4633), + 4889 => $expand!(4889), + 5145 => $expand!(5145), + 5401 => $expand!(5401), + 5657 => $expand!(5657), + 5913 => $expand!(5913), + 6169 => $expand!(6169), + 6425 => $expand!(6425), + 6681 => $expand!(6681), + 6937 => $expand!(6937), + 7193 => $expand!(7193), + 7449 => $expand!(7449), + 7705 => $expand!(7705), + 7961 => $expand!(7961), + 8217 => $expand!(8217), + 8473 => $expand!(8473), + 8729 => $expand!(8729), + 8985 => $expand!(8985), + 9241 => $expand!(9241), + 9497 => $expand!(9497), + 9753 => $expand!(9753), + 10009 => $expand!(10009), + 10265 => $expand!(10265), + 10521 => $expand!(10521), + 10777 => $expand!(10777), + 11033 => $expand!(11033), + 11289 => $expand!(11289), + 11545 => $expand!(11545), + 11801 => $expand!(11801), + 12057 => $expand!(12057), + 12313 => $expand!(12313), + 12569 => $expand!(12569), + 12825 => $expand!(12825), + 13081 => $expand!(13081), + 13337 => $expand!(13337), + 13593 => $expand!(13593), + 13849 => $expand!(13849), + 14105 => $expand!(14105), + 14361 => $expand!(14361), + 14617 => $expand!(14617), + 14873 => $expand!(14873), + 15129 => $expand!(15129), + 15385 => $expand!(15385), + 15641 => $expand!(15641), + 15897 => $expand!(15897), + 16153 => $expand!(16153), + 26 => $expand!(26), + 282 => $expand!(282), + 538 => $expand!(538), + 794 => $expand!(794), + 1050 => $expand!(1050), + 1306 => $expand!(1306), + 1562 => $expand!(1562), + 1818 => $expand!(1818), + 2074 => $expand!(2074), + 2330 => $expand!(2330), + 2586 => $expand!(2586), + 2842 => $expand!(2842), + 3098 => $expand!(3098), + 3354 => $expand!(3354), + 3610 => $expand!(3610), + 3866 => $expand!(3866), + 4122 => $expand!(4122), + 4378 => $expand!(4378), + 4634 => $expand!(4634), + 4890 => $expand!(4890), + 5146 => $expand!(5146), + 5402 => $expand!(5402), + 5658 => $expand!(5658), + 5914 => $expand!(5914), + 6170 => $expand!(6170), + 6426 => $expand!(6426), + 6682 => $expand!(6682), + 6938 => $expand!(6938), + 7194 => $expand!(7194), + 7450 => $expand!(7450), + 7706 => $expand!(7706), + 7962 => $expand!(7962), + 8218 => $expand!(8218), + 8474 => $expand!(8474), + 8730 => $expand!(8730), + 8986 => $expand!(8986), + 9242 => $expand!(9242), + 9498 => $expand!(9498), + 9754 => $expand!(9754), + 10010 => $expand!(10010), + 10266 => $expand!(10266), + 10522 => $expand!(10522), + 10778 => $expand!(10778), + 11034 => $expand!(11034), + 11290 => $expand!(11290), + 11546 => $expand!(11546), + 11802 => $expand!(11802), + 12058 => $expand!(12058), + 12314 => $expand!(12314), + 12570 => $expand!(12570), + 12826 => $expand!(12826), + 13082 => $expand!(13082), + 13338 => $expand!(13338), + 13594 => $expand!(13594), + 13850 => $expand!(13850), + 14106 => $expand!(14106), + 14362 => $expand!(14362), + 14618 => $expand!(14618), + 14874 => $expand!(14874), + 15130 => $expand!(15130), + 15386 => $expand!(15386), + 15642 => $expand!(15642), + 15898 => $expand!(15898), + 16154 => $expand!(16154), + 27 => $expand!(27), + 283 => $expand!(283), + 539 => $expand!(539), + 795 => $expand!(795), + 1051 => $expand!(1051), + 1307 => $expand!(1307), + 1563 => $expand!(1563), + 1819 => $expand!(1819), + 2075 => $expand!(2075), + 2331 => $expand!(2331), + 2587 => $expand!(2587), + 2843 => $expand!(2843), + 3099 => $expand!(3099), + 3355 => $expand!(3355), + 3611 => $expand!(3611), + 3867 => $expand!(3867), + 4123 => $expand!(4123), + 4379 => $expand!(4379), + 4635 => $expand!(4635), + 4891 => $expand!(4891), + 5147 => $expand!(5147), + 5403 => $expand!(5403), + 5659 => $expand!(5659), + 5915 => $expand!(5915), + 6171 => $expand!(6171), + 6427 => $expand!(6427), + 6683 => $expand!(6683), + 6939 => $expand!(6939), + 7195 => $expand!(7195), + 7451 => $expand!(7451), + 7707 => $expand!(7707), + 7963 => $expand!(7963), + 8219 => $expand!(8219), + 8475 => $expand!(8475), + 8731 => $expand!(8731), + 8987 => $expand!(8987), + 9243 => $expand!(9243), + 9499 => $expand!(9499), + 9755 => $expand!(9755), + 10011 => $expand!(10011), + 10267 => $expand!(10267), + 10523 => $expand!(10523), + 10779 => $expand!(10779), + 11035 => $expand!(11035), + 11291 => $expand!(11291), + 11547 => $expand!(11547), + 11803 => $expand!(11803), + 12059 => $expand!(12059), + 12315 => $expand!(12315), + 12571 => $expand!(12571), + 12827 => $expand!(12827), + 13083 => $expand!(13083), + 13339 => $expand!(13339), + 13595 => $expand!(13595), + 13851 => $expand!(13851), + 14107 => $expand!(14107), + 14363 => $expand!(14363), + 14619 => $expand!(14619), + 14875 => $expand!(14875), + 15131 => $expand!(15131), + 15387 => $expand!(15387), + 15643 => $expand!(15643), + 15899 => $expand!(15899), + 16155 => $expand!(16155), + 28 => $expand!(28), + 284 => $expand!(284), + 540 => $expand!(540), + 796 => $expand!(796), + 1052 => $expand!(1052), + 1308 => $expand!(1308), + 1564 => $expand!(1564), + 1820 => $expand!(1820), + 2076 => $expand!(2076), + 2332 => $expand!(2332), + 2588 => $expand!(2588), + 2844 => $expand!(2844), + 3100 => $expand!(3100), + 3356 => $expand!(3356), + 3612 => $expand!(3612), + 3868 => $expand!(3868), + 4124 => $expand!(4124), + 4380 => $expand!(4380), + 4636 => $expand!(4636), + 4892 => $expand!(4892), + 5148 => $expand!(5148), + 5404 => $expand!(5404), + 5660 => $expand!(5660), + 5916 => $expand!(5916), + 6172 => $expand!(6172), + 6428 => $expand!(6428), + 6684 => $expand!(6684), + 6940 => $expand!(6940), + 7196 => $expand!(7196), + 7452 => $expand!(7452), + 7708 => $expand!(7708), + 7964 => $expand!(7964), + 8220 => $expand!(8220), + 8476 => $expand!(8476), + 8732 => $expand!(8732), + 8988 => $expand!(8988), + 9244 => $expand!(9244), + 9500 => $expand!(9500), + 9756 => $expand!(9756), + 10012 => $expand!(10012), + 10268 => $expand!(10268), + 10524 => $expand!(10524), + 10780 => $expand!(10780), + 11036 => $expand!(11036), + 11292 => $expand!(11292), + 11548 => $expand!(11548), + 11804 => $expand!(11804), + 12060 => $expand!(12060), + 12316 => $expand!(12316), + 12572 => $expand!(12572), + 12828 => $expand!(12828), + 13084 => $expand!(13084), + 13340 => $expand!(13340), + 13596 => $expand!(13596), + 13852 => $expand!(13852), + 14108 => $expand!(14108), + 14364 => $expand!(14364), + 14620 => $expand!(14620), + 14876 => $expand!(14876), + 15132 => $expand!(15132), + 15388 => $expand!(15388), + 15644 => $expand!(15644), + 15900 => $expand!(15900), + 16156 => $expand!(16156), + 29 => $expand!(29), + 285 => $expand!(285), + 541 => $expand!(541), + 797 => $expand!(797), + 1053 => $expand!(1053), + 1309 => $expand!(1309), + 1565 => $expand!(1565), + 1821 => $expand!(1821), + 2077 => $expand!(2077), + 2333 => $expand!(2333), + 2589 => $expand!(2589), + 2845 => $expand!(2845), + 3101 => $expand!(3101), + 3357 => $expand!(3357), + 3613 => $expand!(3613), + 3869 => $expand!(3869), + 4125 => $expand!(4125), + 4381 => $expand!(4381), + 4637 => $expand!(4637), + 4893 => $expand!(4893), + 5149 => $expand!(5149), + 5405 => $expand!(5405), + 5661 => $expand!(5661), + 5917 => $expand!(5917), + 6173 => $expand!(6173), + 6429 => $expand!(6429), + 6685 => $expand!(6685), + 6941 => $expand!(6941), + 7197 => $expand!(7197), + 7453 => $expand!(7453), + 7709 => $expand!(7709), + 7965 => $expand!(7965), + 8221 => $expand!(8221), + 8477 => $expand!(8477), + 8733 => $expand!(8733), + 8989 => $expand!(8989), + 9245 => $expand!(9245), + 9501 => $expand!(9501), + 9757 => $expand!(9757), + 10013 => $expand!(10013), + 10269 => $expand!(10269), + 10525 => $expand!(10525), + 10781 => $expand!(10781), + 11037 => $expand!(11037), + 11293 => $expand!(11293), + 11549 => $expand!(11549), + 11805 => $expand!(11805), + 12061 => $expand!(12061), + 12317 => $expand!(12317), + 12573 => $expand!(12573), + 12829 => $expand!(12829), + 13085 => $expand!(13085), + 13341 => $expand!(13341), + 13597 => $expand!(13597), + 13853 => $expand!(13853), + 14109 => $expand!(14109), + 14365 => $expand!(14365), + 14621 => $expand!(14621), + 14877 => $expand!(14877), + 15133 => $expand!(15133), + 15389 => $expand!(15389), + 15645 => $expand!(15645), + 15901 => $expand!(15901), + 16157 => $expand!(16157), + 30 => $expand!(30), + 286 => $expand!(286), + 542 => $expand!(542), + 798 => $expand!(798), + 1054 => $expand!(1054), + 1310 => $expand!(1310), + 1566 => $expand!(1566), + 1822 => $expand!(1822), + 2078 => $expand!(2078), + 2334 => $expand!(2334), + 2590 => $expand!(2590), + 2846 => $expand!(2846), + 3102 => $expand!(3102), + 3358 => $expand!(3358), + 3614 => $expand!(3614), + 3870 => $expand!(3870), + 4126 => $expand!(4126), + 4382 => $expand!(4382), + 4638 => $expand!(4638), + 4894 => $expand!(4894), + 5150 => $expand!(5150), + 5406 => $expand!(5406), + 5662 => $expand!(5662), + 5918 => $expand!(5918), + 6174 => $expand!(6174), + 6430 => $expand!(6430), + 6686 => $expand!(6686), + 6942 => $expand!(6942), + 7198 => $expand!(7198), + 7454 => $expand!(7454), + 7710 => $expand!(7710), + 7966 => $expand!(7966), + 8222 => $expand!(8222), + 8478 => $expand!(8478), + 8734 => $expand!(8734), + 8990 => $expand!(8990), + 9246 => $expand!(9246), + 9502 => $expand!(9502), + 9758 => $expand!(9758), + 10014 => $expand!(10014), + 10270 => $expand!(10270), + 10526 => $expand!(10526), + 10782 => $expand!(10782), + 11038 => $expand!(11038), + 11294 => $expand!(11294), + 11550 => $expand!(11550), + 11806 => $expand!(11806), + 12062 => $expand!(12062), + 12318 => $expand!(12318), + 12574 => $expand!(12574), + 12830 => $expand!(12830), + 13086 => $expand!(13086), + 13342 => $expand!(13342), + 13598 => $expand!(13598), + 13854 => $expand!(13854), + 14110 => $expand!(14110), + 14366 => $expand!(14366), + 14622 => $expand!(14622), + 14878 => $expand!(14878), + 15134 => $expand!(15134), + 15390 => $expand!(15390), + 15646 => $expand!(15646), + 15902 => $expand!(15902), + 16158 => $expand!(16158), + 31 => $expand!(31), + 287 => $expand!(287), + 543 => $expand!(543), + 799 => $expand!(799), + 1055 => $expand!(1055), + 1311 => $expand!(1311), + 1567 => $expand!(1567), + 1823 => $expand!(1823), + 2079 => $expand!(2079), + 2335 => $expand!(2335), + 2591 => $expand!(2591), + 2847 => $expand!(2847), + 3103 => $expand!(3103), + 3359 => $expand!(3359), + 3615 => $expand!(3615), + 3871 => $expand!(3871), + 4127 => $expand!(4127), + 4383 => $expand!(4383), + 4639 => $expand!(4639), + 4895 => $expand!(4895), + 5151 => $expand!(5151), + 5407 => $expand!(5407), + 5663 => $expand!(5663), + 5919 => $expand!(5919), + 6175 => $expand!(6175), + 6431 => $expand!(6431), + 6687 => $expand!(6687), + 6943 => $expand!(6943), + 7199 => $expand!(7199), + 7455 => $expand!(7455), + 7711 => $expand!(7711), + 7967 => $expand!(7967), + 8223 => $expand!(8223), + 8479 => $expand!(8479), + 8735 => $expand!(8735), + 8991 => $expand!(8991), + 9247 => $expand!(9247), + 9503 => $expand!(9503), + 9759 => $expand!(9759), + 10015 => $expand!(10015), + 10271 => $expand!(10271), + 10527 => $expand!(10527), + 10783 => $expand!(10783), + 11039 => $expand!(11039), + 11295 => $expand!(11295), + 11551 => $expand!(11551), + 11807 => $expand!(11807), + 12063 => $expand!(12063), + 12319 => $expand!(12319), + 12575 => $expand!(12575), + 12831 => $expand!(12831), + 13087 => $expand!(13087), + 13343 => $expand!(13343), + 13599 => $expand!(13599), + 13855 => $expand!(13855), + 14111 => $expand!(14111), + 14367 => $expand!(14367), + 14623 => $expand!(14623), + 14879 => $expand!(14879), + 15135 => $expand!(15135), + 15391 => $expand!(15391), + 15647 => $expand!(15647), + 15903 => $expand!(15903), + 16159 => $expand!(16159), + 32 => $expand!(32), + 288 => $expand!(288), + 544 => $expand!(544), + 800 => $expand!(800), + 1056 => $expand!(1056), + 1312 => $expand!(1312), + 1568 => $expand!(1568), + 1824 => $expand!(1824), + 2080 => $expand!(2080), + 2336 => $expand!(2336), + 2592 => $expand!(2592), + 2848 => $expand!(2848), + 3104 => $expand!(3104), + 3360 => $expand!(3360), + 3616 => $expand!(3616), + 3872 => $expand!(3872), + 4128 => $expand!(4128), + 4384 => $expand!(4384), + 4640 => $expand!(4640), + 4896 => $expand!(4896), + 5152 => $expand!(5152), + 5408 => $expand!(5408), + 5664 => $expand!(5664), + 5920 => $expand!(5920), + 6176 => $expand!(6176), + 6432 => $expand!(6432), + 6688 => $expand!(6688), + 6944 => $expand!(6944), + 7200 => $expand!(7200), + 7456 => $expand!(7456), + 7712 => $expand!(7712), + 7968 => $expand!(7968), + 8224 => $expand!(8224), + 8480 => $expand!(8480), + 8736 => $expand!(8736), + 8992 => $expand!(8992), + 9248 => $expand!(9248), + 9504 => $expand!(9504), + 9760 => $expand!(9760), + 10016 => $expand!(10016), + 10272 => $expand!(10272), + 10528 => $expand!(10528), + 10784 => $expand!(10784), + 11040 => $expand!(11040), + 11296 => $expand!(11296), + 11552 => $expand!(11552), + 11808 => $expand!(11808), + 12064 => $expand!(12064), + 12320 => $expand!(12320), + 12576 => $expand!(12576), + 12832 => $expand!(12832), + 13088 => $expand!(13088), + 13344 => $expand!(13344), + 13600 => $expand!(13600), + 13856 => $expand!(13856), + 14112 => $expand!(14112), + 14368 => $expand!(14368), + 14624 => $expand!(14624), + 14880 => $expand!(14880), + 15136 => $expand!(15136), + 15392 => $expand!(15392), + 15648 => $expand!(15648), + 15904 => $expand!(15904), + 16160 => $expand!(16160), + 33 => $expand!(33), + 289 => $expand!(289), + 545 => $expand!(545), + 801 => $expand!(801), + 1057 => $expand!(1057), + 1313 => $expand!(1313), + 1569 => $expand!(1569), + 1825 => $expand!(1825), + 2081 => $expand!(2081), + 2337 => $expand!(2337), + 2593 => $expand!(2593), + 2849 => $expand!(2849), + 3105 => $expand!(3105), + 3361 => $expand!(3361), + 3617 => $expand!(3617), + 3873 => $expand!(3873), + 4129 => $expand!(4129), + 4385 => $expand!(4385), + 4641 => $expand!(4641), + 4897 => $expand!(4897), + 5153 => $expand!(5153), + 5409 => $expand!(5409), + 5665 => $expand!(5665), + 5921 => $expand!(5921), + 6177 => $expand!(6177), + 6433 => $expand!(6433), + 6689 => $expand!(6689), + 6945 => $expand!(6945), + 7201 => $expand!(7201), + 7457 => $expand!(7457), + 7713 => $expand!(7713), + 7969 => $expand!(7969), + 8225 => $expand!(8225), + 8481 => $expand!(8481), + 8737 => $expand!(8737), + 8993 => $expand!(8993), + 9249 => $expand!(9249), + 9505 => $expand!(9505), + 9761 => $expand!(9761), + 10017 => $expand!(10017), + 10273 => $expand!(10273), + 10529 => $expand!(10529), + 10785 => $expand!(10785), + 11041 => $expand!(11041), + 11297 => $expand!(11297), + 11553 => $expand!(11553), + 11809 => $expand!(11809), + 12065 => $expand!(12065), + 12321 => $expand!(12321), + 12577 => $expand!(12577), + 12833 => $expand!(12833), + 13089 => $expand!(13089), + 13345 => $expand!(13345), + 13601 => $expand!(13601), + 13857 => $expand!(13857), + 14113 => $expand!(14113), + 14369 => $expand!(14369), + 14625 => $expand!(14625), + 14881 => $expand!(14881), + 15137 => $expand!(15137), + 15393 => $expand!(15393), + 15649 => $expand!(15649), + 15905 => $expand!(15905), + 16161 => $expand!(16161), + 34 => $expand!(34), + 290 => $expand!(290), + 546 => $expand!(546), + 802 => $expand!(802), + 1058 => $expand!(1058), + 1314 => $expand!(1314), + 1570 => $expand!(1570), + 1826 => $expand!(1826), + 2082 => $expand!(2082), + 2338 => $expand!(2338), + 2594 => $expand!(2594), + 2850 => $expand!(2850), + 3106 => $expand!(3106), + 3362 => $expand!(3362), + 3618 => $expand!(3618), + 3874 => $expand!(3874), + 4130 => $expand!(4130), + 4386 => $expand!(4386), + 4642 => $expand!(4642), + 4898 => $expand!(4898), + 5154 => $expand!(5154), + 5410 => $expand!(5410), + 5666 => $expand!(5666), + 5922 => $expand!(5922), + 6178 => $expand!(6178), + 6434 => $expand!(6434), + 6690 => $expand!(6690), + 6946 => $expand!(6946), + 7202 => $expand!(7202), + 7458 => $expand!(7458), + 7714 => $expand!(7714), + 7970 => $expand!(7970), + 8226 => $expand!(8226), + 8482 => $expand!(8482), + 8738 => $expand!(8738), + 8994 => $expand!(8994), + 9250 => $expand!(9250), + 9506 => $expand!(9506), + 9762 => $expand!(9762), + 10018 => $expand!(10018), + 10274 => $expand!(10274), + 10530 => $expand!(10530), + 10786 => $expand!(10786), + 11042 => $expand!(11042), + 11298 => $expand!(11298), + 11554 => $expand!(11554), + 11810 => $expand!(11810), + 12066 => $expand!(12066), + 12322 => $expand!(12322), + 12578 => $expand!(12578), + 12834 => $expand!(12834), + 13090 => $expand!(13090), + 13346 => $expand!(13346), + 13602 => $expand!(13602), + 13858 => $expand!(13858), + 14114 => $expand!(14114), + 14370 => $expand!(14370), + 14626 => $expand!(14626), + 14882 => $expand!(14882), + 15138 => $expand!(15138), + 15394 => $expand!(15394), + 15650 => $expand!(15650), + 15906 => $expand!(15906), + 16162 => $expand!(16162), + 35 => $expand!(35), + 291 => $expand!(291), + 547 => $expand!(547), + 803 => $expand!(803), + 1059 => $expand!(1059), + 1315 => $expand!(1315), + 1571 => $expand!(1571), + 1827 => $expand!(1827), + 2083 => $expand!(2083), + 2339 => $expand!(2339), + 2595 => $expand!(2595), + 2851 => $expand!(2851), + 3107 => $expand!(3107), + 3363 => $expand!(3363), + 3619 => $expand!(3619), + 3875 => $expand!(3875), + 4131 => $expand!(4131), + 4387 => $expand!(4387), + 4643 => $expand!(4643), + 4899 => $expand!(4899), + 5155 => $expand!(5155), + 5411 => $expand!(5411), + 5667 => $expand!(5667), + 5923 => $expand!(5923), + 6179 => $expand!(6179), + 6435 => $expand!(6435), + 6691 => $expand!(6691), + 6947 => $expand!(6947), + 7203 => $expand!(7203), + 7459 => $expand!(7459), + 7715 => $expand!(7715), + 7971 => $expand!(7971), + 8227 => $expand!(8227), + 8483 => $expand!(8483), + 8739 => $expand!(8739), + 8995 => $expand!(8995), + 9251 => $expand!(9251), + 9507 => $expand!(9507), + 9763 => $expand!(9763), + 10019 => $expand!(10019), + 10275 => $expand!(10275), + 10531 => $expand!(10531), + 10787 => $expand!(10787), + 11043 => $expand!(11043), + 11299 => $expand!(11299), + 11555 => $expand!(11555), + 11811 => $expand!(11811), + 12067 => $expand!(12067), + 12323 => $expand!(12323), + 12579 => $expand!(12579), + 12835 => $expand!(12835), + 13091 => $expand!(13091), + 13347 => $expand!(13347), + 13603 => $expand!(13603), + 13859 => $expand!(13859), + 14115 => $expand!(14115), + 14371 => $expand!(14371), + 14627 => $expand!(14627), + 14883 => $expand!(14883), + 15139 => $expand!(15139), + 15395 => $expand!(15395), + 15651 => $expand!(15651), + 15907 => $expand!(15907), + 16163 => $expand!(16163), + 36 => $expand!(36), + 292 => $expand!(292), + 548 => $expand!(548), + 804 => $expand!(804), + 1060 => $expand!(1060), + 1316 => $expand!(1316), + 1572 => $expand!(1572), + 1828 => $expand!(1828), + 2084 => $expand!(2084), + 2340 => $expand!(2340), + 2596 => $expand!(2596), + 2852 => $expand!(2852), + 3108 => $expand!(3108), + 3364 => $expand!(3364), + 3620 => $expand!(3620), + 3876 => $expand!(3876), + 4132 => $expand!(4132), + 4388 => $expand!(4388), + 4644 => $expand!(4644), + 4900 => $expand!(4900), + 5156 => $expand!(5156), + 5412 => $expand!(5412), + 5668 => $expand!(5668), + 5924 => $expand!(5924), + 6180 => $expand!(6180), + 6436 => $expand!(6436), + 6692 => $expand!(6692), + 6948 => $expand!(6948), + 7204 => $expand!(7204), + 7460 => $expand!(7460), + 7716 => $expand!(7716), + 7972 => $expand!(7972), + 8228 => $expand!(8228), + 8484 => $expand!(8484), + 8740 => $expand!(8740), + 8996 => $expand!(8996), + 9252 => $expand!(9252), + 9508 => $expand!(9508), + 9764 => $expand!(9764), + 10020 => $expand!(10020), + 10276 => $expand!(10276), + 10532 => $expand!(10532), + 10788 => $expand!(10788), + 11044 => $expand!(11044), + 11300 => $expand!(11300), + 11556 => $expand!(11556), + 11812 => $expand!(11812), + 12068 => $expand!(12068), + 12324 => $expand!(12324), + 12580 => $expand!(12580), + 12836 => $expand!(12836), + 13092 => $expand!(13092), + 13348 => $expand!(13348), + 13604 => $expand!(13604), + 13860 => $expand!(13860), + 14116 => $expand!(14116), + 14372 => $expand!(14372), + 14628 => $expand!(14628), + 14884 => $expand!(14884), + 15140 => $expand!(15140), + 15396 => $expand!(15396), + 15652 => $expand!(15652), + 15908 => $expand!(15908), + 16164 => $expand!(16164), + 37 => $expand!(37), + 293 => $expand!(293), + 549 => $expand!(549), + 805 => $expand!(805), + 1061 => $expand!(1061), + 1317 => $expand!(1317), + 1573 => $expand!(1573), + 1829 => $expand!(1829), + 2085 => $expand!(2085), + 2341 => $expand!(2341), + 2597 => $expand!(2597), + 2853 => $expand!(2853), + 3109 => $expand!(3109), + 3365 => $expand!(3365), + 3621 => $expand!(3621), + 3877 => $expand!(3877), + 4133 => $expand!(4133), + 4389 => $expand!(4389), + 4645 => $expand!(4645), + 4901 => $expand!(4901), + 5157 => $expand!(5157), + 5413 => $expand!(5413), + 5669 => $expand!(5669), + 5925 => $expand!(5925), + 6181 => $expand!(6181), + 6437 => $expand!(6437), + 6693 => $expand!(6693), + 6949 => $expand!(6949), + 7205 => $expand!(7205), + 7461 => $expand!(7461), + 7717 => $expand!(7717), + 7973 => $expand!(7973), + 8229 => $expand!(8229), + 8485 => $expand!(8485), + 8741 => $expand!(8741), + 8997 => $expand!(8997), + 9253 => $expand!(9253), + 9509 => $expand!(9509), + 9765 => $expand!(9765), + 10021 => $expand!(10021), + 10277 => $expand!(10277), + 10533 => $expand!(10533), + 10789 => $expand!(10789), + 11045 => $expand!(11045), + 11301 => $expand!(11301), + 11557 => $expand!(11557), + 11813 => $expand!(11813), + 12069 => $expand!(12069), + 12325 => $expand!(12325), + 12581 => $expand!(12581), + 12837 => $expand!(12837), + 13093 => $expand!(13093), + 13349 => $expand!(13349), + 13605 => $expand!(13605), + 13861 => $expand!(13861), + 14117 => $expand!(14117), + 14373 => $expand!(14373), + 14629 => $expand!(14629), + 14885 => $expand!(14885), + 15141 => $expand!(15141), + 15397 => $expand!(15397), + 15653 => $expand!(15653), + 15909 => $expand!(15909), + 16165 => $expand!(16165), + 38 => $expand!(38), + 294 => $expand!(294), + 550 => $expand!(550), + 806 => $expand!(806), + 1062 => $expand!(1062), + 1318 => $expand!(1318), + 1574 => $expand!(1574), + 1830 => $expand!(1830), + 2086 => $expand!(2086), + 2342 => $expand!(2342), + 2598 => $expand!(2598), + 2854 => $expand!(2854), + 3110 => $expand!(3110), + 3366 => $expand!(3366), + 3622 => $expand!(3622), + 3878 => $expand!(3878), + 4134 => $expand!(4134), + 4390 => $expand!(4390), + 4646 => $expand!(4646), + 4902 => $expand!(4902), + 5158 => $expand!(5158), + 5414 => $expand!(5414), + 5670 => $expand!(5670), + 5926 => $expand!(5926), + 6182 => $expand!(6182), + 6438 => $expand!(6438), + 6694 => $expand!(6694), + 6950 => $expand!(6950), + 7206 => $expand!(7206), + 7462 => $expand!(7462), + 7718 => $expand!(7718), + 7974 => $expand!(7974), + 8230 => $expand!(8230), + 8486 => $expand!(8486), + 8742 => $expand!(8742), + 8998 => $expand!(8998), + 9254 => $expand!(9254), + 9510 => $expand!(9510), + 9766 => $expand!(9766), + 10022 => $expand!(10022), + 10278 => $expand!(10278), + 10534 => $expand!(10534), + 10790 => $expand!(10790), + 11046 => $expand!(11046), + 11302 => $expand!(11302), + 11558 => $expand!(11558), + 11814 => $expand!(11814), + 12070 => $expand!(12070), + 12326 => $expand!(12326), + 12582 => $expand!(12582), + 12838 => $expand!(12838), + 13094 => $expand!(13094), + 13350 => $expand!(13350), + 13606 => $expand!(13606), + 13862 => $expand!(13862), + 14118 => $expand!(14118), + 14374 => $expand!(14374), + 14630 => $expand!(14630), + 14886 => $expand!(14886), + 15142 => $expand!(15142), + 15398 => $expand!(15398), + 15654 => $expand!(15654), + 15910 => $expand!(15910), + 16166 => $expand!(16166), + 39 => $expand!(39), + 295 => $expand!(295), + 551 => $expand!(551), + 807 => $expand!(807), + 1063 => $expand!(1063), + 1319 => $expand!(1319), + 1575 => $expand!(1575), + 1831 => $expand!(1831), + 2087 => $expand!(2087), + 2343 => $expand!(2343), + 2599 => $expand!(2599), + 2855 => $expand!(2855), + 3111 => $expand!(3111), + 3367 => $expand!(3367), + 3623 => $expand!(3623), + 3879 => $expand!(3879), + 4135 => $expand!(4135), + 4391 => $expand!(4391), + 4647 => $expand!(4647), + 4903 => $expand!(4903), + 5159 => $expand!(5159), + 5415 => $expand!(5415), + 5671 => $expand!(5671), + 5927 => $expand!(5927), + 6183 => $expand!(6183), + 6439 => $expand!(6439), + 6695 => $expand!(6695), + 6951 => $expand!(6951), + 7207 => $expand!(7207), + 7463 => $expand!(7463), + 7719 => $expand!(7719), + 7975 => $expand!(7975), + 8231 => $expand!(8231), + 8487 => $expand!(8487), + 8743 => $expand!(8743), + 8999 => $expand!(8999), + 9255 => $expand!(9255), + 9511 => $expand!(9511), + 9767 => $expand!(9767), + 10023 => $expand!(10023), + 10279 => $expand!(10279), + 10535 => $expand!(10535), + 10791 => $expand!(10791), + 11047 => $expand!(11047), + 11303 => $expand!(11303), + 11559 => $expand!(11559), + 11815 => $expand!(11815), + 12071 => $expand!(12071), + 12327 => $expand!(12327), + 12583 => $expand!(12583), + 12839 => $expand!(12839), + 13095 => $expand!(13095), + 13351 => $expand!(13351), + 13607 => $expand!(13607), + 13863 => $expand!(13863), + 14119 => $expand!(14119), + 14375 => $expand!(14375), + 14631 => $expand!(14631), + 14887 => $expand!(14887), + 15143 => $expand!(15143), + 15399 => $expand!(15399), + 15655 => $expand!(15655), + 15911 => $expand!(15911), + 16167 => $expand!(16167), + 40 => $expand!(40), + 296 => $expand!(296), + 552 => $expand!(552), + 808 => $expand!(808), + 1064 => $expand!(1064), + 1320 => $expand!(1320), + 1576 => $expand!(1576), + 1832 => $expand!(1832), + 2088 => $expand!(2088), + 2344 => $expand!(2344), + 2600 => $expand!(2600), + 2856 => $expand!(2856), + 3112 => $expand!(3112), + 3368 => $expand!(3368), + 3624 => $expand!(3624), + 3880 => $expand!(3880), + 4136 => $expand!(4136), + 4392 => $expand!(4392), + 4648 => $expand!(4648), + 4904 => $expand!(4904), + 5160 => $expand!(5160), + 5416 => $expand!(5416), + 5672 => $expand!(5672), + 5928 => $expand!(5928), + 6184 => $expand!(6184), + 6440 => $expand!(6440), + 6696 => $expand!(6696), + 6952 => $expand!(6952), + 7208 => $expand!(7208), + 7464 => $expand!(7464), + 7720 => $expand!(7720), + 7976 => $expand!(7976), + 8232 => $expand!(8232), + 8488 => $expand!(8488), + 8744 => $expand!(8744), + 9000 => $expand!(9000), + 9256 => $expand!(9256), + 9512 => $expand!(9512), + 9768 => $expand!(9768), + 10024 => $expand!(10024), + 10280 => $expand!(10280), + 10536 => $expand!(10536), + 10792 => $expand!(10792), + 11048 => $expand!(11048), + 11304 => $expand!(11304), + 11560 => $expand!(11560), + 11816 => $expand!(11816), + 12072 => $expand!(12072), + 12328 => $expand!(12328), + 12584 => $expand!(12584), + 12840 => $expand!(12840), + 13096 => $expand!(13096), + 13352 => $expand!(13352), + 13608 => $expand!(13608), + 13864 => $expand!(13864), + 14120 => $expand!(14120), + 14376 => $expand!(14376), + 14632 => $expand!(14632), + 14888 => $expand!(14888), + 15144 => $expand!(15144), + 15400 => $expand!(15400), + 15656 => $expand!(15656), + 15912 => $expand!(15912), + 16168 => $expand!(16168), + 41 => $expand!(41), + 297 => $expand!(297), + 553 => $expand!(553), + 809 => $expand!(809), + 1065 => $expand!(1065), + 1321 => $expand!(1321), + 1577 => $expand!(1577), + 1833 => $expand!(1833), + 2089 => $expand!(2089), + 2345 => $expand!(2345), + 2601 => $expand!(2601), + 2857 => $expand!(2857), + 3113 => $expand!(3113), + 3369 => $expand!(3369), + 3625 => $expand!(3625), + 3881 => $expand!(3881), + 4137 => $expand!(4137), + 4393 => $expand!(4393), + 4649 => $expand!(4649), + 4905 => $expand!(4905), + 5161 => $expand!(5161), + 5417 => $expand!(5417), + 5673 => $expand!(5673), + 5929 => $expand!(5929), + 6185 => $expand!(6185), + 6441 => $expand!(6441), + 6697 => $expand!(6697), + 6953 => $expand!(6953), + 7209 => $expand!(7209), + 7465 => $expand!(7465), + 7721 => $expand!(7721), + 7977 => $expand!(7977), + 8233 => $expand!(8233), + 8489 => $expand!(8489), + 8745 => $expand!(8745), + 9001 => $expand!(9001), + 9257 => $expand!(9257), + 9513 => $expand!(9513), + 9769 => $expand!(9769), + 10025 => $expand!(10025), + 10281 => $expand!(10281), + 10537 => $expand!(10537), + 10793 => $expand!(10793), + 11049 => $expand!(11049), + 11305 => $expand!(11305), + 11561 => $expand!(11561), + 11817 => $expand!(11817), + 12073 => $expand!(12073), + 12329 => $expand!(12329), + 12585 => $expand!(12585), + 12841 => $expand!(12841), + 13097 => $expand!(13097), + 13353 => $expand!(13353), + 13609 => $expand!(13609), + 13865 => $expand!(13865), + 14121 => $expand!(14121), + 14377 => $expand!(14377), + 14633 => $expand!(14633), + 14889 => $expand!(14889), + 15145 => $expand!(15145), + 15401 => $expand!(15401), + 15657 => $expand!(15657), + 15913 => $expand!(15913), + 16169 => $expand!(16169), + 42 => $expand!(42), + 298 => $expand!(298), + 554 => $expand!(554), + 810 => $expand!(810), + 1066 => $expand!(1066), + 1322 => $expand!(1322), + 1578 => $expand!(1578), + 1834 => $expand!(1834), + 2090 => $expand!(2090), + 2346 => $expand!(2346), + 2602 => $expand!(2602), + 2858 => $expand!(2858), + 3114 => $expand!(3114), + 3370 => $expand!(3370), + 3626 => $expand!(3626), + 3882 => $expand!(3882), + 4138 => $expand!(4138), + 4394 => $expand!(4394), + 4650 => $expand!(4650), + 4906 => $expand!(4906), + 5162 => $expand!(5162), + 5418 => $expand!(5418), + 5674 => $expand!(5674), + 5930 => $expand!(5930), + 6186 => $expand!(6186), + 6442 => $expand!(6442), + 6698 => $expand!(6698), + 6954 => $expand!(6954), + 7210 => $expand!(7210), + 7466 => $expand!(7466), + 7722 => $expand!(7722), + 7978 => $expand!(7978), + 8234 => $expand!(8234), + 8490 => $expand!(8490), + 8746 => $expand!(8746), + 9002 => $expand!(9002), + 9258 => $expand!(9258), + 9514 => $expand!(9514), + 9770 => $expand!(9770), + 10026 => $expand!(10026), + 10282 => $expand!(10282), + 10538 => $expand!(10538), + 10794 => $expand!(10794), + 11050 => $expand!(11050), + 11306 => $expand!(11306), + 11562 => $expand!(11562), + 11818 => $expand!(11818), + 12074 => $expand!(12074), + 12330 => $expand!(12330), + 12586 => $expand!(12586), + 12842 => $expand!(12842), + 13098 => $expand!(13098), + 13354 => $expand!(13354), + 13610 => $expand!(13610), + 13866 => $expand!(13866), + 14122 => $expand!(14122), + 14378 => $expand!(14378), + 14634 => $expand!(14634), + 14890 => $expand!(14890), + 15146 => $expand!(15146), + 15402 => $expand!(15402), + 15658 => $expand!(15658), + 15914 => $expand!(15914), + 16170 => $expand!(16170), + 43 => $expand!(43), + 299 => $expand!(299), + 555 => $expand!(555), + 811 => $expand!(811), + 1067 => $expand!(1067), + 1323 => $expand!(1323), + 1579 => $expand!(1579), + 1835 => $expand!(1835), + 2091 => $expand!(2091), + 2347 => $expand!(2347), + 2603 => $expand!(2603), + 2859 => $expand!(2859), + 3115 => $expand!(3115), + 3371 => $expand!(3371), + 3627 => $expand!(3627), + 3883 => $expand!(3883), + 4139 => $expand!(4139), + 4395 => $expand!(4395), + 4651 => $expand!(4651), + 4907 => $expand!(4907), + 5163 => $expand!(5163), + 5419 => $expand!(5419), + 5675 => $expand!(5675), + 5931 => $expand!(5931), + 6187 => $expand!(6187), + 6443 => $expand!(6443), + 6699 => $expand!(6699), + 6955 => $expand!(6955), + 7211 => $expand!(7211), + 7467 => $expand!(7467), + 7723 => $expand!(7723), + 7979 => $expand!(7979), + 8235 => $expand!(8235), + 8491 => $expand!(8491), + 8747 => $expand!(8747), + 9003 => $expand!(9003), + 9259 => $expand!(9259), + 9515 => $expand!(9515), + 9771 => $expand!(9771), + 10027 => $expand!(10027), + 10283 => $expand!(10283), + 10539 => $expand!(10539), + 10795 => $expand!(10795), + 11051 => $expand!(11051), + 11307 => $expand!(11307), + 11563 => $expand!(11563), + 11819 => $expand!(11819), + 12075 => $expand!(12075), + 12331 => $expand!(12331), + 12587 => $expand!(12587), + 12843 => $expand!(12843), + 13099 => $expand!(13099), + 13355 => $expand!(13355), + 13611 => $expand!(13611), + 13867 => $expand!(13867), + 14123 => $expand!(14123), + 14379 => $expand!(14379), + 14635 => $expand!(14635), + 14891 => $expand!(14891), + 15147 => $expand!(15147), + 15403 => $expand!(15403), + 15659 => $expand!(15659), + 15915 => $expand!(15915), + 16171 => $expand!(16171), + 44 => $expand!(44), + 300 => $expand!(300), + 556 => $expand!(556), + 812 => $expand!(812), + 1068 => $expand!(1068), + 1324 => $expand!(1324), + 1580 => $expand!(1580), + 1836 => $expand!(1836), + 2092 => $expand!(2092), + 2348 => $expand!(2348), + 2604 => $expand!(2604), + 2860 => $expand!(2860), + 3116 => $expand!(3116), + 3372 => $expand!(3372), + 3628 => $expand!(3628), + 3884 => $expand!(3884), + 4140 => $expand!(4140), + 4396 => $expand!(4396), + 4652 => $expand!(4652), + 4908 => $expand!(4908), + 5164 => $expand!(5164), + 5420 => $expand!(5420), + 5676 => $expand!(5676), + 5932 => $expand!(5932), + 6188 => $expand!(6188), + 6444 => $expand!(6444), + 6700 => $expand!(6700), + 6956 => $expand!(6956), + 7212 => $expand!(7212), + 7468 => $expand!(7468), + 7724 => $expand!(7724), + 7980 => $expand!(7980), + 8236 => $expand!(8236), + 8492 => $expand!(8492), + 8748 => $expand!(8748), + 9004 => $expand!(9004), + 9260 => $expand!(9260), + 9516 => $expand!(9516), + 9772 => $expand!(9772), + 10028 => $expand!(10028), + 10284 => $expand!(10284), + 10540 => $expand!(10540), + 10796 => $expand!(10796), + 11052 => $expand!(11052), + 11308 => $expand!(11308), + 11564 => $expand!(11564), + 11820 => $expand!(11820), + 12076 => $expand!(12076), + 12332 => $expand!(12332), + 12588 => $expand!(12588), + 12844 => $expand!(12844), + 13100 => $expand!(13100), + 13356 => $expand!(13356), + 13612 => $expand!(13612), + 13868 => $expand!(13868), + 14124 => $expand!(14124), + 14380 => $expand!(14380), + 14636 => $expand!(14636), + 14892 => $expand!(14892), + 15148 => $expand!(15148), + 15404 => $expand!(15404), + 15660 => $expand!(15660), + 15916 => $expand!(15916), + 16172 => $expand!(16172), + 45 => $expand!(45), + 301 => $expand!(301), + 557 => $expand!(557), + 813 => $expand!(813), + 1069 => $expand!(1069), + 1325 => $expand!(1325), + 1581 => $expand!(1581), + 1837 => $expand!(1837), + 2093 => $expand!(2093), + 2349 => $expand!(2349), + 2605 => $expand!(2605), + 2861 => $expand!(2861), + 3117 => $expand!(3117), + 3373 => $expand!(3373), + 3629 => $expand!(3629), + 3885 => $expand!(3885), + 4141 => $expand!(4141), + 4397 => $expand!(4397), + 4653 => $expand!(4653), + 4909 => $expand!(4909), + 5165 => $expand!(5165), + 5421 => $expand!(5421), + 5677 => $expand!(5677), + 5933 => $expand!(5933), + 6189 => $expand!(6189), + 6445 => $expand!(6445), + 6701 => $expand!(6701), + 6957 => $expand!(6957), + 7213 => $expand!(7213), + 7469 => $expand!(7469), + 7725 => $expand!(7725), + 7981 => $expand!(7981), + 8237 => $expand!(8237), + 8493 => $expand!(8493), + 8749 => $expand!(8749), + 9005 => $expand!(9005), + 9261 => $expand!(9261), + 9517 => $expand!(9517), + 9773 => $expand!(9773), + 10029 => $expand!(10029), + 10285 => $expand!(10285), + 10541 => $expand!(10541), + 10797 => $expand!(10797), + 11053 => $expand!(11053), + 11309 => $expand!(11309), + 11565 => $expand!(11565), + 11821 => $expand!(11821), + 12077 => $expand!(12077), + 12333 => $expand!(12333), + 12589 => $expand!(12589), + 12845 => $expand!(12845), + 13101 => $expand!(13101), + 13357 => $expand!(13357), + 13613 => $expand!(13613), + 13869 => $expand!(13869), + 14125 => $expand!(14125), + 14381 => $expand!(14381), + 14637 => $expand!(14637), + 14893 => $expand!(14893), + 15149 => $expand!(15149), + 15405 => $expand!(15405), + 15661 => $expand!(15661), + 15917 => $expand!(15917), + 16173 => $expand!(16173), + 46 => $expand!(46), + 302 => $expand!(302), + 558 => $expand!(558), + 814 => $expand!(814), + 1070 => $expand!(1070), + 1326 => $expand!(1326), + 1582 => $expand!(1582), + 1838 => $expand!(1838), + 2094 => $expand!(2094), + 2350 => $expand!(2350), + 2606 => $expand!(2606), + 2862 => $expand!(2862), + 3118 => $expand!(3118), + 3374 => $expand!(3374), + 3630 => $expand!(3630), + 3886 => $expand!(3886), + 4142 => $expand!(4142), + 4398 => $expand!(4398), + 4654 => $expand!(4654), + 4910 => $expand!(4910), + 5166 => $expand!(5166), + 5422 => $expand!(5422), + 5678 => $expand!(5678), + 5934 => $expand!(5934), + 6190 => $expand!(6190), + 6446 => $expand!(6446), + 6702 => $expand!(6702), + 6958 => $expand!(6958), + 7214 => $expand!(7214), + 7470 => $expand!(7470), + 7726 => $expand!(7726), + 7982 => $expand!(7982), + 8238 => $expand!(8238), + 8494 => $expand!(8494), + 8750 => $expand!(8750), + 9006 => $expand!(9006), + 9262 => $expand!(9262), + 9518 => $expand!(9518), + 9774 => $expand!(9774), + 10030 => $expand!(10030), + 10286 => $expand!(10286), + 10542 => $expand!(10542), + 10798 => $expand!(10798), + 11054 => $expand!(11054), + 11310 => $expand!(11310), + 11566 => $expand!(11566), + 11822 => $expand!(11822), + 12078 => $expand!(12078), + 12334 => $expand!(12334), + 12590 => $expand!(12590), + 12846 => $expand!(12846), + 13102 => $expand!(13102), + 13358 => $expand!(13358), + 13614 => $expand!(13614), + 13870 => $expand!(13870), + 14126 => $expand!(14126), + 14382 => $expand!(14382), + 14638 => $expand!(14638), + 14894 => $expand!(14894), + 15150 => $expand!(15150), + 15406 => $expand!(15406), + 15662 => $expand!(15662), + 15918 => $expand!(15918), + 16174 => $expand!(16174), + 47 => $expand!(47), + 303 => $expand!(303), + 559 => $expand!(559), + 815 => $expand!(815), + 1071 => $expand!(1071), + 1327 => $expand!(1327), + 1583 => $expand!(1583), + 1839 => $expand!(1839), + 2095 => $expand!(2095), + 2351 => $expand!(2351), + 2607 => $expand!(2607), + 2863 => $expand!(2863), + 3119 => $expand!(3119), + 3375 => $expand!(3375), + 3631 => $expand!(3631), + 3887 => $expand!(3887), + 4143 => $expand!(4143), + 4399 => $expand!(4399), + 4655 => $expand!(4655), + 4911 => $expand!(4911), + 5167 => $expand!(5167), + 5423 => $expand!(5423), + 5679 => $expand!(5679), + 5935 => $expand!(5935), + 6191 => $expand!(6191), + 6447 => $expand!(6447), + 6703 => $expand!(6703), + 6959 => $expand!(6959), + 7215 => $expand!(7215), + 7471 => $expand!(7471), + 7727 => $expand!(7727), + 7983 => $expand!(7983), + 8239 => $expand!(8239), + 8495 => $expand!(8495), + 8751 => $expand!(8751), + 9007 => $expand!(9007), + 9263 => $expand!(9263), + 9519 => $expand!(9519), + 9775 => $expand!(9775), + 10031 => $expand!(10031), + 10287 => $expand!(10287), + 10543 => $expand!(10543), + 10799 => $expand!(10799), + 11055 => $expand!(11055), + 11311 => $expand!(11311), + 11567 => $expand!(11567), + 11823 => $expand!(11823), + 12079 => $expand!(12079), + 12335 => $expand!(12335), + 12591 => $expand!(12591), + 12847 => $expand!(12847), + 13103 => $expand!(13103), + 13359 => $expand!(13359), + 13615 => $expand!(13615), + 13871 => $expand!(13871), + 14127 => $expand!(14127), + 14383 => $expand!(14383), + 14639 => $expand!(14639), + 14895 => $expand!(14895), + 15151 => $expand!(15151), + 15407 => $expand!(15407), + 15663 => $expand!(15663), + 15919 => $expand!(15919), + 16175 => $expand!(16175), + 48 => $expand!(48), + 304 => $expand!(304), + 560 => $expand!(560), + 816 => $expand!(816), + 1072 => $expand!(1072), + 1328 => $expand!(1328), + 1584 => $expand!(1584), + 1840 => $expand!(1840), + 2096 => $expand!(2096), + 2352 => $expand!(2352), + 2608 => $expand!(2608), + 2864 => $expand!(2864), + 3120 => $expand!(3120), + 3376 => $expand!(3376), + 3632 => $expand!(3632), + 3888 => $expand!(3888), + 4144 => $expand!(4144), + 4400 => $expand!(4400), + 4656 => $expand!(4656), + 4912 => $expand!(4912), + 5168 => $expand!(5168), + 5424 => $expand!(5424), + 5680 => $expand!(5680), + 5936 => $expand!(5936), + 6192 => $expand!(6192), + 6448 => $expand!(6448), + 6704 => $expand!(6704), + 6960 => $expand!(6960), + 7216 => $expand!(7216), + 7472 => $expand!(7472), + 7728 => $expand!(7728), + 7984 => $expand!(7984), + 8240 => $expand!(8240), + 8496 => $expand!(8496), + 8752 => $expand!(8752), + 9008 => $expand!(9008), + 9264 => $expand!(9264), + 9520 => $expand!(9520), + 9776 => $expand!(9776), + 10032 => $expand!(10032), + 10288 => $expand!(10288), + 10544 => $expand!(10544), + 10800 => $expand!(10800), + 11056 => $expand!(11056), + 11312 => $expand!(11312), + 11568 => $expand!(11568), + 11824 => $expand!(11824), + 12080 => $expand!(12080), + 12336 => $expand!(12336), + 12592 => $expand!(12592), + 12848 => $expand!(12848), + 13104 => $expand!(13104), + 13360 => $expand!(13360), + 13616 => $expand!(13616), + 13872 => $expand!(13872), + 14128 => $expand!(14128), + 14384 => $expand!(14384), + 14640 => $expand!(14640), + 14896 => $expand!(14896), + 15152 => $expand!(15152), + 15408 => $expand!(15408), + 15664 => $expand!(15664), + 15920 => $expand!(15920), + 16176 => $expand!(16176), + 49 => $expand!(49), + 305 => $expand!(305), + 561 => $expand!(561), + 817 => $expand!(817), + 1073 => $expand!(1073), + 1329 => $expand!(1329), + 1585 => $expand!(1585), + 1841 => $expand!(1841), + 2097 => $expand!(2097), + 2353 => $expand!(2353), + 2609 => $expand!(2609), + 2865 => $expand!(2865), + 3121 => $expand!(3121), + 3377 => $expand!(3377), + 3633 => $expand!(3633), + 3889 => $expand!(3889), + 4145 => $expand!(4145), + 4401 => $expand!(4401), + 4657 => $expand!(4657), + 4913 => $expand!(4913), + 5169 => $expand!(5169), + 5425 => $expand!(5425), + 5681 => $expand!(5681), + 5937 => $expand!(5937), + 6193 => $expand!(6193), + 6449 => $expand!(6449), + 6705 => $expand!(6705), + 6961 => $expand!(6961), + 7217 => $expand!(7217), + 7473 => $expand!(7473), + 7729 => $expand!(7729), + 7985 => $expand!(7985), + 8241 => $expand!(8241), + 8497 => $expand!(8497), + 8753 => $expand!(8753), + 9009 => $expand!(9009), + 9265 => $expand!(9265), + 9521 => $expand!(9521), + 9777 => $expand!(9777), + 10033 => $expand!(10033), + 10289 => $expand!(10289), + 10545 => $expand!(10545), + 10801 => $expand!(10801), + 11057 => $expand!(11057), + 11313 => $expand!(11313), + 11569 => $expand!(11569), + 11825 => $expand!(11825), + 12081 => $expand!(12081), + 12337 => $expand!(12337), + 12593 => $expand!(12593), + 12849 => $expand!(12849), + 13105 => $expand!(13105), + 13361 => $expand!(13361), + 13617 => $expand!(13617), + 13873 => $expand!(13873), + 14129 => $expand!(14129), + 14385 => $expand!(14385), + 14641 => $expand!(14641), + 14897 => $expand!(14897), + 15153 => $expand!(15153), + 15409 => $expand!(15409), + 15665 => $expand!(15665), + 15921 => $expand!(15921), + 16177 => $expand!(16177), + 50 => $expand!(50), + 306 => $expand!(306), + 562 => $expand!(562), + 818 => $expand!(818), + 1074 => $expand!(1074), + 1330 => $expand!(1330), + 1586 => $expand!(1586), + 1842 => $expand!(1842), + 2098 => $expand!(2098), + 2354 => $expand!(2354), + 2610 => $expand!(2610), + 2866 => $expand!(2866), + 3122 => $expand!(3122), + 3378 => $expand!(3378), + 3634 => $expand!(3634), + 3890 => $expand!(3890), + 4146 => $expand!(4146), + 4402 => $expand!(4402), + 4658 => $expand!(4658), + 4914 => $expand!(4914), + 5170 => $expand!(5170), + 5426 => $expand!(5426), + 5682 => $expand!(5682), + 5938 => $expand!(5938), + 6194 => $expand!(6194), + 6450 => $expand!(6450), + 6706 => $expand!(6706), + 6962 => $expand!(6962), + 7218 => $expand!(7218), + 7474 => $expand!(7474), + 7730 => $expand!(7730), + 7986 => $expand!(7986), + 8242 => $expand!(8242), + 8498 => $expand!(8498), + 8754 => $expand!(8754), + 9010 => $expand!(9010), + 9266 => $expand!(9266), + 9522 => $expand!(9522), + 9778 => $expand!(9778), + 10034 => $expand!(10034), + 10290 => $expand!(10290), + 10546 => $expand!(10546), + 10802 => $expand!(10802), + 11058 => $expand!(11058), + 11314 => $expand!(11314), + 11570 => $expand!(11570), + 11826 => $expand!(11826), + 12082 => $expand!(12082), + 12338 => $expand!(12338), + 12594 => $expand!(12594), + 12850 => $expand!(12850), + 13106 => $expand!(13106), + 13362 => $expand!(13362), + 13618 => $expand!(13618), + 13874 => $expand!(13874), + 14130 => $expand!(14130), + 14386 => $expand!(14386), + 14642 => $expand!(14642), + 14898 => $expand!(14898), + 15154 => $expand!(15154), + 15410 => $expand!(15410), + 15666 => $expand!(15666), + 15922 => $expand!(15922), + 16178 => $expand!(16178), + 51 => $expand!(51), + 307 => $expand!(307), + 563 => $expand!(563), + 819 => $expand!(819), + 1075 => $expand!(1075), + 1331 => $expand!(1331), + 1587 => $expand!(1587), + 1843 => $expand!(1843), + 2099 => $expand!(2099), + 2355 => $expand!(2355), + 2611 => $expand!(2611), + 2867 => $expand!(2867), + 3123 => $expand!(3123), + 3379 => $expand!(3379), + 3635 => $expand!(3635), + 3891 => $expand!(3891), + 4147 => $expand!(4147), + 4403 => $expand!(4403), + 4659 => $expand!(4659), + 4915 => $expand!(4915), + 5171 => $expand!(5171), + 5427 => $expand!(5427), + 5683 => $expand!(5683), + 5939 => $expand!(5939), + 6195 => $expand!(6195), + 6451 => $expand!(6451), + 6707 => $expand!(6707), + 6963 => $expand!(6963), + 7219 => $expand!(7219), + 7475 => $expand!(7475), + 7731 => $expand!(7731), + 7987 => $expand!(7987), + 8243 => $expand!(8243), + 8499 => $expand!(8499), + 8755 => $expand!(8755), + 9011 => $expand!(9011), + 9267 => $expand!(9267), + 9523 => $expand!(9523), + 9779 => $expand!(9779), + 10035 => $expand!(10035), + 10291 => $expand!(10291), + 10547 => $expand!(10547), + 10803 => $expand!(10803), + 11059 => $expand!(11059), + 11315 => $expand!(11315), + 11571 => $expand!(11571), + 11827 => $expand!(11827), + 12083 => $expand!(12083), + 12339 => $expand!(12339), + 12595 => $expand!(12595), + 12851 => $expand!(12851), + 13107 => $expand!(13107), + 13363 => $expand!(13363), + 13619 => $expand!(13619), + 13875 => $expand!(13875), + 14131 => $expand!(14131), + 14387 => $expand!(14387), + 14643 => $expand!(14643), + 14899 => $expand!(14899), + 15155 => $expand!(15155), + 15411 => $expand!(15411), + 15667 => $expand!(15667), + 15923 => $expand!(15923), + 16179 => $expand!(16179), + 52 => $expand!(52), + 308 => $expand!(308), + 564 => $expand!(564), + 820 => $expand!(820), + 1076 => $expand!(1076), + 1332 => $expand!(1332), + 1588 => $expand!(1588), + 1844 => $expand!(1844), + 2100 => $expand!(2100), + 2356 => $expand!(2356), + 2612 => $expand!(2612), + 2868 => $expand!(2868), + 3124 => $expand!(3124), + 3380 => $expand!(3380), + 3636 => $expand!(3636), + 3892 => $expand!(3892), + 4148 => $expand!(4148), + 4404 => $expand!(4404), + 4660 => $expand!(4660), + 4916 => $expand!(4916), + 5172 => $expand!(5172), + 5428 => $expand!(5428), + 5684 => $expand!(5684), + 5940 => $expand!(5940), + 6196 => $expand!(6196), + 6452 => $expand!(6452), + 6708 => $expand!(6708), + 6964 => $expand!(6964), + 7220 => $expand!(7220), + 7476 => $expand!(7476), + 7732 => $expand!(7732), + 7988 => $expand!(7988), + 8244 => $expand!(8244), + 8500 => $expand!(8500), + 8756 => $expand!(8756), + 9012 => $expand!(9012), + 9268 => $expand!(9268), + 9524 => $expand!(9524), + 9780 => $expand!(9780), + 10036 => $expand!(10036), + 10292 => $expand!(10292), + 10548 => $expand!(10548), + 10804 => $expand!(10804), + 11060 => $expand!(11060), + 11316 => $expand!(11316), + 11572 => $expand!(11572), + 11828 => $expand!(11828), + 12084 => $expand!(12084), + 12340 => $expand!(12340), + 12596 => $expand!(12596), + 12852 => $expand!(12852), + 13108 => $expand!(13108), + 13364 => $expand!(13364), + 13620 => $expand!(13620), + 13876 => $expand!(13876), + 14132 => $expand!(14132), + 14388 => $expand!(14388), + 14644 => $expand!(14644), + 14900 => $expand!(14900), + 15156 => $expand!(15156), + 15412 => $expand!(15412), + 15668 => $expand!(15668), + 15924 => $expand!(15924), + 16180 => $expand!(16180), + 53 => $expand!(53), + 309 => $expand!(309), + 565 => $expand!(565), + 821 => $expand!(821), + 1077 => $expand!(1077), + 1333 => $expand!(1333), + 1589 => $expand!(1589), + 1845 => $expand!(1845), + 2101 => $expand!(2101), + 2357 => $expand!(2357), + 2613 => $expand!(2613), + 2869 => $expand!(2869), + 3125 => $expand!(3125), + 3381 => $expand!(3381), + 3637 => $expand!(3637), + 3893 => $expand!(3893), + 4149 => $expand!(4149), + 4405 => $expand!(4405), + 4661 => $expand!(4661), + 4917 => $expand!(4917), + 5173 => $expand!(5173), + 5429 => $expand!(5429), + 5685 => $expand!(5685), + 5941 => $expand!(5941), + 6197 => $expand!(6197), + 6453 => $expand!(6453), + 6709 => $expand!(6709), + 6965 => $expand!(6965), + 7221 => $expand!(7221), + 7477 => $expand!(7477), + 7733 => $expand!(7733), + 7989 => $expand!(7989), + 8245 => $expand!(8245), + 8501 => $expand!(8501), + 8757 => $expand!(8757), + 9013 => $expand!(9013), + 9269 => $expand!(9269), + 9525 => $expand!(9525), + 9781 => $expand!(9781), + 10037 => $expand!(10037), + 10293 => $expand!(10293), + 10549 => $expand!(10549), + 10805 => $expand!(10805), + 11061 => $expand!(11061), + 11317 => $expand!(11317), + 11573 => $expand!(11573), + 11829 => $expand!(11829), + 12085 => $expand!(12085), + 12341 => $expand!(12341), + 12597 => $expand!(12597), + 12853 => $expand!(12853), + 13109 => $expand!(13109), + 13365 => $expand!(13365), + 13621 => $expand!(13621), + 13877 => $expand!(13877), + 14133 => $expand!(14133), + 14389 => $expand!(14389), + 14645 => $expand!(14645), + 14901 => $expand!(14901), + 15157 => $expand!(15157), + 15413 => $expand!(15413), + 15669 => $expand!(15669), + 15925 => $expand!(15925), + 16181 => $expand!(16181), + 54 => $expand!(54), + 310 => $expand!(310), + 566 => $expand!(566), + 822 => $expand!(822), + 1078 => $expand!(1078), + 1334 => $expand!(1334), + 1590 => $expand!(1590), + 1846 => $expand!(1846), + 2102 => $expand!(2102), + 2358 => $expand!(2358), + 2614 => $expand!(2614), + 2870 => $expand!(2870), + 3126 => $expand!(3126), + 3382 => $expand!(3382), + 3638 => $expand!(3638), + 3894 => $expand!(3894), + 4150 => $expand!(4150), + 4406 => $expand!(4406), + 4662 => $expand!(4662), + 4918 => $expand!(4918), + 5174 => $expand!(5174), + 5430 => $expand!(5430), + 5686 => $expand!(5686), + 5942 => $expand!(5942), + 6198 => $expand!(6198), + 6454 => $expand!(6454), + 6710 => $expand!(6710), + 6966 => $expand!(6966), + 7222 => $expand!(7222), + 7478 => $expand!(7478), + 7734 => $expand!(7734), + 7990 => $expand!(7990), + 8246 => $expand!(8246), + 8502 => $expand!(8502), + 8758 => $expand!(8758), + 9014 => $expand!(9014), + 9270 => $expand!(9270), + 9526 => $expand!(9526), + 9782 => $expand!(9782), + 10038 => $expand!(10038), + 10294 => $expand!(10294), + 10550 => $expand!(10550), + 10806 => $expand!(10806), + 11062 => $expand!(11062), + 11318 => $expand!(11318), + 11574 => $expand!(11574), + 11830 => $expand!(11830), + 12086 => $expand!(12086), + 12342 => $expand!(12342), + 12598 => $expand!(12598), + 12854 => $expand!(12854), + 13110 => $expand!(13110), + 13366 => $expand!(13366), + 13622 => $expand!(13622), + 13878 => $expand!(13878), + 14134 => $expand!(14134), + 14390 => $expand!(14390), + 14646 => $expand!(14646), + 14902 => $expand!(14902), + 15158 => $expand!(15158), + 15414 => $expand!(15414), + 15670 => $expand!(15670), + 15926 => $expand!(15926), + 16182 => $expand!(16182), + 55 => $expand!(55), + 311 => $expand!(311), + 567 => $expand!(567), + 823 => $expand!(823), + 1079 => $expand!(1079), + 1335 => $expand!(1335), + 1591 => $expand!(1591), + 1847 => $expand!(1847), + 2103 => $expand!(2103), + 2359 => $expand!(2359), + 2615 => $expand!(2615), + 2871 => $expand!(2871), + 3127 => $expand!(3127), + 3383 => $expand!(3383), + 3639 => $expand!(3639), + 3895 => $expand!(3895), + 4151 => $expand!(4151), + 4407 => $expand!(4407), + 4663 => $expand!(4663), + 4919 => $expand!(4919), + 5175 => $expand!(5175), + 5431 => $expand!(5431), + 5687 => $expand!(5687), + 5943 => $expand!(5943), + 6199 => $expand!(6199), + 6455 => $expand!(6455), + 6711 => $expand!(6711), + 6967 => $expand!(6967), + 7223 => $expand!(7223), + 7479 => $expand!(7479), + 7735 => $expand!(7735), + 7991 => $expand!(7991), + 8247 => $expand!(8247), + 8503 => $expand!(8503), + 8759 => $expand!(8759), + 9015 => $expand!(9015), + 9271 => $expand!(9271), + 9527 => $expand!(9527), + 9783 => $expand!(9783), + 10039 => $expand!(10039), + 10295 => $expand!(10295), + 10551 => $expand!(10551), + 10807 => $expand!(10807), + 11063 => $expand!(11063), + 11319 => $expand!(11319), + 11575 => $expand!(11575), + 11831 => $expand!(11831), + 12087 => $expand!(12087), + 12343 => $expand!(12343), + 12599 => $expand!(12599), + 12855 => $expand!(12855), + 13111 => $expand!(13111), + 13367 => $expand!(13367), + 13623 => $expand!(13623), + 13879 => $expand!(13879), + 14135 => $expand!(14135), + 14391 => $expand!(14391), + 14647 => $expand!(14647), + 14903 => $expand!(14903), + 15159 => $expand!(15159), + 15415 => $expand!(15415), + 15671 => $expand!(15671), + 15927 => $expand!(15927), + 16183 => $expand!(16183), + 56 => $expand!(56), + 312 => $expand!(312), + 568 => $expand!(568), + 824 => $expand!(824), + 1080 => $expand!(1080), + 1336 => $expand!(1336), + 1592 => $expand!(1592), + 1848 => $expand!(1848), + 2104 => $expand!(2104), + 2360 => $expand!(2360), + 2616 => $expand!(2616), + 2872 => $expand!(2872), + 3128 => $expand!(3128), + 3384 => $expand!(3384), + 3640 => $expand!(3640), + 3896 => $expand!(3896), + 4152 => $expand!(4152), + 4408 => $expand!(4408), + 4664 => $expand!(4664), + 4920 => $expand!(4920), + 5176 => $expand!(5176), + 5432 => $expand!(5432), + 5688 => $expand!(5688), + 5944 => $expand!(5944), + 6200 => $expand!(6200), + 6456 => $expand!(6456), + 6712 => $expand!(6712), + 6968 => $expand!(6968), + 7224 => $expand!(7224), + 7480 => $expand!(7480), + 7736 => $expand!(7736), + 7992 => $expand!(7992), + 8248 => $expand!(8248), + 8504 => $expand!(8504), + 8760 => $expand!(8760), + 9016 => $expand!(9016), + 9272 => $expand!(9272), + 9528 => $expand!(9528), + 9784 => $expand!(9784), + 10040 => $expand!(10040), + 10296 => $expand!(10296), + 10552 => $expand!(10552), + 10808 => $expand!(10808), + 11064 => $expand!(11064), + 11320 => $expand!(11320), + 11576 => $expand!(11576), + 11832 => $expand!(11832), + 12088 => $expand!(12088), + 12344 => $expand!(12344), + 12600 => $expand!(12600), + 12856 => $expand!(12856), + 13112 => $expand!(13112), + 13368 => $expand!(13368), + 13624 => $expand!(13624), + 13880 => $expand!(13880), + 14136 => $expand!(14136), + 14392 => $expand!(14392), + 14648 => $expand!(14648), + 14904 => $expand!(14904), + 15160 => $expand!(15160), + 15416 => $expand!(15416), + 15672 => $expand!(15672), + 15928 => $expand!(15928), + 16184 => $expand!(16184), + 57 => $expand!(57), + 313 => $expand!(313), + 569 => $expand!(569), + 825 => $expand!(825), + 1081 => $expand!(1081), + 1337 => $expand!(1337), + 1593 => $expand!(1593), + 1849 => $expand!(1849), + 2105 => $expand!(2105), + 2361 => $expand!(2361), + 2617 => $expand!(2617), + 2873 => $expand!(2873), + 3129 => $expand!(3129), + 3385 => $expand!(3385), + 3641 => $expand!(3641), + 3897 => $expand!(3897), + 4153 => $expand!(4153), + 4409 => $expand!(4409), + 4665 => $expand!(4665), + 4921 => $expand!(4921), + 5177 => $expand!(5177), + 5433 => $expand!(5433), + 5689 => $expand!(5689), + 5945 => $expand!(5945), + 6201 => $expand!(6201), + 6457 => $expand!(6457), + 6713 => $expand!(6713), + 6969 => $expand!(6969), + 7225 => $expand!(7225), + 7481 => $expand!(7481), + 7737 => $expand!(7737), + 7993 => $expand!(7993), + 8249 => $expand!(8249), + 8505 => $expand!(8505), + 8761 => $expand!(8761), + 9017 => $expand!(9017), + 9273 => $expand!(9273), + 9529 => $expand!(9529), + 9785 => $expand!(9785), + 10041 => $expand!(10041), + 10297 => $expand!(10297), + 10553 => $expand!(10553), + 10809 => $expand!(10809), + 11065 => $expand!(11065), + 11321 => $expand!(11321), + 11577 => $expand!(11577), + 11833 => $expand!(11833), + 12089 => $expand!(12089), + 12345 => $expand!(12345), + 12601 => $expand!(12601), + 12857 => $expand!(12857), + 13113 => $expand!(13113), + 13369 => $expand!(13369), + 13625 => $expand!(13625), + 13881 => $expand!(13881), + 14137 => $expand!(14137), + 14393 => $expand!(14393), + 14649 => $expand!(14649), + 14905 => $expand!(14905), + 15161 => $expand!(15161), + 15417 => $expand!(15417), + 15673 => $expand!(15673), + 15929 => $expand!(15929), + 16185 => $expand!(16185), + 58 => $expand!(58), + 314 => $expand!(314), + 570 => $expand!(570), + 826 => $expand!(826), + 1082 => $expand!(1082), + 1338 => $expand!(1338), + 1594 => $expand!(1594), + 1850 => $expand!(1850), + 2106 => $expand!(2106), + 2362 => $expand!(2362), + 2618 => $expand!(2618), + 2874 => $expand!(2874), + 3130 => $expand!(3130), + 3386 => $expand!(3386), + 3642 => $expand!(3642), + 3898 => $expand!(3898), + 4154 => $expand!(4154), + 4410 => $expand!(4410), + 4666 => $expand!(4666), + 4922 => $expand!(4922), + 5178 => $expand!(5178), + 5434 => $expand!(5434), + 5690 => $expand!(5690), + 5946 => $expand!(5946), + 6202 => $expand!(6202), + 6458 => $expand!(6458), + 6714 => $expand!(6714), + 6970 => $expand!(6970), + 7226 => $expand!(7226), + 7482 => $expand!(7482), + 7738 => $expand!(7738), + 7994 => $expand!(7994), + 8250 => $expand!(8250), + 8506 => $expand!(8506), + 8762 => $expand!(8762), + 9018 => $expand!(9018), + 9274 => $expand!(9274), + 9530 => $expand!(9530), + 9786 => $expand!(9786), + 10042 => $expand!(10042), + 10298 => $expand!(10298), + 10554 => $expand!(10554), + 10810 => $expand!(10810), + 11066 => $expand!(11066), + 11322 => $expand!(11322), + 11578 => $expand!(11578), + 11834 => $expand!(11834), + 12090 => $expand!(12090), + 12346 => $expand!(12346), + 12602 => $expand!(12602), + 12858 => $expand!(12858), + 13114 => $expand!(13114), + 13370 => $expand!(13370), + 13626 => $expand!(13626), + 13882 => $expand!(13882), + 14138 => $expand!(14138), + 14394 => $expand!(14394), + 14650 => $expand!(14650), + 14906 => $expand!(14906), + 15162 => $expand!(15162), + 15418 => $expand!(15418), + 15674 => $expand!(15674), + 15930 => $expand!(15930), + 16186 => $expand!(16186), + 59 => $expand!(59), + 315 => $expand!(315), + 571 => $expand!(571), + 827 => $expand!(827), + 1083 => $expand!(1083), + 1339 => $expand!(1339), + 1595 => $expand!(1595), + 1851 => $expand!(1851), + 2107 => $expand!(2107), + 2363 => $expand!(2363), + 2619 => $expand!(2619), + 2875 => $expand!(2875), + 3131 => $expand!(3131), + 3387 => $expand!(3387), + 3643 => $expand!(3643), + 3899 => $expand!(3899), + 4155 => $expand!(4155), + 4411 => $expand!(4411), + 4667 => $expand!(4667), + 4923 => $expand!(4923), + 5179 => $expand!(5179), + 5435 => $expand!(5435), + 5691 => $expand!(5691), + 5947 => $expand!(5947), + 6203 => $expand!(6203), + 6459 => $expand!(6459), + 6715 => $expand!(6715), + 6971 => $expand!(6971), + 7227 => $expand!(7227), + 7483 => $expand!(7483), + 7739 => $expand!(7739), + 7995 => $expand!(7995), + 8251 => $expand!(8251), + 8507 => $expand!(8507), + 8763 => $expand!(8763), + 9019 => $expand!(9019), + 9275 => $expand!(9275), + 9531 => $expand!(9531), + 9787 => $expand!(9787), + 10043 => $expand!(10043), + 10299 => $expand!(10299), + 10555 => $expand!(10555), + 10811 => $expand!(10811), + 11067 => $expand!(11067), + 11323 => $expand!(11323), + 11579 => $expand!(11579), + 11835 => $expand!(11835), + 12091 => $expand!(12091), + 12347 => $expand!(12347), + 12603 => $expand!(12603), + 12859 => $expand!(12859), + 13115 => $expand!(13115), + 13371 => $expand!(13371), + 13627 => $expand!(13627), + 13883 => $expand!(13883), + 14139 => $expand!(14139), + 14395 => $expand!(14395), + 14651 => $expand!(14651), + 14907 => $expand!(14907), + 15163 => $expand!(15163), + 15419 => $expand!(15419), + 15675 => $expand!(15675), + 15931 => $expand!(15931), + 16187 => $expand!(16187), + 60 => $expand!(60), + 316 => $expand!(316), + 572 => $expand!(572), + 828 => $expand!(828), + 1084 => $expand!(1084), + 1340 => $expand!(1340), + 1596 => $expand!(1596), + 1852 => $expand!(1852), + 2108 => $expand!(2108), + 2364 => $expand!(2364), + 2620 => $expand!(2620), + 2876 => $expand!(2876), + 3132 => $expand!(3132), + 3388 => $expand!(3388), + 3644 => $expand!(3644), + 3900 => $expand!(3900), + 4156 => $expand!(4156), + 4412 => $expand!(4412), + 4668 => $expand!(4668), + 4924 => $expand!(4924), + 5180 => $expand!(5180), + 5436 => $expand!(5436), + 5692 => $expand!(5692), + 5948 => $expand!(5948), + 6204 => $expand!(6204), + 6460 => $expand!(6460), + 6716 => $expand!(6716), + 6972 => $expand!(6972), + 7228 => $expand!(7228), + 7484 => $expand!(7484), + 7740 => $expand!(7740), + 7996 => $expand!(7996), + 8252 => $expand!(8252), + 8508 => $expand!(8508), + 8764 => $expand!(8764), + 9020 => $expand!(9020), + 9276 => $expand!(9276), + 9532 => $expand!(9532), + 9788 => $expand!(9788), + 10044 => $expand!(10044), + 10300 => $expand!(10300), + 10556 => $expand!(10556), + 10812 => $expand!(10812), + 11068 => $expand!(11068), + 11324 => $expand!(11324), + 11580 => $expand!(11580), + 11836 => $expand!(11836), + 12092 => $expand!(12092), + 12348 => $expand!(12348), + 12604 => $expand!(12604), + 12860 => $expand!(12860), + 13116 => $expand!(13116), + 13372 => $expand!(13372), + 13628 => $expand!(13628), + 13884 => $expand!(13884), + 14140 => $expand!(14140), + 14396 => $expand!(14396), + 14652 => $expand!(14652), + 14908 => $expand!(14908), + 15164 => $expand!(15164), + 15420 => $expand!(15420), + 15676 => $expand!(15676), + 15932 => $expand!(15932), + 16188 => $expand!(16188), + 61 => $expand!(61), + 317 => $expand!(317), + 573 => $expand!(573), + 829 => $expand!(829), + 1085 => $expand!(1085), + 1341 => $expand!(1341), + 1597 => $expand!(1597), + 1853 => $expand!(1853), + 2109 => $expand!(2109), + 2365 => $expand!(2365), + 2621 => $expand!(2621), + 2877 => $expand!(2877), + 3133 => $expand!(3133), + 3389 => $expand!(3389), + 3645 => $expand!(3645), + 3901 => $expand!(3901), + 4157 => $expand!(4157), + 4413 => $expand!(4413), + 4669 => $expand!(4669), + 4925 => $expand!(4925), + 5181 => $expand!(5181), + 5437 => $expand!(5437), + 5693 => $expand!(5693), + 5949 => $expand!(5949), + 6205 => $expand!(6205), + 6461 => $expand!(6461), + 6717 => $expand!(6717), + 6973 => $expand!(6973), + 7229 => $expand!(7229), + 7485 => $expand!(7485), + 7741 => $expand!(7741), + 7997 => $expand!(7997), + 8253 => $expand!(8253), + 8509 => $expand!(8509), + 8765 => $expand!(8765), + 9021 => $expand!(9021), + 9277 => $expand!(9277), + 9533 => $expand!(9533), + 9789 => $expand!(9789), + 10045 => $expand!(10045), + 10301 => $expand!(10301), + 10557 => $expand!(10557), + 10813 => $expand!(10813), + 11069 => $expand!(11069), + 11325 => $expand!(11325), + 11581 => $expand!(11581), + 11837 => $expand!(11837), + 12093 => $expand!(12093), + 12349 => $expand!(12349), + 12605 => $expand!(12605), + 12861 => $expand!(12861), + 13117 => $expand!(13117), + 13373 => $expand!(13373), + 13629 => $expand!(13629), + 13885 => $expand!(13885), + 14141 => $expand!(14141), + 14397 => $expand!(14397), + 14653 => $expand!(14653), + 14909 => $expand!(14909), + 15165 => $expand!(15165), + 15421 => $expand!(15421), + 15677 => $expand!(15677), + 15933 => $expand!(15933), + 16189 => $expand!(16189), + 62 => $expand!(62), + 318 => $expand!(318), + 574 => $expand!(574), + 830 => $expand!(830), + 1086 => $expand!(1086), + 1342 => $expand!(1342), + 1598 => $expand!(1598), + 1854 => $expand!(1854), + 2110 => $expand!(2110), + 2366 => $expand!(2366), + 2622 => $expand!(2622), + 2878 => $expand!(2878), + 3134 => $expand!(3134), + 3390 => $expand!(3390), + 3646 => $expand!(3646), + 3902 => $expand!(3902), + 4158 => $expand!(4158), + 4414 => $expand!(4414), + 4670 => $expand!(4670), + 4926 => $expand!(4926), + 5182 => $expand!(5182), + 5438 => $expand!(5438), + 5694 => $expand!(5694), + 5950 => $expand!(5950), + 6206 => $expand!(6206), + 6462 => $expand!(6462), + 6718 => $expand!(6718), + 6974 => $expand!(6974), + 7230 => $expand!(7230), + 7486 => $expand!(7486), + 7742 => $expand!(7742), + 7998 => $expand!(7998), + 8254 => $expand!(8254), + 8510 => $expand!(8510), + 8766 => $expand!(8766), + 9022 => $expand!(9022), + 9278 => $expand!(9278), + 9534 => $expand!(9534), + 9790 => $expand!(9790), + 10046 => $expand!(10046), + 10302 => $expand!(10302), + 10558 => $expand!(10558), + 10814 => $expand!(10814), + 11070 => $expand!(11070), + 11326 => $expand!(11326), + 11582 => $expand!(11582), + 11838 => $expand!(11838), + 12094 => $expand!(12094), + 12350 => $expand!(12350), + 12606 => $expand!(12606), + 12862 => $expand!(12862), + 13118 => $expand!(13118), + 13374 => $expand!(13374), + 13630 => $expand!(13630), + 13886 => $expand!(13886), + 14142 => $expand!(14142), + 14398 => $expand!(14398), + 14654 => $expand!(14654), + 14910 => $expand!(14910), + 15166 => $expand!(15166), + 15422 => $expand!(15422), + 15678 => $expand!(15678), + 15934 => $expand!(15934), + 16190 => $expand!(16190), + 63 => $expand!(63), + 319 => $expand!(319), + 575 => $expand!(575), + 831 => $expand!(831), + 1087 => $expand!(1087), + 1343 => $expand!(1343), + 1599 => $expand!(1599), + 1855 => $expand!(1855), + 2111 => $expand!(2111), + 2367 => $expand!(2367), + 2623 => $expand!(2623), + 2879 => $expand!(2879), + 3135 => $expand!(3135), + 3391 => $expand!(3391), + 3647 => $expand!(3647), + 3903 => $expand!(3903), + 4159 => $expand!(4159), + 4415 => $expand!(4415), + 4671 => $expand!(4671), + 4927 => $expand!(4927), + 5183 => $expand!(5183), + 5439 => $expand!(5439), + 5695 => $expand!(5695), + 5951 => $expand!(5951), + 6207 => $expand!(6207), + 6463 => $expand!(6463), + 6719 => $expand!(6719), + 6975 => $expand!(6975), + 7231 => $expand!(7231), + 7487 => $expand!(7487), + 7743 => $expand!(7743), + 7999 => $expand!(7999), + 8255 => $expand!(8255), + 8511 => $expand!(8511), + 8767 => $expand!(8767), + 9023 => $expand!(9023), + 9279 => $expand!(9279), + 9535 => $expand!(9535), + 9791 => $expand!(9791), + 10047 => $expand!(10047), + 10303 => $expand!(10303), + 10559 => $expand!(10559), + 10815 => $expand!(10815), + 11071 => $expand!(11071), + 11327 => $expand!(11327), + 11583 => $expand!(11583), + 11839 => $expand!(11839), + 12095 => $expand!(12095), + 12351 => $expand!(12351), + 12607 => $expand!(12607), + 12863 => $expand!(12863), + 13119 => $expand!(13119), + 13375 => $expand!(13375), + 13631 => $expand!(13631), + 13887 => $expand!(13887), + 14143 => $expand!(14143), + 14399 => $expand!(14399), + 14655 => $expand!(14655), + 14911 => $expand!(14911), + 15167 => $expand!(15167), + 15423 => $expand!(15423), + 15679 => $expand!(15679), + 15935 => $expand!(15935), + _/*16191*/ => $expand!(16191), + } + } +} diff --git a/src/x86/tbm.rs b/src/x86/tbm.rs index c6be38adc8..f27f8982aa 100644 --- a/src/x86/tbm.rs +++ b/src/x86/tbm.rs @@ -14,31 +14,31 @@ #[cfg(test)] use stdsimd_test::assert_instr; -// TODO: LLVM-CODEGEN ERROR: LLVM ERROR: Cannot select: -// intrinsic %llvm.x86.tbm.bextri.u32 -/* #[allow(dead_code)] extern "C" { - #[link_name="llvm.x86.tbm.bextri.u32"] - fn x86_tbm_bextri_u32(a: u32, y: u32) -> u32; - #[link_name="llvm.x86.tbm.bextri.u64"] - fn x86_tbm_bextri_u64(x: u64, y: u64) -> u64; + #[link_name = "llvm.x86.tbm.bextri.u32"] + fn x86_tbm_bextri_u32(a: u32, control: u32) -> u32; + #[link_name = "llvm.x86.tbm.bextri.u64"] + fn x86_tbm_bextri_u64(a: u64, control: u64) -> u64; } /// Extracts bits in range [`start`, `start` + `length`) from `a` into /// the least significant bits of the result. #[inline(always)] #[target_feature = "+tbm"] -pub fn _bextr_u32(a: u32, start: u32, len: u32) -> u32 { - _bextr2_u32(a, (start & 0xffu32) | ((len & 0xffu32) << 8u32)) +#[cfg_attr(test, assert_instr(bextr, start = 4, len = 4))] +pub unsafe fn _bextri_u32(a: u32, start: u32, len: u32) -> u32 { + _bextri2_u32(a, (start & 0xff_u32) | ((len & 0xff_u32) << 8_u32)) } /// Extracts bits in range [`start`, `start` + `length`) from `a` into /// the least significant bits of the result. #[inline(always)] #[target_feature = "+tbm"] -pub fn _bextr_u64(a: u64, start: u64, len: u64) -> u64 { - _bextr2_u64(a, (start & 0xffu64) | ((len & 0xffu64) << 8u64)) +#[cfg(not(target_arch = "x86"))] +#[cfg_attr(test, assert_instr(bextr, start = 4, len = 4))] +pub unsafe fn _bextri_u64(a: u64, start: u64, len: u64) -> u64 { + _bextri2_u64(a, (start & 0xff_u64) | ((len & 0xff_u64) << 8_u64)) } /// Extracts bits of `a` specified by `control` into @@ -48,8 +48,14 @@ pub fn _bextr_u64(a: u64, start: u64, len: u64) -> u64 { /// be extracted, and bits [15,8] specify the length of the range. #[inline(always)] #[target_feature = "+tbm"] -pub fn _bextr2_u32(a: u32, control: u32) -> u32 { - unsafe { x86_tbm_bextri_u32(a, control) } +#[cfg_attr(test, assert_instr(bextr, control = 1026))] +pub unsafe fn _bextri2_u32(a: u32, control: u32) -> u32 { + macro_rules! call { + ($imm16:expr) => { + x86_tbm_bextri_u32(a, $imm16) + } + } + constify_bextri2!(control, call) } /// Extracts bits of `a` specified by `control` into @@ -59,10 +65,16 @@ pub fn _bextr2_u32(a: u32, control: u32) -> u32 { /// be extracted, and bits [15,8] specify the length of the range. #[inline(always)] #[target_feature = "+tbm"] -pub fn _bextr2_u64(a: u64, control: u64) -> u64 { - unsafe { x86_tbm_bextri_u64(a, control) } +#[cfg(not(target_arch = "x86"))] +#[cfg_attr(test, assert_instr(bextr, control = 1026))] +pub unsafe fn _bextri2_u64(a: u64, control: u64) -> u64 { + macro_rules! call { + ($imm16:expr) => { + x86_tbm_bextri_u64(a, $imm16) + } + } + constify_bextri2!(control, call) } -*/ /// Clears all bits below the least significant zero bit of `x`. /// @@ -262,20 +274,26 @@ pub unsafe fn _tzmsk_u64(x: u64) -> u64 { #[cfg(test)] mod tests { use stdsimd_test::simd_test; - use x86::tbm; - /* #[simd_test = "tbm"] - unsafe fn _bextr_u32() { - assert_eq!(tbm::_bextr_u32(0b0101_0000u32, 4, 4), 0b0000_0101u32); + unsafe fn _bextri_u32() { + let r = tbm::_bextri2_u32(0b0101_0000u32, 1026); + assert_eq!(r, 0b0000_0101u32); + + let r2 = tbm::_bextri_u32(0b0101_0000u32, 4, 4); + assert_eq!(r2, 0b0000_0101u32); } + #[cfg(not(target_arch = "x86"))] #[simd_test = "tbm"] - unsafe fn _bextr_u64() { - assert_eq!(tbm::_bextr_u64(0b0101_0000u64, 4, 4), 0b0000_0101u64); + unsafe fn _bextri_u64() { + let r = tbm::_bextri2_u64(0b0101_0000u64, 1026); + assert_eq!(r, 0b0000_0101u64); + + let r2 = tbm::_bextri_u64(0b0101_0000u64, 4, 4); + assert_eq!(r2, 0b0000_0101u64); } - */ #[simd_test = "tbm"] unsafe fn _blcfill_u32() {