/* The contents of this file was automatically generated by dump_modes.c with arguments: 48000 960 96000 1920 It contains static definitions for some pre-defined modes. */ #include "modes.h" #include "rate.h" #ifdef HAVE_ARM_NE10 #define OVERRIDE_FFT 1 #include "static_modes_fixed_arm_ne10.h" #endif #ifndef DEF_WINDOW120 #define DEF_WINDOW120 static const celt_coef window120[120] = { #ifdef ENABLE_QEXT 144497, 1300330, 3611201, 7075520, 11690888, 17454086, 24361057, 32406886, 41585775, 51891010, 63314937, 75848919, 89483305, 104207389, 120009370, 136876310, 154794092, 173747379, 193719571, 214692768, 236647730, 259563841, 283419077, 308189974, 333851611, 360377579, 387739975, 415909390, 444854905, 474544098, 504943052, 536016380, 567727246, 600037405, 632907246, 666295842, 700161014, 734459402, 769146541, 804176950, 839504226, 875081152, 910859802, 946791664, 982827767, 1018918807, 1055015290, 1091067670, 1127026498, 1162842573, 1198467087, 1233851789, 1268949131, 1303712428, 1338096006, 1372055358, 1405547288, 1438530058, 1470963524, 1502809271, 1534030739, 1564593342, 1594464577, 1623614128, 1652013956, 1679638382, 1706464158, 1732470524, 1757639263, 1781954729, 1805403879, 1827976282, 1849664120, 1870462177, 1890367816, 1909380946, 1927503971, 1944741741, 1961101475, 1976592692, 1991227121, 2005018607, 2017983004, 2030138067, 2041503335, 2052100006, 2061950806, 2071079861, 2079512553, 2087275384, 2094395835, 2100902218, 2106823532, 2112189321, 2117029527, 2121374347, 2125254092, 2128699049, 2131739343, 2134404804, 2136724838, 2138728301, 2140443380, 2141897478, 2143117097, 2144127740, 2144953807, 2145618502, 2146143741, 2146550077, 2146856618, 2147080958, 2147239113, 2147345467, 2147412716, 2147451825, 2147471991, 2147480611, 2147483254, 2147483643, #else 2, 20, 55, 108, 178, 266, 372, 494, 635, 792, 966, 1157, 1365, 1590, 1831, 2089, 2362, 2651, 2956, 3276, 3611, 3961, 4325, 4703, 5094, 5499, 5916, 6346, 6788, 7241, 7705, 8179, 8663, 9156, 9657, 10167, 10684, 11207, 11736, 12271, 12810, 13353, 13899, 14447, 14997, 15547, 16098, 16648, 17197, 17744, 18287, 18827, 19363, 19893, 20418, 20936, 21447, 21950, 22445, 22931, 23407, 23874, 24330, 24774, 25208, 25629, 26039, 26435, 26819, 27190, 27548, 27893, 28224, 28541, 28845, 29135, 29411, 29674, 29924, 30160, 30384, 30594, 30792, 30977, 31151, 31313, 31463, 31602, 31731, 31849, 31958, 32057, 32148, 32229, 32303, 32370, 32429, 32481, 32528, 32568, 32604, 32634, 32661, 32683, 32701, 32717, 32729, 32740, 32748, 32754, 32758, 32762, 32764, 32766, 32767, 32767, 32767, 32767, 32767, 32767, #endif }; #endif #ifndef DEF_LOGN400 #define DEF_LOGN400 static const opus_int16 logN400[21] = { 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, }; #endif #ifndef DEF_PULSE_CACHE50 #define DEF_PULSE_CACHE50 static const opus_int16 cache_index50[105] = { -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41, 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41, 41, 41, 41, 41, 41, 123, 123, 123, 123, 240, 240, 240, 266, 266, 305, 318, 328, 336, 123, 123, 123, 123, 123, 123, 123, 123, 240, 240, 240, 240, 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240, 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387, }; static const unsigned char cache_bits50[392] = { 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28, 31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, 57, 58, 59, 60, 61, 62, 63, 63, 65, 66, 67, 68, 69, 70, 71, 71, 40, 20, 33, 41, 48, 53, 57, 61, 64, 66, 69, 71, 73, 75, 76, 78, 80, 82, 85, 87, 89, 91, 92, 94, 96, 98, 101, 103, 105, 107, 108, 110, 112, 114, 117, 119, 121, 123, 124, 126, 128, 40, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94, 97, 100, 102, 105, 107, 111, 115, 118, 121, 124, 126, 129, 131, 135, 139, 142, 145, 148, 150, 153, 155, 159, 163, 166, 169, 172, 174, 177, 179, 35, 28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149, 153, 159, 165, 171, 176, 180, 185, 189, 192, 199, 205, 211, 216, 220, 225, 229, 232, 239, 245, 251, 21, 33, 58, 79, 97, 112, 125, 137, 148, 157, 166, 174, 182, 189, 195, 201, 207, 217, 227, 235, 243, 251, 17, 35, 63, 86, 106, 123, 139, 152, 165, 177, 187, 197, 206, 214, 222, 230, 237, 250, 25, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180, 185, 190, 200, 208, 215, 222, 229, 235, 240, 245, 255, 16, 36, 65, 89, 110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250, 11, 41, 74, 103, 128, 151, 172, 191, 209, 225, 241, 255, 9, 43, 79, 110, 138, 163, 186, 207, 227, 246, 12, 39, 71, 99, 123, 144, 164, 182, 198, 214, 228, 241, 253, 9, 44, 81, 113, 142, 168, 192, 214, 235, 255, 7, 49, 90, 127, 160, 191, 220, 247, 6, 51, 95, 134, 170, 203, 234, 7, 47, 87, 123, 155, 184, 212, 237, 6, 52, 97, 137, 174, 208, 240, 5, 57, 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187, 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127, 182, 234, }; static const unsigned char cache_caps50[168] = { 224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185, 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240, 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160, 160, 160, 160, 160, 160, 185, 185, 185, 185, 193, 193, 193, 183, 183, 172, 138, 64, 38, 240, 240, 240, 240, 240, 240, 240, 240, 207, 207, 207, 207, 204, 204, 204, 193, 193, 180, 143, 66, 40, 185, 185, 185, 185, 185, 185, 185, 185, 193, 193, 193, 193, 193, 193, 193, 183, 183, 172, 138, 65, 39, 207, 207, 207, 207, 207, 207, 207, 207, 204, 204, 204, 204, 201, 201, 201, 188, 188, 176, 141, 66, 40, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 194, 194, 194, 184, 184, 173, 139, 65, 39, 204, 204, 204, 204, 204, 204, 204, 204, 201, 201, 201, 201, 198, 198, 198, 187, 187, 175, 140, 66, 40, }; #endif #ifdef ENABLE_QEXT # ifndef DEF_QEXT_PULSE_CACHE50 # define DEF_QEXT_PULSE_CACHE50 static const opus_int16 qext_cache_index50[70] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, }; static const unsigned char qext_cache_bits50[86] = { 40, 26, 45, 59, 70, 79, 87, 94, 100, 105, 110, 114, 118, 122, 125, 128, 131, 136, 141, 146, 150, 153, 157, 160, 163, 168, 173, 178, 182, 185, 189, 192, 195, 200, 205, 210, 214, 217, 221, 224, 227, 19, 34, 61, 83, 101, 118, 132, 145, 157, 167, 177, 186, 194, 202, 209, 216, 222, 234, 245, 254, 10, 42, 77, 107, 133, 157, 179, 200, 219, 236, 253, 7, 50, 93, 131, 165, 197, 227, 255, 5, 58, 109, 155, 197, 237, }; static const unsigned char qext_cache_caps50[112] = { 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, }; # endif #endif #ifndef FFT_TWIDDLES48000_960 #define FFT_TWIDDLES48000_960 static const kiss_twiddle_cpx fft_twiddles48000_960[480] = { #ifdef ENABLE_QEXT {2147483647, 0}, {2147299668, -28109692}, {2146747759, -56214568}, {2145828016, -84309812}, {2144540596, -112390610}, {2142885721, -140452151}, {2140863673, -168489625}, {2138474799, -196498230}, {2135719508, -224473166}, {2132598273, -252409639}, {2129111628, -280302863}, {2125260170, -308148059}, {2121044561, -335940456}, {2116465521, -363675290}, {2111523836, -391347811}, {2106220352, -418953276}, {2100555978, -446486956}, {2094531684, -473944133}, {2088148504, -501320102}, {2081407530, -528610172}, {2074309917, -555809667}, {2066856882, -582913927}, {2059049702, -609918309}, {2050889714, -636818183}, {2042378317, -663608942}, {2033516969, -690285996}, {2024307188, -716844772}, {2014750553, -743280720}, {2004848700, -769589312}, {1994603327, -795766038}, {1984016189, -821806413}, {1973089100, -847705977}, {1961823932, -873460290}, {1950222616, -899064940}, {1938287139, -924515541}, {1926019547, -949807730}, {1913421941, -974937175}, {1900496480, -999899569}, {1887245379, -1024690635}, {1873670908, -1049306126}, {1859775393, -1073741824}, {1845561216, -1097993542}, {1831030811, -1122057124}, {1816186668, -1145928447}, {1801031331, -1169603422}, {1785567396, -1193077991}, {1769797514, -1216348132}, {1753724386, -1239409858}, {1737350766, -1262259218}, {1720679461, -1284892296}, {1703713325, -1307305214}, {1686455268, -1329494133}, {1668908244, -1351455249}, {1651075262, -1373184801}, {1632959377, -1394679064}, {1614563692, -1415934356}, {1595891361, -1436947036}, {1576945581, -1457713501}, {1557729600, -1478230195}, {1538246711, -1498493602}, {1518500250, -1518500250}, {1498493602, -1538246711}, {1478230195, -1557729600}, {1457713501, -1576945581}, {1436947036, -1595891361}, {1415934356, -1614563692}, {1394679064, -1632959377}, {1373184801, -1651075262}, {1351455249, -1668908244}, {1329494133, -1686455268}, {1307305214, -1703713325}, {1284892296, -1720679461}, {1262259218, -1737350766}, {1239409858, -1753724386}, {1216348132, -1769797514}, {1193077991, -1785567396}, {1169603422, -1801031331}, {1145928447, -1816186668}, {1122057124, -1831030811}, {1097993542, -1845561216}, {1073741824, -1859775393}, {1049306126, -1873670908}, {1024690635, -1887245379}, {999899569, -1900496480}, {974937175, -1913421941}, {949807730, -1926019547}, {924515541, -1938287139}, {899064940, -1950222616}, {873460290, -1961823932}, {847705977, -1973089100}, {821806413, -1984016189}, {795766038, -1994603327}, {769589312, -2004848700}, {743280720, -2014750553}, {716844772, -2024307188}, {690285996, -2033516969}, {663608942, -2042378317}, {636818183, -2050889714}, {609918309, -2059049702}, {582913927, -2066856882}, {555809667, -2074309917}, {528610172, -2081407530}, {501320102, -2088148504}, {473944133, -2094531684}, {446486956, -2100555978}, {418953276, -2106220352}, {391347811, -2111523836}, {363675290, -2116465521}, {335940456, -2121044561}, {308148059, -2125260170}, {280302863, -2129111628}, {252409639, -2132598273}, {224473166, -2135719508}, {196498230, -2138474799}, {168489625, -2140863673}, {140452151, -2142885721}, {112390610, -2144540596}, {84309812, -2145828016}, {56214568, -2146747759}, {28109692, -2147299668}, {0, -2147483648}, {-28109692, -2147299668}, {-56214568, -2146747759}, {-84309812, -2145828016}, {-112390610, -2144540596}, {-140452151, -2142885721}, {-168489625, -2140863673}, {-196498230, -2138474799}, {-224473166, -2135719508}, {-252409639, -2132598273}, {-280302863, -2129111628}, {-308148059, -2125260170}, {-335940456, -2121044561}, {-363675290, -2116465521}, {-391347811, -2111523836}, {-418953276, -2106220352}, {-446486956, -2100555978}, {-473944133, -2094531684}, {-501320102, -2088148504}, {-528610172, -2081407530}, {-555809667, -2074309917}, {-582913927, -2066856882}, {-609918309, -2059049702}, {-636818183, -2050889714}, {-663608942, -2042378317}, {-690285996, -2033516969}, {-716844772, -2024307188}, {-743280720, -2014750553}, {-769589312, -2004848700}, {-795766038, -1994603327}, {-821806413, -1984016189}, {-847705977, -1973089100}, {-873460290, -1961823932}, {-899064940, -1950222616}, {-924515541, -1938287139}, {-949807730, -1926019547}, {-974937175, -1913421941}, {-999899569, -1900496480}, {-1024690635, -1887245379}, {-1049306126, -1873670908}, {-1073741824, -1859775393}, {-1097993542, -1845561216}, {-1122057124, -1831030811}, {-1145928447, -1816186668}, {-1169603422, -1801031331}, {-1193077991, -1785567396}, {-1216348132, -1769797514}, {-1239409858, -1753724386}, {-1262259218, -1737350766}, {-1284892296, -1720679461}, {-1307305214, -1703713325}, {-1329494133, -1686455268}, {-1351455249, -1668908244}, {-1373184801, -1651075262}, {-1394679064, -1632959377}, {-1415934356, -1614563692}, {-1436947036, -1595891361}, {-1457713501, -1576945581}, {-1478230195, -1557729600}, {-1498493602, -1538246711}, {-1518500250, -1518500250}, {-1538246711, -1498493602}, {-1557729600, -1478230195}, {-1576945581, -1457713501}, {-1595891361, -1436947036}, {-1614563692, -1415934356}, {-1632959377, -1394679064}, {-1651075262, -1373184801}, {-1668908244, -1351455249}, {-1686455268, -1329494133}, {-1703713325, -1307305214}, {-1720679461, -1284892296}, {-1737350766, -1262259218}, {-1753724386, -1239409858}, {-1769797514, -1216348132}, {-1785567396, -1193077991}, {-1801031331, -1169603422}, {-1816186668, -1145928447}, {-1831030811, -1122057124}, {-1845561216, -1097993542}, {-1859775393, -1073741824}, {-1873670908, -1049306126}, {-1887245379, -1024690635}, {-1900496480, -999899569}, {-1913421941, -974937175}, {-1926019547, -949807730}, {-1938287139, -924515541}, {-1950222616, -899064940}, {-1961823932, -873460290}, {-1973089100, -847705977}, {-1984016189, -821806413}, {-1994603327, -795766038}, {-2004848700, -769589312}, {-2014750553, -743280720}, {-2024307188, -716844772}, {-2033516969, -690285996}, {-2042378317, -663608942}, {-2050889714, -636818183}, {-2059049702, -609918309}, {-2066856882, -582913927}, {-2074309917, -555809667}, {-2081407530, -528610172}, {-2088148504, -501320102}, {-2094531684, -473944133}, {-2100555978, -446486956}, {-2106220352, -418953276}, {-2111523836, -391347811}, {-2116465521, -363675290}, {-2121044561, -335940456}, {-2125260170, -308148059}, {-2129111628, -280302863}, {-2132598273, -252409639}, {-2135719508, -224473166}, {-2138474799, -196498230}, {-2140863673, -168489625}, {-2142885721, -140452151}, {-2144540596, -112390610}, {-2145828016, -84309812}, {-2146747759, -56214568}, {-2147299668, -28109692}, {-2147483648, 0}, {-2147299668, 28109692}, {-2146747759, 56214568}, {-2145828016, 84309812}, {-2144540596, 112390610}, {-2142885721, 140452151}, {-2140863673, 168489625}, {-2138474799, 196498230}, {-2135719508, 224473166}, {-2132598273, 252409639}, {-2129111628, 280302863}, {-2125260170, 308148059}, {-2121044561, 335940456}, {-2116465521, 363675290}, {-2111523836, 391347811}, {-2106220352, 418953276}, {-2100555978, 446486956}, {-2094531684, 473944133}, {-2088148504, 501320102}, {-2081407530, 528610172}, {-2074309917, 555809667}, {-2066856882, 582913927}, {-2059049702, 609918309}, {-2050889714, 636818183}, {-2042378317, 663608942}, {-2033516969, 690285996}, {-2024307188, 716844772}, {-2014750553, 743280720}, {-2004848700, 769589312}, {-1994603327, 795766038}, {-1984016189, 821806413}, {-1973089100, 847705977}, {-1961823932, 873460290}, {-1950222616, 899064940}, {-1938287139, 924515541}, {-1926019547, 949807730}, {-1913421941, 974937175}, {-1900496480, 999899569}, {-1887245379, 1024690635}, {-1873670908, 1049306126}, {-1859775393, 1073741824}, {-1845561216, 1097993542}, {-1831030811, 1122057124}, {-1816186668, 1145928447}, {-1801031331, 1169603422}, {-1785567396, 1193077991}, {-1769797514, 1216348132}, {-1753724386, 1239409858}, {-1737350766, 1262259218}, {-1720679461, 1284892296}, {-1703713325, 1307305214}, {-1686455268, 1329494133}, {-1668908244, 1351455249}, {-1651075262, 1373184801}, {-1632959377, 1394679064}, {-1614563692, 1415934356}, {-1595891361, 1436947036}, {-1576945581, 1457713501}, {-1557729600, 1478230195}, {-1538246711, 1498493602}, {-1518500250, 1518500250}, {-1498493602, 1538246711}, {-1478230195, 1557729600}, {-1457713501, 1576945581}, {-1436947036, 1595891361}, {-1415934356, 1614563692}, {-1394679064, 1632959377}, {-1373184801, 1651075262}, {-1351455249, 1668908244}, {-1329494133, 1686455268}, {-1307305214, 1703713325}, {-1284892296, 1720679461}, {-1262259218, 1737350766}, {-1239409858, 1753724386}, {-1216348132, 1769797514}, {-1193077991, 1785567396}, {-1169603422, 1801031331}, {-1145928447, 1816186668}, {-1122057124, 1831030811}, {-1097993542, 1845561216}, {-1073741824, 1859775393}, {-1049306126, 1873670908}, {-1024690635, 1887245379}, {-999899569, 1900496480}, {-974937175, 1913421941}, {-949807730, 1926019547}, {-924515541, 1938287139}, {-899064940, 1950222616}, {-873460290, 1961823932}, {-847705977, 1973089100}, {-821806413, 1984016189}, {-795766038, 1994603327}, {-769589312, 2004848700}, {-743280720, 2014750553}, {-716844772, 2024307188}, {-690285996, 2033516969}, {-663608942, 2042378317}, {-636818183, 2050889714}, {-609918309, 2059049702}, {-582913927, 2066856882}, {-555809667, 2074309917}, {-528610172, 2081407530}, {-501320102, 2088148504}, {-473944133, 2094531684}, {-446486956, 2100555978}, {-418953276, 2106220352}, {-391347811, 2111523836}, {-363675290, 2116465521}, {-335940456, 2121044561}, {-308148059, 2125260170}, {-280302863, 2129111628}, {-252409639, 2132598273}, {-224473166, 2135719508}, {-196498230, 2138474799}, {-168489625, 2140863673}, {-140452151, 2142885721}, {-112390610, 2144540596}, {-84309812, 2145828016}, {-56214568, 2146747759}, {-28109692, 2147299668}, {0, 2147483647}, {28109692, 2147299668}, {56214568, 2146747759}, {84309812, 2145828016}, {112390610, 2144540596}, {140452151, 2142885721}, {168489625, 2140863673}, {196498230, 2138474799}, {224473166, 2135719508}, {252409639, 2132598273}, {280302863, 2129111628}, {308148059, 2125260170}, {335940456, 2121044561}, {363675290, 2116465521}, {391347811, 2111523836}, {418953276, 2106220352}, {446486956, 2100555978}, {473944133, 2094531684}, {501320102, 2088148504}, {528610172, 2081407530}, {555809667, 2074309917}, {582913927, 2066856882}, {609918309, 2059049702}, {636818183, 2050889714}, {663608942, 2042378317}, {690285996, 2033516969}, {716844772, 2024307188}, {743280720, 2014750553}, {769589312, 2004848700}, {795766038, 1994603327}, {821806413, 1984016189}, {847705977, 1973089100}, {873460290, 1961823932}, {899064940, 1950222616}, {924515541, 1938287139}, {949807730, 1926019547}, {974937175, 1913421941}, {999899569, 1900496480}, {1024690635, 1887245379}, {1049306126, 1873670908}, {1073741824, 1859775393}, {1097993542, 1845561216}, {1122057124, 1831030811}, {1145928447, 1816186668}, {1169603422, 1801031331}, {1193077991, 1785567396}, {1216348132, 1769797514}, {1239409858, 1753724386}, {1262259218, 1737350766}, {1284892296, 1720679461}, {1307305214, 1703713325}, {1329494133, 1686455268}, {1351455249, 1668908244}, {1373184801, 1651075262}, {1394679064, 1632959377}, {1415934356, 1614563692}, {1436947036, 1595891361}, {1457713501, 1576945581}, {1478230195, 1557729600}, {1498493602, 1538246711}, {1518500250, 1518500250}, {1538246711, 1498493602}, {1557729600, 1478230195}, {1576945581, 1457713501}, {1595891361, 1436947036}, {1614563692, 1415934356}, {1632959377, 1394679064}, {1651075262, 1373184801}, {1668908244, 1351455249}, {1686455268, 1329494133}, {1703713325, 1307305214}, {1720679461, 1284892296}, {1737350766, 1262259218}, {1753724386, 1239409858}, {1769797514, 1216348132}, {1785567396, 1193077991}, {1801031331, 1169603422}, {1816186668, 1145928447}, {1831030811, 1122057124}, {1845561216, 1097993542}, {1859775393, 1073741824}, {1873670908, 1049306126}, {1887245379, 1024690635}, {1900496480, 999899569}, {1913421941, 974937175}, {1926019547, 949807730}, {1938287139, 924515541}, {1950222616, 899064940}, {1961823932, 873460290}, {1973089100, 847705977}, {1984016189, 821806413}, {1994603327, 795766038}, {2004848700, 769589312}, {2014750553, 743280720}, {2024307188, 716844772}, {2033516969, 690285996}, {2042378317, 663608942}, {2050889714, 636818183}, {2059049702, 609918309}, {2066856882, 582913927}, {2074309917, 555809667}, {2081407530, 528610172}, {2088148504, 501320102}, {2094531684, 473944133}, {2100555978, 446486956}, {2106220352, 418953276}, {2111523836, 391347811}, {2116465521, 363675290}, {2121044561, 335940456}, {2125260170, 308148059}, {2129111628, 280302863}, {2132598273, 252409639}, {2135719508, 224473166}, {2138474799, 196498230}, {2140863673, 168489625}, {2142885721, 140452151}, {2144540596, 112390610}, {2145828016, 84309812}, {2146747759, 56214568}, {2147299668, 28109692}, #else {32767, 0}, {32765, -429}, {32757, -858}, {32743, -1286}, {32723, -1715}, {32698, -2143}, {32667, -2571}, {32631, -2998}, {32588, -3425}, {32541, -3851}, {32488, -4277}, {32429, -4702}, {32365, -5126}, {32295, -5549}, {32219, -5971}, {32138, -6393}, {32052, -6813}, {31960, -7232}, {31863, -7650}, {31760, -8066}, {31651, -8481}, {31538, -8895}, {31419, -9307}, {31294, -9717}, {31164, -10126}, {31029, -10533}, {30888, -10938}, {30743, -11342}, {30592, -11743}, {30435, -12142}, {30274, -12540}, {30107, -12935}, {29935, -13328}, {29758, -13719}, {29576, -14107}, {29389, -14493}, {29197, -14876}, {28999, -15257}, {28797, -15636}, {28590, -16011}, {28378, -16384}, {28161, -16754}, {27939, -17121}, {27713, -17485}, {27482, -17847}, {27246, -18205}, {27005, -18560}, {26760, -18912}, {26510, -19261}, {26255, -19606}, {25997, -19948}, {25733, -20286}, {25466, -20622}, {25193, -20953}, {24917, -21281}, {24636, -21605}, {24351, -21926}, {24062, -22243}, {23769, -22556}, {23472, -22865}, {23170, -23170}, {22865, -23472}, {22556, -23769}, {22243, -24062}, {21926, -24351}, {21605, -24636}, {21281, -24917}, {20953, -25193}, {20622, -25466}, {20286, -25733}, {19948, -25997}, {19606, -26255}, {19261, -26510}, {18912, -26760}, {18560, -27005}, {18205, -27246}, {17847, -27482}, {17485, -27713}, {17121, -27939}, {16754, -28161}, {16384, -28378}, {16011, -28590}, {15636, -28797}, {15257, -28999}, {14876, -29197}, {14493, -29389}, {14107, -29576}, {13719, -29758}, {13328, -29935}, {12935, -30107}, {12540, -30274}, {12142, -30435}, {11743, -30592}, {11342, -30743}, {10938, -30888}, {10533, -31029}, {10126, -31164}, {9717, -31294}, {9307, -31419}, {8895, -31538}, {8481, -31651}, {8066, -31760}, {7650, -31863}, {7232, -31960}, {6813, -32052}, {6393, -32138}, {5971, -32219}, {5549, -32295}, {5126, -32365}, {4702, -32429}, {4277, -32488}, {3851, -32541}, {3425, -32588}, {2998, -32631}, {2571, -32667}, {2143, -32698}, {1715, -32723}, {1286, -32743}, {858, -32757}, {429, -32765}, {0, -32767}, {-429, -32765}, {-858, -32757}, {-1286, -32743}, {-1715, -32723}, {-2143, -32698}, {-2571, -32667}, {-2998, -32631}, {-3425, -32588}, {-3851, -32541}, {-4277, -32488}, {-4702, -32429}, {-5126, -32365}, {-5549, -32295}, {-5971, -32219}, {-6393, -32138}, {-6813, -32052}, {-7232, -31960}, {-7650, -31863}, {-8066, -31760}, {-8481, -31651}, {-8895, -31538}, {-9307, -31419}, {-9717, -31294}, {-10126, -31164}, {-10533, -31029}, {-10938, -30888}, {-11342, -30743}, {-11743, -30592}, {-12142, -30435}, {-12540, -30274}, {-12935, -30107}, {-13328, -29935}, {-13719, -29758}, {-14107, -29576}, {-14493, -29389}, {-14876, -29197}, {-15257, -28999}, {-15636, -28797}, {-16011, -28590}, {-16384, -28378}, {-16754, -28161}, {-17121, -27939}, {-17485, -27713}, {-17847, -27482}, {-18205, -27246}, {-18560, -27005}, {-18912, -26760}, {-19261, -26510}, {-19606, -26255}, {-19948, -25997}, {-20286, -25733}, {-20622, -25466}, {-20953, -25193}, {-21281, -24917}, {-21605, -24636}, {-21926, -24351}, {-22243, -24062}, {-22556, -23769}, {-22865, -23472}, {-23170, -23170}, {-23472, -22865}, {-23769, -22556}, {-24062, -22243}, {-24351, -21926}, {-24636, -21605}, {-24917, -21281}, {-25193, -20953}, {-25466, -20622}, {-25733, -20286}, {-25997, -19948}, {-26255, -19606}, {-26510, -19261}, {-26760, -18912}, {-27005, -18560}, {-27246, -18205}, {-27482, -17847}, {-27713, -17485}, {-27939, -17121}, {-28161, -16754}, {-28378, -16384}, {-28590, -16011}, {-28797, -15636}, {-28999, -15257}, {-29197, -14876}, {-29389, -14493}, {-29576, -14107}, {-29758, -13719}, {-29935, -13328}, {-30107, -12935}, {-30274, -12540}, {-30435, -12142}, {-30592, -11743}, {-30743, -11342}, {-30888, -10938}, {-31029, -10533}, {-31164, -10126}, {-31294, -9717}, {-31419, -9307}, {-31538, -8895}, {-31651, -8481}, {-31760, -8066}, {-31863, -7650}, {-31960, -7232}, {-32052, -6813}, {-32138, -6393}, {-32219, -5971}, {-32295, -5549}, {-32365, -5126}, {-32429, -4702}, {-32488, -4277}, {-32541, -3851}, {-32588, -3425}, {-32631, -2998}, {-32667, -2571}, {-32698, -2143}, {-32723, -1715}, {-32743, -1286}, {-32757, -858}, {-32765, -429}, {-32767, 0}, {-32765, 429}, {-32757, 858}, {-32743, 1286}, {-32723, 1715}, {-32698, 2143}, {-32667, 2571}, {-32631, 2998}, {-32588, 3425}, {-32541, 3851}, {-32488, 4277}, {-32429, 4702}, {-32365, 5126}, {-32295, 5549}, {-32219, 5971}, {-32138, 6393}, {-32052, 6813}, {-31960, 7232}, {-31863, 7650}, {-31760, 8066}, {-31651, 8481}, {-31538, 8895}, {-31419, 9307}, {-31294, 9717}, {-31164, 10126}, {-31029, 10533}, {-30888, 10938}, {-30743, 11342}, {-30592, 11743}, {-30435, 12142}, {-30274, 12540}, {-30107, 12935}, {-29935, 13328}, {-29758, 13719}, {-29576, 14107}, {-29389, 14493}, {-29197, 14876}, {-28999, 15257}, {-28797, 15636}, {-28590, 16011}, {-28378, 16384}, {-28161, 16754}, {-27939, 17121}, {-27713, 17485}, {-27482, 17847}, {-27246, 18205}, {-27005, 18560}, {-26760, 18912}, {-26510, 19261}, {-26255, 19606}, {-25997, 19948}, {-25733, 20286}, {-25466, 20622}, {-25193, 20953}, {-24917, 21281}, {-24636, 21605}, {-24351, 21926}, {-24062, 22243}, {-23769, 22556}, {-23472, 22865}, {-23170, 23170}, {-22865, 23472}, {-22556, 23769}, {-22243, 24062}, {-21926, 24351}, {-21605, 24636}, {-21281, 24917}, {-20953, 25193}, {-20622, 25466}, {-20286, 25733}, {-19948, 25997}, {-19606, 26255}, {-19261, 26510}, {-18912, 26760}, {-18560, 27005}, {-18205, 27246}, {-17847, 27482}, {-17485, 27713}, {-17121, 27939}, {-16754, 28161}, {-16384, 28378}, {-16011, 28590}, {-15636, 28797}, {-15257, 28999}, {-14876, 29197}, {-14493, 29389}, {-14107, 29576}, {-13719, 29758}, {-13328, 29935}, {-12935, 30107}, {-12540, 30274}, {-12142, 30435}, {-11743, 30592}, {-11342, 30743}, {-10938, 30888}, {-10533, 31029}, {-10126, 31164}, {-9717, 31294}, {-9307, 31419}, {-8895, 31538}, {-8481, 31651}, {-8066, 31760}, {-7650, 31863}, {-7232, 31960}, {-6813, 32052}, {-6393, 32138}, {-5971, 32219}, {-5549, 32295}, {-5126, 32365}, {-4702, 32429}, {-4277, 32488}, {-3851, 32541}, {-3425, 32588}, {-2998, 32631}, {-2571, 32667}, {-2143, 32698}, {-1715, 32723}, {-1286, 32743}, {-858, 32757}, {-429, 32765}, {0, 32767}, {429, 32765}, {858, 32757}, {1286, 32743}, {1715, 32723}, {2143, 32698}, {2571, 32667}, {2998, 32631}, {3425, 32588}, {3851, 32541}, {4277, 32488}, {4702, 32429}, {5126, 32365}, {5549, 32295}, {5971, 32219}, {6393, 32138}, {6813, 32052}, {7232, 31960}, {7650, 31863}, {8066, 31760}, {8481, 31651}, {8895, 31538}, {9307, 31419}, {9717, 31294}, {10126, 31164}, {10533, 31029}, {10938, 30888}, {11342, 30743}, {11743, 30592}, {12142, 30435}, {12540, 30274}, {12935, 30107}, {13328, 29935}, {13719, 29758}, {14107, 29576}, {14493, 29389}, {14876, 29197}, {15257, 28999}, {15636, 28797}, {16011, 28590}, {16384, 28378}, {16754, 28161}, {17121, 27939}, {17485, 27713}, {17847, 27482}, {18205, 27246}, {18560, 27005}, {18912, 26760}, {19261, 26510}, {19606, 26255}, {19948, 25997}, {20286, 25733}, {20622, 25466}, {20953, 25193}, {21281, 24917}, {21605, 24636}, {21926, 24351}, {22243, 24062}, {22556, 23769}, {22865, 23472}, {23170, 23170}, {23472, 22865}, {23769, 22556}, {24062, 22243}, {24351, 21926}, {24636, 21605}, {24917, 21281}, {25193, 20953}, {25466, 20622}, {25733, 20286}, {25997, 19948}, {26255, 19606}, {26510, 19261}, {26760, 18912}, {27005, 18560}, {27246, 18205}, {27482, 17847}, {27713, 17485}, {27939, 17121}, {28161, 16754}, {28378, 16384}, {28590, 16011}, {28797, 15636}, {28999, 15257}, {29197, 14876}, {29389, 14493}, {29576, 14107}, {29758, 13719}, {29935, 13328}, {30107, 12935}, {30274, 12540}, {30435, 12142}, {30592, 11743}, {30743, 11342}, {30888, 10938}, {31029, 10533}, {31164, 10126}, {31294, 9717}, {31419, 9307}, {31538, 8895}, {31651, 8481}, {31760, 8066}, {31863, 7650}, {31960, 7232}, {32052, 6813}, {32138, 6393}, {32219, 5971}, {32295, 5549}, {32365, 5126}, {32429, 4702}, {32488, 4277}, {32541, 3851}, {32588, 3425}, {32631, 2998}, {32667, 2571}, {32698, 2143}, {32723, 1715}, {32743, 1286}, {32757, 858}, {32765, 429}, #endif }; #ifndef FFT_BITREV480 #define FFT_BITREV480 static const opus_int16 fft_bitrev480[480] = { 0, 96, 192, 288, 384, 32, 128, 224, 320, 416, 64, 160, 256, 352, 448, 8, 104, 200, 296, 392, 40, 136, 232, 328, 424, 72, 168, 264, 360, 456, 16, 112, 208, 304, 400, 48, 144, 240, 336, 432, 80, 176, 272, 368, 464, 24, 120, 216, 312, 408, 56, 152, 248, 344, 440, 88, 184, 280, 376, 472, 4, 100, 196, 292, 388, 36, 132, 228, 324, 420, 68, 164, 260, 356, 452, 12, 108, 204, 300, 396, 44, 140, 236, 332, 428, 76, 172, 268, 364, 460, 20, 116, 212, 308, 404, 52, 148, 244, 340, 436, 84, 180, 276, 372, 468, 28, 124, 220, 316, 412, 60, 156, 252, 348, 444, 92, 188, 284, 380, 476, 1, 97, 193, 289, 385, 33, 129, 225, 321, 417, 65, 161, 257, 353, 449, 9, 105, 201, 297, 393, 41, 137, 233, 329, 425, 73, 169, 265, 361, 457, 17, 113, 209, 305, 401, 49, 145, 241, 337, 433, 81, 177, 273, 369, 465, 25, 121, 217, 313, 409, 57, 153, 249, 345, 441, 89, 185, 281, 377, 473, 5, 101, 197, 293, 389, 37, 133, 229, 325, 421, 69, 165, 261, 357, 453, 13, 109, 205, 301, 397, 45, 141, 237, 333, 429, 77, 173, 269, 365, 461, 21, 117, 213, 309, 405, 53, 149, 245, 341, 437, 85, 181, 277, 373, 469, 29, 125, 221, 317, 413, 61, 157, 253, 349, 445, 93, 189, 285, 381, 477, 2, 98, 194, 290, 386, 34, 130, 226, 322, 418, 66, 162, 258, 354, 450, 10, 106, 202, 298, 394, 42, 138, 234, 330, 426, 74, 170, 266, 362, 458, 18, 114, 210, 306, 402, 50, 146, 242, 338, 434, 82, 178, 274, 370, 466, 26, 122, 218, 314, 410, 58, 154, 250, 346, 442, 90, 186, 282, 378, 474, 6, 102, 198, 294, 390, 38, 134, 230, 326, 422, 70, 166, 262, 358, 454, 14, 110, 206, 302, 398, 46, 142, 238, 334, 430, 78, 174, 270, 366, 462, 22, 118, 214, 310, 406, 54, 150, 246, 342, 438, 86, 182, 278, 374, 470, 30, 126, 222, 318, 414, 62, 158, 254, 350, 446, 94, 190, 286, 382, 478, 3, 99, 195, 291, 387, 35, 131, 227, 323, 419, 67, 163, 259, 355, 451, 11, 107, 203, 299, 395, 43, 139, 235, 331, 427, 75, 171, 267, 363, 459, 19, 115, 211, 307, 403, 51, 147, 243, 339, 435, 83, 179, 275, 371, 467, 27, 123, 219, 315, 411, 59, 155, 251, 347, 443, 91, 187, 283, 379, 475, 7, 103, 199, 295, 391, 39, 135, 231, 327, 423, 71, 167, 263, 359, 455, 15, 111, 207, 303, 399, 47, 143, 239, 335, 431, 79, 175, 271, 367, 463, 23, 119, 215, 311, 407, 55, 151, 247, 343, 439, 87, 183, 279, 375, 471, 31, 127, 223, 319, 415, 63, 159, 255, 351, 447, 95, 191, 287, 383, 479, }; #endif #ifndef FFT_BITREV240 #define FFT_BITREV240 static const opus_int16 fft_bitrev240[240] = { 0, 48, 96, 144, 192, 16, 64, 112, 160, 208, 32, 80, 128, 176, 224, 4, 52, 100, 148, 196, 20, 68, 116, 164, 212, 36, 84, 132, 180, 228, 8, 56, 104, 152, 200, 24, 72, 120, 168, 216, 40, 88, 136, 184, 232, 12, 60, 108, 156, 204, 28, 76, 124, 172, 220, 44, 92, 140, 188, 236, 1, 49, 97, 145, 193, 17, 65, 113, 161, 209, 33, 81, 129, 177, 225, 5, 53, 101, 149, 197, 21, 69, 117, 165, 213, 37, 85, 133, 181, 229, 9, 57, 105, 153, 201, 25, 73, 121, 169, 217, 41, 89, 137, 185, 233, 13, 61, 109, 157, 205, 29, 77, 125, 173, 221, 45, 93, 141, 189, 237, 2, 50, 98, 146, 194, 18, 66, 114, 162, 210, 34, 82, 130, 178, 226, 6, 54, 102, 150, 198, 22, 70, 118, 166, 214, 38, 86, 134, 182, 230, 10, 58, 106, 154, 202, 26, 74, 122, 170, 218, 42, 90, 138, 186, 234, 14, 62, 110, 158, 206, 30, 78, 126, 174, 222, 46, 94, 142, 190, 238, 3, 51, 99, 147, 195, 19, 67, 115, 163, 211, 35, 83, 131, 179, 227, 7, 55, 103, 151, 199, 23, 71, 119, 167, 215, 39, 87, 135, 183, 231, 11, 59, 107, 155, 203, 27, 75, 123, 171, 219, 43, 91, 139, 187, 235, 15, 63, 111, 159, 207, 31, 79, 127, 175, 223, 47, 95, 143, 191, 239, }; #endif #ifndef FFT_BITREV120 #define FFT_BITREV120 static const opus_int16 fft_bitrev120[120] = { 0, 24, 48, 72, 96, 8, 32, 56, 80, 104, 16, 40, 64, 88, 112, 4, 28, 52, 76, 100, 12, 36, 60, 84, 108, 20, 44, 68, 92, 116, 1, 25, 49, 73, 97, 9, 33, 57, 81, 105, 17, 41, 65, 89, 113, 5, 29, 53, 77, 101, 13, 37, 61, 85, 109, 21, 45, 69, 93, 117, 2, 26, 50, 74, 98, 10, 34, 58, 82, 106, 18, 42, 66, 90, 114, 6, 30, 54, 78, 102, 14, 38, 62, 86, 110, 22, 46, 70, 94, 118, 3, 27, 51, 75, 99, 11, 35, 59, 83, 107, 19, 43, 67, 91, 115, 7, 31, 55, 79, 103, 15, 39, 63, 87, 111, 23, 47, 71, 95, 119, }; #endif #ifndef FFT_BITREV60 #define FFT_BITREV60 static const opus_int16 fft_bitrev60[60] = { 0, 12, 24, 36, 48, 4, 16, 28, 40, 52, 8, 20, 32, 44, 56, 1, 13, 25, 37, 49, 5, 17, 29, 41, 53, 9, 21, 33, 45, 57, 2, 14, 26, 38, 50, 6, 18, 30, 42, 54, 10, 22, 34, 46, 58, 3, 15, 27, 39, 51, 7, 19, 31, 43, 55, 11, 23, 35, 47, 59, }; #endif #ifndef FFT_STATE48000_960_0 #define FFT_STATE48000_960_0 static const kiss_fft_state fft_state48000_960_0 = { 480, /* nfft */ #ifdef ENABLE_QEXT 572662306, /* scale */ #else 17476, /* scale */ #endif 8, /* scale_shift */ -1, /* shift */ {5, 96, 3, 32, 4, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, }, /* factors */ fft_bitrev480, /* bitrev */ fft_twiddles48000_960, /* bitrev */ #ifdef OVERRIDE_FFT (arch_fft_state *)&cfg_arch_480, #else NULL, #endif }; #endif #ifndef FFT_STATE48000_960_1 #define FFT_STATE48000_960_1 static const kiss_fft_state fft_state48000_960_1 = { 240, /* nfft */ #ifdef ENABLE_QEXT 572662306, /* scale */ #else 17476, /* scale */ #endif 7, /* scale_shift */ 1, /* shift */ {5, 48, 3, 16, 4, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ fft_bitrev240, /* bitrev */ fft_twiddles48000_960, /* bitrev */ #ifdef OVERRIDE_FFT (arch_fft_state *)&cfg_arch_240, #else NULL, #endif }; #endif #ifndef FFT_STATE48000_960_2 #define FFT_STATE48000_960_2 static const kiss_fft_state fft_state48000_960_2 = { 120, /* nfft */ #ifdef ENABLE_QEXT 572662306, /* scale */ #else 17476, /* scale */ #endif 6, /* scale_shift */ 2, /* shift */ {5, 24, 3, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ fft_bitrev120, /* bitrev */ fft_twiddles48000_960, /* bitrev */ #ifdef OVERRIDE_FFT (arch_fft_state *)&cfg_arch_120, #else NULL, #endif }; #endif #ifndef FFT_STATE48000_960_3 #define FFT_STATE48000_960_3 static const kiss_fft_state fft_state48000_960_3 = { 60, /* nfft */ #ifdef ENABLE_QEXT 572662306, /* scale */ #else 17476, /* scale */ #endif 5, /* scale_shift */ 3, /* shift */ {5, 12, 3, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ fft_bitrev60, /* bitrev */ fft_twiddles48000_960, /* bitrev */ #ifdef OVERRIDE_FFT (arch_fft_state *)&cfg_arch_60, #else NULL, #endif }; #endif #endif #ifndef MDCT_TWIDDLES960 #define MDCT_TWIDDLES960 static const celt_coef mdct_twiddles960[1800] = { #ifdef ENABLE_QEXT 2147483468, 2147469095, 2147431723, 2147371355, 2147287990, 2147181629, 2147052273, 2146899924, 2146724584, 2146526254, 2146304937, 2146060634, 2145793349, 2145503083, 2145189842, 2144853627, 2144494442, 2144112292, 2143707180, 2143279110, 2142828088, 2142354118, 2141857204, 2141337354, 2140794571, 2140228862, 2139640233, 2139028690, 2138394240, 2137736889, 2137056645, 2136353515, 2135627506, 2134878626, 2134106884, 2133312286, 2132494843, 2131654563, 2130791454, 2129905526, 2128996788, 2128065251, 2127110924, 2126133817, 2125133941, 2124111307, 2123065925, 2121997806, 2120906963, 2119793407, 2118657149, 2117498202, 2116316578, 2115112291, 2113885352, 2112635775, 2111363574, 2110068761, 2108751352, 2107411359, 2106048798, 2104663683, 2103256028, 2101825849, 2100373162, 2098897981, 2097400322, 2095880202, 2094337637, 2092772643, 2091185237, 2089575437, 2087943258, 2086288720, 2084611839, 2082912633, 2081191122, 2079447322, 2077681253, 2075892934, 2074082383, 2072249621, 2070394667, 2068517540, 2066618262, 2064696851, 2062753329, 2060787717, 2058800036, 2056790306, 2054758550, 2052704789, 2050629045, 2048531340, 2046411698, 2044270140, 2042106689, 2039921369, 2037714204, 2035485216, 2033234429, 2030961869, 2028667558, 2026351522, 2024013785, 2021654373, 2019273310, 2016870623, 2014446336, 2012000477, 2009533071, 2007044144, 2004533723, 2002001835, 1999448508, 1996873768, 1994277643, 1991660161, 1989021350, 1986361238, 1983679853, 1980977226, 1978253383, 1975508355, 1972742171, 1969954860, 1967146453, 1964316979, 1961466469, 1958594953, 1955702462, 1952789027, 1949854680, 1946899451, 1943923372, 1940926475, 1937908793, 1934870357, 1931811201, 1928731356, 1925630856, 1922509734, 1919368023, 1916205758, 1913022972, 1909819698, 1906595972, 1903351828, 1900087301, 1896802425, 1893497236, 1890171769, 1886826060, 1883460144, 1880074058, 1876667838, 1873241521, 1869795142, 1866328740, 1862842350, 1859336011, 1855809760, 1852263635, 1848697674, 1845111914, 1841506395, 1837881155, 1834236233, 1830571667, 1826887497, 1823183763, 1819460504, 1815717761, 1811955572, 1808173978, 1804373021, 1800552740, 1796713177, 1792854372, 1788976368, 1785079205, 1781162925, 1777227570, 1773273182, 1769299805, 1765307479, 1761296249, 1757266156, 1753217244, 1749149557, 1745063138, 1740958031, 1736834279, 1732691928, 1728531020, 1724351602, 1720153717, 1715937410, 1711702727, 1707449714, 1703178415, 1698888876, 1694581143, 1690255263, 1685911282, 1681549245, 1677169201, 1672771196, 1668355276, 1663921490, 1659469885, 1655000508, 1650513407, 1646008631, 1641486227, 1636946244, 1632388731, 1627813736, 1623221309, 1618611498, 1613984353, 1609339924, 1604678260, 1599999411, 1595303428, 1590590360, 1585860258, 1581113173, 1576349155, 1571568256, 1566770527, 1561956018, 1557124783, 1552276872, 1547412337, 1542531231, 1537633606, 1532719513, 1527789007, 1522842139, 1517878963, 1512899531, 1507903898, 1502892116, 1497864239, 1492820322, 1487760417, 1482684580, 1477592864, 1472485325, 1467362016, 1462222994, 1457068312, 1451898025, 1446712191, 1441510863, 1436294098, 1431061951, 1425814478, 1420551737, 1415273782, 1409980671, 1404672460, 1399349206, 1394010966, 1388657798, 1383289758, 1377906904, 1372509294, 1367096986, 1361670037, 1356228505, 1350772450, 1345301929, 1339817000, 1334317724, 1328804158, 1323276361, 1317734393, 1312178313, 1306608181, 1301024057, 1295425999, 1289814068, 1284188325, 1278548828, 1272895640, 1267228820, 1261548429, 1255854528, 1250147177, 1244426439, 1238692373, 1232945043, 1227184508, 1221410831, 1215624074, 1209824299, 1204011567, 1198185941, 1192347484, 1186496258, 1180632325, 1174755748, 1168866591, 1162964917, 1157050787, 1151124267, 1145185419, 1139234307, 1133270995, 1127295547, 1121308026, 1115308496, 1109297023, 1103273670, 1097238502, 1091191583, 1085132978, 1079062753, 1072980972, 1066887699, 1060783002, 1054666944, 1048539592, 1042401010, 1036251266, 1030090423, 1023918550, 1017735711, 1011541973, 1005337402, 999122065, 992896028, 986659358, 980412122, 974154386, 967886217, 961607684, 955318852, 949019790, 942710564, 936391243, 930061894, 923722585, 917373383, 911014357, 904645574, 898267104, 891879014, 885481373, 879074249, 872657710, 866231826, 859796666, 853352298, 846898791, 840436214, 833964638, 827484130, 820994760, 814496598, 807989714, 801474176, 794950056, 788417422, 781876345, 775326894, 768769141, 762203154, 755629005, 749046764, 742456501, 735858287, 729252193, 722638289, 716016646, 709387335, 702750427, 696105993, 689454104, 682794832, 676128248, 669454423, 662773428, 656085336, 649390218, 642688145, 635979190, 629263424, 622540918, 615811746, 609075979, 602333690, 595584950, 588829831, 582068407, 575300749, 568526931, 561747023, 554961100, 548169234, 541371497, 534567963, 527758704, 520943793, 514123303, 507297307, 500465878, 493629090, 486787016, 479939728, 473087301, 466229807, 459367320, 452499914, 445627662, 438750638, 431868915, 424982567, 418091668, 411196291, 404296511, 397392401, 390484035, 383571488, 376654833, 369734144, 362809495, 355880961, 348948616, 342012534, 335072790, 328129457, 321182610, 314232323, 307278671, 300321729, 293361570, 286398270, 279431902, 272462542, 265490265, 258515144, 251537254, 244556671, 237573469, 230587722, 223599506, 216608896, 209615966, 202620791, 195623446, 188624006, 181622546, 174619141, 167613866, 160606796, 153598006, 146587571, 139575567, 132562067, 125547148, 118530885, 111513352, 104494625, 97474778, 90453888, 83432030, 76409277, 69385707, 62361393, 55336412, 48310838, 41284746, 34258213, 27231312, 20204120, 13176712, 6149162, -878453, -7906059, -14933580, -21960942, -28988068, -36014884, -43041314, -50067283, -57092716, -64117537, -71141672, -78165045, -85187581, -92209205, -99229841, -106249414, -113267850, -120285073, -127301007, -134315578, -141328711, -148340330, -155350361, -162358728, -169365356, -176370170, -183373096, -190374058, -197372981, -204369791, -211364411, -218356769, -225346788, -232334393, -239319511, -246302065, -253281982, -260259186, -267233603, -274205159, -281173778, -288139385, -295101907, -302061269, -309017396, -315970213, -322919647, -329865622, -336808065, -343746901, -350682056, -357613455, -364541025, -371464690, -378384377, -385300013, -392211522, -399118830, -406021865, -412920551, -419814815, -426704583, -433589782, -440470337, -447346176, -454217223, -461083406, -467944652, -474800886, -481652035, -488498026, -495338786, -502174241, -509004318, -515828944, -522648046, -529461551, -536269386, -543071478, -549867754, -556658141, -563442567, -570220959, -576993244, -583759350, -590519205, -597272736, -604019870, -610760536, -617494660, -624222173, -630943000, -637657070, -644364312, -651064652, -657758021, -664444345, -671123554, -677795576, -684460338, -691117771, -697767803, -704410362, -711045377, -717672778, -724292493, -730904451, -737508582, -744104815, -750693079, -757273304, -763845419, -770409354, -776965038, -783512402, -790051375, -796581887, -803103868, -809617249, -816121959, -822617929, -829105090, -835583372, -842052705, -848513021, -854964249, -861406322, -867839170, -874262724, -880676915, -887081675, -893476935, -899862626, -906238681, -912605031, -918961607, -925308342, -931645168, -937972016, -944288820, -950595511, -956892022, -963178285, -969454234, -975719800, -981974918, -988219519, -994453537, -1000676905, -1006889557, -1013091426, -1019282445, -1025462549, -1031631671, -1037789745, -1043936705, -1050072485, -1056197020, -1062310244, -1068412091, -1074502497, -1080581395, -1086648722, -1092704411, -1098748398, -1104780618, -1110801008, -1116809501, -1122806034, -1128790543, -1134762964, -1140723232, -1146671283, -1152607055, -1158530484, -1164441505, -1170340057, -1176226074, -1182099496, -1187960258, -1193808298, -1199643553, -1205465961, -1211275460, -1217071986, -1222855479, -1228625876, -1234383115, -1240127136, -1245857875, -1251575272, -1257279266, -1262969796, -1268646800, -1274310217, -1279959989, -1285596052, -1291218348, -1296826816, -1302421396, -1308002029, -1313568653, -1319121210, -1324659641, -1330183885, -1335693885, -1341189580, -1346670912, -1352137822, -1357590252, -1363028143, -1368451438, -1373860077, -1379254004, -1384633159, -1389997487, -1395346928, -1400681427, -1406000925, -1411305366, -1416594694, -1421868850, -1427127780, -1432371426, -1437599733, -1442812644, -1448010104, -1453192057, -1458358447, -1463509220, -1468644319, -1473763690, -1478867279, -1483955030, -1489026889, -1494082802, -1499122714, -1504146572, -1509154322, -1514145910, -1519121283, -1524080387, -1529023170, -1533949577, -1538859558, -1543753058, -1548630027, -1553490410, -1558334157, -1563161216, -1567971534, -1572765060, -1577541744, -1582301533, -1587044377, -1591770225, -1596479027, -1601170732, -1605845289, -1610502649, -1615142762, -1619765578, -1624371047, -1628959121, -1633529750, -1638082885, -1642618478, -1647136479, -1651636841, -1656119516, -1660584454, -1665031609, -1669460933, -1673872378, -1678265898, -1682641444, -1686998971, -1691338432, -1695659779, -1699962968, -1704247951, -1708514683, -1712763118, -1716993211, -1721204917, -1725398189, -1729572984, -1733729257, -1737866963, -1741986057, -1746086497, -1750168237, -1754231234, -1758275445, -1762300826, -1766307335, -1770294927, -1774263561, -1778213194, -1782143784, -1786055289, -1789947667, -1793820875, -1797674873, -1801509620, -1805325074, -1809121194, -1812897940, -1816655271, -1820393147, -1824111529, -1827810376, -1831489648, -1835149306, -1838789312, -1842409625, -1846010208, -1849591022, -1853152028, -1856693188, -1860214464, -1863715819, -1867197215, -1870658615, -1874099982, -1877521279, -1880922469, -1884303515, -1887664383, -1891005035, -1894325435, -1897625550, -1900905342, -1904164776, -1907403819, -1910622435, -1913820590, -1916998250, -1920155379, -1923291946, -1926407915, -1929503255, -1932577931, -1935631910, -1938665161, -1941677650, -1944669345, -1947640214, -1950590226, -1953519348, -1956427550, -1959314800, -1962181067, -1965026321, -1967850531, -1970653667, -1973435699, -1976196596, -1978936331, -1981654873, -1984352192, -1987028261, -1989683050, -1992316532, -1994928677, -1997519459, -2000088848, -2002636818, -2005163342, -2007668391, -2010151941, -2012613963, -2015054432, -2017473321, -2019870604, -2022246257, -2024600252, -2026932566, -2029243173, -2031532049, -2033799168, -2036044507, -2038268042, -2040469748, -2042649603, -2044807583, -2046943664, -2049057824, -2051150040, -2053220291, -2055268553, -2057294804, -2059299024, -2061281190, -2063241282, -2065179277, -2067095157, -2068988899, -2070860485, -2072709893, -2074537104, -2076342098, -2078124857, -2079885360, -2081623590, -2083339527, -2085033153, -2086704450, -2088353400, -2089979985, -2091584189, -2093165993, -2094725382, -2096262337, -2097776843, -2099268884, -2100738443, -2102185505, -2103610054, -2105012075, -2106391553, -2107748474, -2109082822, -2110394584, -2111683744, -2112950291, -2114194210, -2115415487, -2116614110, -2117790065, -2118943341, -2120073924, -2121181804, -2122266967, -2123329402, -2124369098, -2125386044, -2126380229, -2127351642, -2128300272, -2129226111, -2130129147, -2131009371, -2131866773, -2132701345, -2133513078, -2134301962, -2135067990, -2135811153, -2136531442, -2137228852, -2137903373, -2138555000, -2139183723, -2139789539, -2140372438, -2140932416, -2141469466, -2141983583, -2142474761, -2142942995, -2143388280, -2143810610, -2144209982, -2144586392, -2144939834, -2145270306, -2145577804, -2145862324, -2146123864, -2146362421, -2146577992, -2146770575, -2146940167, -2147086768, -2147210375, -2147310987, -2147388603, -2147443222, -2147474844, 2147482929, 2147425435, 2147275952, 2147034487, 2146701050, 2146275656, 2145758322, 2145149071, 2144447929, 2143654926, 2142770096, 2141793477, 2140725111, 2139565043, 2138313323, 2136970005, 2135535146, 2134008809, 2132391057, 2130681961, 2128881593, 2126990031, 2125007356, 2122933653, 2120769010, 2118513521, 2116167282, 2113730393, 2111202959, 2108585087, 2105876892, 2103078487, 2100189994, 2097211535, 2094143239, 2090985237, 2087737664, 2084400659, 2080974365, 2077458929, 2073854502, 2070161238, 2066379295, 2062508835, 2058550025, 2054503033, 2050368032, 2046145201, 2041834720, 2037436773, 2032951550, 2028379241, 2023720043, 2018974156, 2014141783, 2009223131, 2004218410, 1999127836, 1993951625, 1988690000, 1983343186, 1977911412, 1972394912, 1966793920, 1961108677, 1955339428, 1949486417, 1943549898, 1937530123, 1931427351, 1925241843, 1918973864, 1912623682, 1906191570, 1899677803, 1893082661, 1886406424, 1879649381, 1872811820, 1865894033, 1858896318, 1851818974, 1844662304, 1837426615, 1830112217, 1822719423, 1815248550, 1807699917, 1800073849, 1792370671, 1784590714, 1776734311, 1768801799, 1760793518, 1752709809, 1744551021, 1736317502, 1728009604, 1719627685, 1711172102, 1702643219, 1694041400, 1685367013, 1676620432, 1667802029, 1658912184, 1649951276, 1640919689, 1631817811, 1622646032, 1613404744, 1604094343, 1594715227, 1585267800, 1575752465, 1566169630, 1556519705, 1546803104, 1537020244, 1527171542, 1517257422, 1507278307, 1497234626, 1487126808, 1476955286, 1466720497, 1456422878, 1446062871, 1435640919, 1425157469, 1414612971, 1404007875, 1393342636, 1382617710, 1371833558, 1360990642, 1350089425, 1339130374, 1328113960, 1317040654, 1305910930, 1294725265, 1283484138, 1272188032, 1260837429, 1249432816, 1237974681, 1226463516, 1214899813, 1203284068, 1191616778, 1179898443, 1168129565, 1156310649, 1144442200, 1132524727, 1120558740, 1108544752, 1096483278, 1084374834, 1072219940, 1060019115, 1047772882, 1035481766, 1023146293, 1010766993, 998344394, 985879030, 973371434, 960822142, 948231691, 935600622, 922929474, 910218791, 897469118, 884680999, 871854984, 858991622, 846091463, 833155061, 820182969, 807175743, 794133941, 781058120, 767948841, 754806666, 741632158, 728425880, 715188400, 701920283, 688622098, 675294414, 661937804, 648552838, 635140090, 621700135, 608233549, 594740907, 581222789, 567679774, 554112440, 540521371, 526907147, 513270353, 499611571, 485931388, 472230390, 458509162, 444768294, 431008373, 417229989, 403433732, 389620194, 375789965, 361943639, 348081809, 334205068, 320314011, 306409232, 292491328, 278560894, 264618528, 250664827, 236700388, 222725809, 208741690, 194748629, 180747225, 166738079, 152721790, 138698959, 124670187, 110636075, 96597223, 82554233, 68507707, 54458246, 40406452, 26352928, 12298274, -1756906, -15812011, -29866438, -43919586, -57970853, -72019637, -86065335, -100107347, -114145071, -128177904, -142205248, -156226499, -170241059, -184248325, -198247699, -212238581, -226220372, -240192472, -254154282, -268105206, -282044645, -295972002, -309886680, -323788084, -337675619, -351548688, -365406698, -379249055, -393075166, -406884440, -420676284, -434450107, -448205320, -461941333, -475657559, -489353409, -503028296, -516681636, -530312842, -543921332, -557506522, -571067830, -584604676, -598116479, -611602660, -625062643, -638495850, -651901706, -665279637, -678629069, -691949432, -705240153, -718500664, -731730397, -744928785, -758095263, -771229267, -784330234, -797397602, -810430813, -823429308, -836392529, -849319923, -862210934, -875065011, -887881603, -900660162, -913400139, -926100989, -938762167, -951383133, -963963344, -976502263, -988999351, -1001454074, -1013865898, -1026234291, -1038558724, -1050838668, -1063073598, -1075262990, -1087406320, -1099503070, -1111552721, -1123554757, -1135508663, -1147413928, -1159270041, -1171076495, -1182832785, -1194538405, -1206192856, -1217795637, -1229346252, -1240844206, -1252289006, -1263680162, -1275017186, -1286299593, -1297526899, -1308698624, -1319814288, -1330873416, -1341875533, -1352820169, -1363706855, -1374535124, -1385304512, -1396014559, -1406664805, -1417254794, -1427784073, -1438252190, -1448658697, -1459003149, -1469285102, -1479504115, -1489659751, -1499751576, -1509779156, -1519742062, -1529639867, -1539472148, -1549238483, -1558938453, -1568571644, -1578137643, -1587636039, -1597066426, -1606428400, -1615721561, -1624945509, -1634099849, -1643184191, -1652198144, -1661141322, -1670013342, -1678813825, -1687542393, -1696198672, -1704782292, -1713292884, -1721730085, -1730093532, -1738382868, -1746597738, -1754737789, -1762802673, -1770792044, -1778705561, -1786542883, -1794303676, -1801987607, -1809594347, -1817123570, -1824574954, -1831948179, -1839242929, -1846458892, -1853595759, -1860653224, -1867630985, -1874528743, -1881346202, -1888083070, -1894739060, -1901313885, -1907807264, -1914218919, -1920548575, -1926795962, -1932960811, -1939042858, -1945041843, -1950957509, -1956789602, -1962537873, -1968202076, -1973781967, -1979277308, -1984687864, -1990013401, -1995253694, -2000408516, -2005477648, -2010460871, -2015357973, -2020168744, -2024892978, -2029530472, -2034081027, -2038544449, -2042920547, -2047209133, -2051410023, -2055523038, -2059548001, -2063484740, -2067333086, -2071092874, -2074763944, -2078346137, -2081839301, -2085243286, -2088557947, -2091783140, -2094918728, -2097964577, -2100920556, -2103786539, -2106562402, -2109248028, -2111843300, -2114348108, -2116762344, -2119085905, -2121318692, -2123460608, -2125511562, -2127471467, -2129340237, -2131117794, -2132804061, -2134398966, -2135902440, -2137314419, -2138634843, -2139863654, -2141000801, -2142046235, -2142999911, -2143861787, -2144631828, -2145310000, -2145896274, -2146390624, -2146793031, -2147103476, -2147321946, -2147448433, 2147480773, 2147250799, 2146652904, 2145687192, 2144353827, 2142653038, 2140585116, 2138150417, 2135349356, 2132182414, 2128650133, 2124753120, 2120492040, 2115867626, 2110880668, 2105532022, 2099822604, 2093753392, 2087325426, 2080539807, 2073397699, 2065900325, 2058048970, 2049844978, 2041289756, 2032384769, 2023131544, 2013531666, 2003586779, 1993298588, 1982668856, 1971699403, 1960392110, 1948748914, 1936771810, 1924462850, 1911824143, 1898857855, 1885566207, 1871951478, 1858015999, 1843762158, 1829192399, 1814309216, 1799115162, 1783612838, 1767804901, 1751694060, 1735283075, 1718574758, 1701571972, 1684277631, 1666694698, 1648826185, 1630675154, 1612244715, 1593538026, 1574558293, 1555308768, 1535792748, 1516013578, 1495974647, 1475679389, 1455131280, 1434333842, 1413290638, 1392005275, 1370481398, 1348722696, 1326732898, 1304515771, 1282075122, 1259414796, 1236538675, 1213450681, 1190154767, 1166654927, 1142955186, 1119059606, 1094972281, 1070697338, 1046238936, 1021601267, 996788551, 971805042, 946655018, 921342790, 895872694, 870249095, 844476384, 818558976, 792501312, 766307857, 739983099, 713531549, 686957739, 660266222, 633461572, 606548381, 579531262, 552414843, 525203770, 497902707, 470516330, 443049333, 415506422, 387892316, 360211746, 332469456, 304670200, 276818739, 248919847, 220978304, 192998897, 164986421, 136945676, 108881465, 80798598, 52701887, 24596146, -3513810, -31623164, -59727099, -87820801, -115899455, -143958250, -171992378, -199997036, -227967426, -255898755, -283786237, -311625094, -339410555, -367137861, -394802258, -422399009, -449923384, -477370666, -504736154, -532015158, -559203003, -586295032, -613286603, -640173090, -666949886, -693612404, -720156076, -746576352, -772868706, -799028633, -825051651, -850933300, -876669146, -902254780, -927685817, -952957899, -978066697, -1003007909, -1027777260, -1052370507, -1076783436, -1101011863, -1125051638, -1148898640, -1172548785, -1195998020, -1219242327, -1242277723, -1265100260, -1287706030, -1310091157, -1332251808, -1354184184, -1375884527, -1397349119, -1418574283, -1439556382, -1460291820, -1480777044, -1501008545, -1520982856, -1540696555, -1560146263, -1579328647, -1598240423, -1616878347, -1635239228, -1653319919, -1671117323, -1688628389, -1705850117, -1722779556, -1739413807, -1755750017, -1771785389, -1787517174, -1802942678, -1818059257, -1832864320, -1847355332, -1861529809, -1875385322, -1888919498, -1902130017, -1915014616, -1927571087, -1939797279, -1951691096, -1963250501, -1974473513, -1985358210, -1995902725, -2006105253, -2015964045, -2025477412, -2034643724, -2043461410, -2051928960, -2060044922, -2067807906, -2075216581, -2082269679, -2088965991, -2095304370, -2101283728, -2106903043, -2112161350, -2117057750, -2121591402, -2125761531, -2129567422, -2133008422, -2136083942, -2138793455, -2141136497, -2143112666, -2144721624, -2145963095, -2146836866, -2147342788, 2147472149, 2146552303, 2144161316, 2140300829, 2134973487, 2128182940, 2119933843, 2110231849, 2099083608, 2086496759, 2072479930, 2057042727, 2040195730, 2021950484, 2002319494, 1981316215, 1958955040, 1935251296, 1910221227, 1883881987, 1856251629, 1827349089, 1797194176, 1765807555, 1733210737, 1699426064, 1664476689, 1628386565, 1591180426, 1552883771, 1513522847, 1473124631, 1431716808, 1389327759, 1345986533, 1301722835, 1256567002, 1210549980, 1163703308, 1116059092, 1067649985, 1018509163, 968670307, 918167572, 867035571, 815309347, 763024350, 710216415, 656921734, 603176830, 549018540, 494483979, 439610524, 384435782, 328997567, 273333873, 217482850, 161482775, 105372028, 49189064, -7027611, -63239471, -119407989, -175494670, -231461077, -287268852, -342879747, -398255649, -453358607, -508150855, -562594842, -616653255, -670289044, -723465451, -776146031, -828294679, -879875655, -930853609, -981193602, -1030861133, -1079822164, -1128043139, -1175491010, -1222133257, -1267937916, -1312873593, -1356909492, -1400015434, -1442161874, -1483319929, -1523461391, -1562558748, -1600585205, -1637514702, -1673321927, -1707982341, -1741472190, -1773768520, -1804849198, -1834692923, -1863279241, -1890588560, -1916602164, -1941302225, -1964671814, -1986694916, -2007356435, -2026642214, -2044539032, -2061034626, -2076117690, -2089777886, -2102005853, -2112793210, -2122132564, -2130017514, -2136442657, -2141403589, -2144896910, -2146920225, #else 32767, 32767, 32767, 32766, 32765, 32763, 32761, 32759, 32756, 32753, 32750, 32746, 32742, 32738, 32733, 32728, 32722, 32717, 32710, 32704, 32697, 32690, 32682, 32674, 32666, 32657, 32648, 32639, 32629, 32619, 32609, 32598, 32587, 32576, 32564, 32552, 32539, 32526, 32513, 32500, 32486, 32472, 32457, 32442, 32427, 32411, 32395, 32379, 32362, 32345, 32328, 32310, 32292, 32274, 32255, 32236, 32217, 32197, 32177, 32157, 32136, 32115, 32093, 32071, 32049, 32027, 32004, 31981, 31957, 31933, 31909, 31884, 31859, 31834, 31809, 31783, 31756, 31730, 31703, 31676, 31648, 31620, 31592, 31563, 31534, 31505, 31475, 31445, 31415, 31384, 31353, 31322, 31290, 31258, 31226, 31193, 31160, 31127, 31093, 31059, 31025, 30990, 30955, 30920, 30884, 30848, 30812, 30775, 30738, 30701, 30663, 30625, 30587, 30548, 30509, 30470, 30430, 30390, 30350, 30309, 30269, 30227, 30186, 30144, 30102, 30059, 30016, 29973, 29930, 29886, 29842, 29797, 29752, 29707, 29662, 29616, 29570, 29524, 29477, 29430, 29383, 29335, 29287, 29239, 29190, 29142, 29092, 29043, 28993, 28943, 28892, 28842, 28791, 28739, 28688, 28636, 28583, 28531, 28478, 28425, 28371, 28317, 28263, 28209, 28154, 28099, 28044, 27988, 27932, 27876, 27820, 27763, 27706, 27648, 27591, 27533, 27474, 27416, 27357, 27298, 27238, 27178, 27118, 27058, 26997, 26936, 26875, 26814, 26752, 26690, 26628, 26565, 26502, 26439, 26375, 26312, 26247, 26183, 26119, 26054, 25988, 25923, 25857, 25791, 25725, 25658, 25592, 25524, 25457, 25389, 25322, 25253, 25185, 25116, 25047, 24978, 24908, 24838, 24768, 24698, 24627, 24557, 24485, 24414, 24342, 24270, 24198, 24126, 24053, 23980, 23907, 23834, 23760, 23686, 23612, 23537, 23462, 23387, 23312, 23237, 23161, 23085, 23009, 22932, 22856, 22779, 22701, 22624, 22546, 22468, 22390, 22312, 22233, 22154, 22075, 21996, 21916, 21836, 21756, 21676, 21595, 21515, 21434, 21352, 21271, 21189, 21107, 21025, 20943, 20860, 20777, 20694, 20611, 20528, 20444, 20360, 20276, 20192, 20107, 20022, 19937, 19852, 19767, 19681, 19595, 19509, 19423, 19336, 19250, 19163, 19076, 18988, 18901, 18813, 18725, 18637, 18549, 18460, 18372, 18283, 18194, 18104, 18015, 17925, 17835, 17745, 17655, 17565, 17474, 17383, 17292, 17201, 17110, 17018, 16927, 16835, 16743, 16650, 16558, 16465, 16372, 16279, 16186, 16093, 15999, 15906, 15812, 15718, 15624, 15529, 15435, 15340, 15245, 15150, 15055, 14960, 14864, 14769, 14673, 14577, 14481, 14385, 14288, 14192, 14095, 13998, 13901, 13804, 13706, 13609, 13511, 13414, 13316, 13218, 13119, 13021, 12923, 12824, 12725, 12626, 12527, 12428, 12329, 12230, 12130, 12030, 11930, 11831, 11730, 11630, 11530, 11430, 11329, 11228, 11128, 11027, 10926, 10824, 10723, 10622, 10520, 10419, 10317, 10215, 10113, 10011, 9909, 9807, 9704, 9602, 9499, 9397, 9294, 9191, 9088, 8985, 8882, 8778, 8675, 8572, 8468, 8364, 8261, 8157, 8053, 7949, 7845, 7741, 7637, 7532, 7428, 7323, 7219, 7114, 7009, 6905, 6800, 6695, 6590, 6485, 6380, 6274, 6169, 6064, 5958, 5853, 5747, 5642, 5536, 5430, 5325, 5219, 5113, 5007, 4901, 4795, 4689, 4583, 4476, 4370, 4264, 4157, 4051, 3945, 3838, 3732, 3625, 3518, 3412, 3305, 3198, 3092, 2985, 2878, 2771, 2664, 2558, 2451, 2344, 2237, 2130, 2023, 1916, 1809, 1702, 1594, 1487, 1380, 1273, 1166, 1059, 952, 844, 737, 630, 523, 416, 308, 201, 94, -13, -121, -228, -335, -442, -550, -657, -764, -871, -978, -1086, -1193, -1300, -1407, -1514, -1621, -1728, -1835, -1942, -2049, -2157, -2263, -2370, -2477, -2584, -2691, -2798, -2905, -3012, -3118, -3225, -3332, -3439, -3545, -3652, -3758, -3865, -3971, -4078, -4184, -4290, -4397, -4503, -4609, -4715, -4821, -4927, -5033, -5139, -5245, -5351, -5457, -5562, -5668, -5774, -5879, -5985, -6090, -6195, -6301, -6406, -6511, -6616, -6721, -6826, -6931, -7036, -7140, -7245, -7349, -7454, -7558, -7663, -7767, -7871, -7975, -8079, -8183, -8287, -8390, -8494, -8597, -8701, -8804, -8907, -9011, -9114, -9217, -9319, -9422, -9525, -9627, -9730, -9832, -9934, -10037, -10139, -10241, -10342, -10444, -10546, -10647, -10748, -10850, -10951, -11052, -11153, -11253, -11354, -11455, -11555, -11655, -11756, -11856, -11955, -12055, -12155, -12254, -12354, -12453, -12552, -12651, -12750, -12849, -12947, -13046, -13144, -13242, -13340, -13438, -13536, -13633, -13731, -13828, -13925, -14022, -14119, -14216, -14312, -14409, -14505, -14601, -14697, -14793, -14888, -14984, -15079, -15174, -15269, -15364, -15459, -15553, -15647, -15741, -15835, -15929, -16023, -16116, -16210, -16303, -16396, -16488, -16581, -16673, -16766, -16858, -16949, -17041, -17133, -17224, -17315, -17406, -17497, -17587, -17678, -17768, -17858, -17948, -18037, -18127, -18216, -18305, -18394, -18483, -18571, -18659, -18747, -18835, -18923, -19010, -19098, -19185, -19271, -19358, -19444, -19531, -19617, -19702, -19788, -19873, -19959, -20043, -20128, -20213, -20297, -20381, -20465, -20549, -20632, -20715, -20798, -20881, -20963, -21046, -21128, -21210, -21291, -21373, -21454, -21535, -21616, -21696, -21776, -21856, -21936, -22016, -22095, -22174, -22253, -22331, -22410, -22488, -22566, -22643, -22721, -22798, -22875, -22951, -23028, -23104, -23180, -23256, -23331, -23406, -23481, -23556, -23630, -23704, -23778, -23852, -23925, -23998, -24071, -24144, -24216, -24288, -24360, -24432, -24503, -24574, -24645, -24716, -24786, -24856, -24926, -24995, -25064, -25133, -25202, -25270, -25339, -25406, -25474, -25541, -25608, -25675, -25742, -25808, -25874, -25939, -26005, -26070, -26135, -26199, -26264, -26327, -26391, -26455, -26518, -26581, -26643, -26705, -26767, -26829, -26891, -26952, -27013, -27073, -27133, -27193, -27253, -27312, -27372, -27430, -27489, -27547, -27605, -27663, -27720, -27777, -27834, -27890, -27946, -28002, -28058, -28113, -28168, -28223, -28277, -28331, -28385, -28438, -28491, -28544, -28596, -28649, -28701, -28752, -28803, -28854, -28905, -28955, -29006, -29055, -29105, -29154, -29203, -29251, -29299, -29347, -29395, -29442, -29489, -29535, -29582, -29628, -29673, -29719, -29764, -29808, -29853, -29897, -29941, -29984, -30027, -30070, -30112, -30154, -30196, -30238, -30279, -30320, -30360, -30400, -30440, -30480, -30519, -30558, -30596, -30635, -30672, -30710, -30747, -30784, -30821, -30857, -30893, -30929, -30964, -30999, -31033, -31068, -31102, -31135, -31168, -31201, -31234, -31266, -31298, -31330, -31361, -31392, -31422, -31453, -31483, -31512, -31541, -31570, -31599, -31627, -31655, -31682, -31710, -31737, -31763, -31789, -31815, -31841, -31866, -31891, -31915, -31939, -31963, -31986, -32010, -32032, -32055, -32077, -32099, -32120, -32141, -32162, -32182, -32202, -32222, -32241, -32260, -32279, -32297, -32315, -32333, -32350, -32367, -32383, -32399, -32415, -32431, -32446, -32461, -32475, -32489, -32503, -32517, -32530, -32542, -32555, -32567, -32579, -32590, -32601, -32612, -32622, -32632, -32641, -32651, -32659, -32668, -32676, -32684, -32692, -32699, -32706, -32712, -32718, -32724, -32729, -32734, -32739, -32743, -32747, -32751, -32754, -32757, -32760, -32762, -32764, -32765, -32767, -32767, -32767, 32767, 32767, 32765, 32761, 32756, 32750, 32742, 32732, 32722, 32710, 32696, 32681, 32665, 32647, 32628, 32608, 32586, 32562, 32538, 32512, 32484, 32455, 32425, 32393, 32360, 32326, 32290, 32253, 32214, 32174, 32133, 32090, 32046, 32001, 31954, 31906, 31856, 31805, 31753, 31700, 31645, 31588, 31530, 31471, 31411, 31349, 31286, 31222, 31156, 31089, 31020, 30951, 30880, 30807, 30733, 30658, 30582, 30504, 30425, 30345, 30263, 30181, 30096, 30011, 29924, 29836, 29747, 29656, 29564, 29471, 29377, 29281, 29184, 29086, 28987, 28886, 28784, 28681, 28577, 28471, 28365, 28257, 28147, 28037, 27925, 27812, 27698, 27583, 27467, 27349, 27231, 27111, 26990, 26868, 26744, 26620, 26494, 26367, 26239, 26110, 25980, 25849, 25717, 25583, 25449, 25313, 25176, 25038, 24900, 24760, 24619, 24477, 24333, 24189, 24044, 23898, 23751, 23602, 23453, 23303, 23152, 22999, 22846, 22692, 22537, 22380, 22223, 22065, 21906, 21746, 21585, 21423, 21261, 21097, 20933, 20767, 20601, 20434, 20265, 20096, 19927, 19756, 19584, 19412, 19239, 19065, 18890, 18714, 18538, 18361, 18183, 18004, 17824, 17644, 17463, 17281, 17098, 16915, 16731, 16546, 16361, 16175, 15988, 15800, 15612, 15423, 15234, 15043, 14852, 14661, 14469, 14276, 14083, 13889, 13694, 13499, 13303, 13107, 12910, 12713, 12515, 12317, 12118, 11918, 11718, 11517, 11316, 11115, 10913, 10710, 10508, 10304, 10100, 9896, 9691, 9486, 9281, 9075, 8869, 8662, 8455, 8248, 8040, 7832, 7623, 7415, 7206, 6996, 6787, 6577, 6366, 6156, 5945, 5734, 5523, 5311, 5100, 4888, 4675, 4463, 4251, 4038, 3825, 3612, 3399, 3185, 2972, 2758, 2544, 2330, 2116, 1902, 1688, 1474, 1260, 1045, 831, 617, 402, 188, -27, -241, -456, -670, -885, -1099, -1313, -1528, -1742, -1956, -2170, -2384, -2598, -2811, -3025, -3239, -3452, -3665, -3878, -4091, -4304, -4516, -4728, -4941, -5153, -5364, -5576, -5787, -5998, -6209, -6419, -6629, -6839, -7049, -7258, -7467, -7676, -7884, -8092, -8300, -8507, -8714, -8920, -9127, -9332, -9538, -9743, -9947, -10151, -10355, -10558, -10761, -10963, -11165, -11367, -11568, -11768, -11968, -12167, -12366, -12565, -12762, -12960, -13156, -13352, -13548, -13743, -13937, -14131, -14324, -14517, -14709, -14900, -15091, -15281, -15470, -15659, -15847, -16035, -16221, -16407, -16593, -16777, -16961, -17144, -17326, -17508, -17689, -17869, -18049, -18227, -18405, -18582, -18758, -18934, -19108, -19282, -19455, -19627, -19799, -19969, -20139, -20308, -20475, -20642, -20809, -20974, -21138, -21301, -21464, -21626, -21786, -21946, -22105, -22263, -22420, -22575, -22730, -22884, -23037, -23189, -23340, -23490, -23640, -23788, -23935, -24080, -24225, -24369, -24512, -24654, -24795, -24934, -25073, -25211, -25347, -25482, -25617, -25750, -25882, -26013, -26143, -26272, -26399, -26526, -26651, -26775, -26898, -27020, -27141, -27260, -27379, -27496, -27612, -27727, -27841, -27953, -28065, -28175, -28284, -28391, -28498, -28603, -28707, -28810, -28911, -29012, -29111, -29209, -29305, -29401, -29495, -29587, -29679, -29769, -29858, -29946, -30032, -30118, -30201, -30284, -30365, -30445, -30524, -30601, -30677, -30752, -30825, -30897, -30968, -31038, -31106, -31172, -31238, -31302, -31365, -31426, -31486, -31545, -31602, -31658, -31713, -31766, -31818, -31869, -31918, -31966, -32012, -32058, -32101, -32144, -32185, -32224, -32262, -32299, -32335, -32369, -32401, -32433, -32463, -32491, -32518, -32544, -32568, -32591, -32613, -32633, -32652, -32669, -32685, -32700, -32713, -32724, -32735, -32744, -32751, -32757, -32762, -32766, -32767, 32767, 32764, 32755, 32741, 32720, 32694, 32663, 32626, 32583, 32535, 32481, 32421, 32356, 32286, 32209, 32128, 32041, 31948, 31850, 31747, 31638, 31523, 31403, 31278, 31148, 31012, 30871, 30724, 30572, 30415, 30253, 30086, 29913, 29736, 29553, 29365, 29172, 28974, 28771, 28564, 28351, 28134, 27911, 27684, 27452, 27216, 26975, 26729, 26478, 26223, 25964, 25700, 25432, 25159, 24882, 24601, 24315, 24026, 23732, 23434, 23133, 22827, 22517, 22204, 21886, 21565, 21240, 20912, 20580, 20244, 19905, 19563, 19217, 18868, 18516, 18160, 17802, 17440, 17075, 16708, 16338, 15964, 15588, 15210, 14829, 14445, 14059, 13670, 13279, 12886, 12490, 12093, 11693, 11291, 10888, 10482, 10075, 9666, 9255, 8843, 8429, 8014, 7597, 7180, 6760, 6340, 5919, 5496, 5073, 4649, 4224, 3798, 3372, 2945, 2517, 2090, 1661, 1233, 804, 375, -54, -483, -911, -1340, -1768, -2197, -2624, -3052, -3479, -3905, -4330, -4755, -5179, -5602, -6024, -6445, -6865, -7284, -7702, -8118, -8533, -8946, -9358, -9768, -10177, -10584, -10989, -11392, -11793, -12192, -12589, -12984, -13377, -13767, -14155, -14541, -14924, -15305, -15683, -16058, -16430, -16800, -17167, -17531, -17892, -18249, -18604, -18956, -19304, -19649, -19990, -20329, -20663, -20994, -21322, -21646, -21966, -22282, -22595, -22904, -23208, -23509, -23806, -24099, -24387, -24672, -24952, -25228, -25499, -25766, -26029, -26288, -26541, -26791, -27035, -27275, -27511, -27741, -27967, -28188, -28405, -28616, -28823, -29024, -29221, -29412, -29599, -29780, -29957, -30128, -30294, -30455, -30611, -30761, -30906, -31046, -31181, -31310, -31434, -31552, -31665, -31773, -31875, -31972, -32063, -32149, -32229, -32304, -32373, -32437, -32495, -32547, -32594, -32635, -32671, -32701, -32726, -32745, -32758, -32766, 32767, 32754, 32717, 32658, 32577, 32473, 32348, 32200, 32029, 31837, 31624, 31388, 31131, 30853, 30553, 30232, 29891, 29530, 29148, 28746, 28324, 27883, 27423, 26944, 26447, 25931, 25398, 24847, 24279, 23695, 23095, 22478, 21846, 21199, 20538, 19863, 19174, 18472, 17757, 17030, 16291, 15541, 14781, 14010, 13230, 12441, 11643, 10837, 10024, 9204, 8377, 7545, 6708, 5866, 5020, 4171, 3319, 2464, 1608, 751, -107, -965, -1822, -2678, -3532, -4383, -5232, -6077, -6918, -7754, -8585, -9409, -10228, -11039, -11843, -12639, -13426, -14204, -14972, -15730, -16477, -17213, -17937, -18648, -19347, -20033, -20705, -21363, -22006, -22634, -23246, -23843, -24423, -24986, -25533, -26062, -26573, -27066, -27540, -27995, -28431, -28848, -29245, -29622, -29979, -30315, -30630, -30924, -31197, -31449, -31679, -31887, -32074, -32239, -32381, -32501, -32600, -32675, -32729, -32759, #endif }; #endif static const CELTMode mode48000_960_120 = { 48000, /* Fs */ 120, /* overlap */ 21, /* nbEBands */ 21, /* effEBands */ {27853, 0, 4096, 8192, }, /* preemph */ eband5ms, /* eBands */ 3, /* maxLM */ 8, /* nbShortMdcts */ 120, /* shortMdctSize */ 11, /* nbAllocVectors */ band_allocation, /* allocVectors */ logN400, /* logN */ window120, /* window */ {1920, 3, {&fft_state48000_960_0, &fft_state48000_960_1, &fft_state48000_960_2, &fft_state48000_960_3, }, mdct_twiddles960}, /* mdct */ {392, cache_index50, cache_bits50, cache_caps50}, /* cache */ #ifdef ENABLE_QEXT {86, qext_cache_index50, qext_cache_bits50, qext_cache_caps50}, /* qext_cache */ #endif }; #ifdef ENABLE_QEXT #ifndef DEF_WINDOW240 #define DEF_WINDOW240 static const celt_coef window240[240] = { #ifdef ENABLE_QEXT 36124, 325113, 903042, 1769811, 2925272, 4369225, 6101422, 8121563, 10429297, 13024223, 15905885, 19073777, 22527339, 26265958, 30288963, 34595631, 39185180, 44056771, 49209509, 54642435, 60354533, 66344724, 72611866, 79154752, 85972112, 93062609, 100424835, 108057317, 115958510, 124126796, 132560487, 141257817, 150216948, 159435962, 168912864, 178645581, 188631957, 198869754, 209356654, 220090250, 231068053, 242287487, 253745886, 265440499, 277368483, 289526906, 301912744, 314522883, 327354113, 340403136, 353666556, 367140886, 380822544, 394707853, 408793044, 423074251, 437547515, 452208783, 467053909, 482078654, 497278684, 512649576, 528186815, 543885797, 559741828, 575750127, 591905825, 608203972, 624639532, 641207388, 657902345, 674719130, 691652394, 708696716, 725846605, 743096501, 760440782, 777873759, 795389689, 812982769, 830647145, 848376914, 866166126, 884008788, 901898872, 919830310, 937797006, 955792839, 973811661, 991847308, 1009893601, 1027944353, 1045993369, 1064034454, 1082061416, 1100068075, 1118048258, 1135995815, 1153904614, 1171768555, 1189581567, 1207337616, 1225030710, 1242654904, 1260204305, 1277673075, 1295055437, 1312345681, 1329538165, 1346627326, 1363607677, 1380473817, 1397220435, 1413842311, 1430334323, 1446691453, 1462908786, 1478981520, 1494904965, 1510674550, 1526285825, 1541734465, 1557016274, 1572127189, 1587063280, 1601820758, 1616395971, 1630785416, 1644985731, 1658993707, 1672806283, 1686420553, 1699833765, 1713043324, 1726046792, 1738841892, 1751426506, 1763798678, 1775956615, 1787898686, 1799623424, 1811129525, 1822415848, 1833481417, 1844325418, 1854947198, 1865346267, 1875522297, 1885475119, 1895204720, 1904711247, 1913995001, 1923056438, 1931896164, 1940514936, 1948913657, 1957093375, 1965055281, 1972800706, 1980331118, 1987648116, 1994753433, 2001648928, 2008336584, 2014818504, 2021096911, 2027174137, 2033052626, 2038734929, 2044223696, 2049521676, 2054631712, 2059556735, 2064299763, 2068863893, 2073252301, 2077468232, 2081515002, 2085395988, 2089114627, 2092674410, 2096078878, 2099331616, 2102436251, 2105396446, 2108215896, 2110898322, 2113447469, 2115867100, 2118160991, 2120332927, 2122386699, 2124326098, 2126154912, 2127876920, 2129495889, 2131015570, 2132439692, 2133771963, 2135016059, 2136175624, 2137254268, 2138255559, 2139183022, 2140040133, 2140830320, 2141556955, 2142223351, 2142832762, 2143388377, 2143893317, 2144350634, 2144763305, 2145134231, 2145466235, 2145762059, 2146024357, 2146255701, 2146458570, 2146635355, 2146788350, 2146919756, 2147031676, 2147126111, 2147204964, 2147270033, 2147323012, 2147365487, 2147398940, 2147424741, 2147444152, 2147458322, 2147468290, 2147474980, 2147479203, 2147481655, 2147482918, 2147483458, 2147483623, 2147483647, #else 1, 5, 14, 27, 45, 67, 93, 124, 159, 199, 243, 291, 344, 401, 462, 528, 598, 672, 751, 834, 921, 1012, 1108, 1208, 1312, 1420, 1532, 1649, 1769, 1894, 2023, 2155, 2292, 2433, 2577, 2726, 2878, 3035, 3195, 3358, 3526, 3697, 3872, 4050, 4232, 4418, 4607, 4799, 4995, 5194, 5397, 5602, 5811, 6023, 6238, 6456, 6676, 6900, 7127, 7356, 7588, 7822, 8059, 8299, 8541, 8785, 9032, 9280, 9531, 9784, 10039, 10295, 10554, 10814, 11076, 11339, 11603, 11869, 12137, 12405, 12675, 12945, 13217, 13489, 13762, 14035, 14310, 14584, 14859, 15134, 15410, 15685, 15961, 16236, 16511, 16786, 17060, 17334, 17607, 17880, 18152, 18423, 18692, 18961, 19229, 19496, 19761, 20025, 20287, 20548, 20807, 21064, 21320, 21574, 21825, 22075, 22322, 22567, 22810, 23051, 23289, 23525, 23758, 23989, 24217, 24442, 24664, 24884, 25100, 25314, 25525, 25733, 25937, 26139, 26337, 26533, 26725, 26913, 27099, 27281, 27460, 27636, 27808, 27977, 28142, 28304, 28463, 28618, 28770, 28919, 29064, 29205, 29344, 29478, 29610, 29738, 29863, 29984, 30103, 30217, 30329, 30438, 30543, 30645, 30744, 30839, 30932, 31022, 31109, 31192, 31273, 31351, 31426, 31499, 31568, 31635, 31700, 31761, 31821, 31877, 31932, 31984, 32033, 32081, 32126, 32169, 32210, 32249, 32286, 32321, 32354, 32385, 32415, 32443, 32469, 32494, 32517, 32538, 32559, 32578, 32595, 32612, 32627, 32641, 32654, 32666, 32678, 32688, 32697, 32706, 32713, 32720, 32726, 32732, 32737, 32742, 32746, 32749, 32752, 32755, 32757, 32759, 32761, 32763, 32764, 32765, 32766, 32766, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, #endif }; #endif #ifndef DEF_LOGN400 #define DEF_LOGN400 static const opus_int16 logN400[21] = { 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, }; #endif #ifndef DEF_PULSE_CACHE50 #define DEF_PULSE_CACHE50 static const opus_int16 cache_index50[105] = { -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41, 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41, 41, 41, 41, 41, 41, 123, 123, 123, 123, 240, 240, 240, 266, 266, 305, 318, 328, 336, 123, 123, 123, 123, 123, 123, 123, 123, 240, 240, 240, 240, 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240, 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387, }; static const unsigned char cache_bits50[392] = { 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28, 31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, 57, 58, 59, 60, 61, 62, 63, 63, 65, 66, 67, 68, 69, 70, 71, 71, 40, 20, 33, 41, 48, 53, 57, 61, 64, 66, 69, 71, 73, 75, 76, 78, 80, 82, 85, 87, 89, 91, 92, 94, 96, 98, 101, 103, 105, 107, 108, 110, 112, 114, 117, 119, 121, 123, 124, 126, 128, 40, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94, 97, 100, 102, 105, 107, 111, 115, 118, 121, 124, 126, 129, 131, 135, 139, 142, 145, 148, 150, 153, 155, 159, 163, 166, 169, 172, 174, 177, 179, 35, 28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149, 153, 159, 165, 171, 176, 180, 185, 189, 192, 199, 205, 211, 216, 220, 225, 229, 232, 239, 245, 251, 21, 33, 58, 79, 97, 112, 125, 137, 148, 157, 166, 174, 182, 189, 195, 201, 207, 217, 227, 235, 243, 251, 17, 35, 63, 86, 106, 123, 139, 152, 165, 177, 187, 197, 206, 214, 222, 230, 237, 250, 25, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180, 185, 190, 200, 208, 215, 222, 229, 235, 240, 245, 255, 16, 36, 65, 89, 110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250, 11, 41, 74, 103, 128, 151, 172, 191, 209, 225, 241, 255, 9, 43, 79, 110, 138, 163, 186, 207, 227, 246, 12, 39, 71, 99, 123, 144, 164, 182, 198, 214, 228, 241, 253, 9, 44, 81, 113, 142, 168, 192, 214, 235, 255, 7, 49, 90, 127, 160, 191, 220, 247, 6, 51, 95, 134, 170, 203, 234, 7, 47, 87, 123, 155, 184, 212, 237, 6, 52, 97, 137, 174, 208, 240, 5, 57, 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187, 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127, 182, 234, }; static const unsigned char cache_caps50[168] = { 224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185, 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240, 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160, 160, 160, 160, 160, 160, 185, 185, 185, 185, 193, 193, 193, 183, 183, 172, 138, 64, 38, 240, 240, 240, 240, 240, 240, 240, 240, 207, 207, 207, 207, 204, 204, 204, 193, 193, 180, 143, 66, 40, 185, 185, 185, 185, 185, 185, 185, 185, 193, 193, 193, 193, 193, 193, 193, 183, 183, 172, 138, 65, 39, 207, 207, 207, 207, 207, 207, 207, 207, 204, 204, 204, 204, 201, 201, 201, 188, 188, 176, 141, 66, 40, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 194, 194, 194, 184, 184, 173, 139, 65, 39, 204, 204, 204, 204, 204, 204, 204, 204, 201, 201, 201, 201, 198, 198, 198, 187, 187, 175, 140, 66, 40, }; #endif #ifdef ENABLE_QEXT # ifndef DEF_QEXT_PULSE_CACHE50 # define DEF_QEXT_PULSE_CACHE50 static const opus_int16 qext_cache_index50[70] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, }; static const unsigned char qext_cache_bits50[86] = { 40, 26, 45, 59, 70, 79, 87, 94, 100, 105, 110, 114, 118, 122, 125, 128, 131, 136, 141, 146, 150, 153, 157, 160, 163, 168, 173, 178, 182, 185, 189, 192, 195, 200, 205, 210, 214, 217, 221, 224, 227, 19, 34, 61, 83, 101, 118, 132, 145, 157, 167, 177, 186, 194, 202, 209, 216, 222, 234, 245, 254, 10, 42, 77, 107, 133, 157, 179, 200, 219, 236, 253, 7, 50, 93, 131, 165, 197, 227, 255, 5, 58, 109, 155, 197, 237, }; static const unsigned char qext_cache_caps50[112] = { 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, }; # endif #endif #ifndef FFT_TWIDDLES96000_1920 #define FFT_TWIDDLES96000_1920 static const kiss_twiddle_cpx fft_twiddles96000_1920[960] = { #ifdef ENABLE_QEXT {2147483647, 0}, {2147437652, -14055147}, {2147299668, -28109692}, {2147069700, -42163034}, {2146747759, -56214568}, {2146333858, -70263695}, {2145828016, -84309812}, {2145230253, -98352318}, {2144540596, -112390610}, {2143759074, -126424088}, {2142885721, -140452151}, {2141920573, -154474196}, {2140863673, -168489625}, {2139715065, -182497836}, {2138474799, -196498230}, {2137142927, -210490206}, {2135719508, -224473166}, {2134204601, -238446509}, {2132598273, -252409639}, {2130900591, -266361956}, {2129111628, -280302863}, {2127231461, -294231763}, {2125260170, -308148059}, {2123197841, -322051155}, {2121044561, -335940456}, {2118800422, -349815365}, {2116465521, -363675290}, {2114039958, -377519637}, {2111523836, -391347811}, {2108917263, -405159222}, {2106220352, -418953276}, {2103433217, -432729385}, {2100555978, -446486956}, {2097588758, -460225402}, {2094531684, -473944133}, {2091384888, -487642562}, {2088148504, -501320102}, {2084822670, -514976167}, {2081407530, -528610172}, {2077903229, -542221533}, {2074309917, -555809667}, {2070627749, -569373992}, {2066856882, -582913927}, {2062997478, -596428893}, {2059049702, -609918309}, {2055013723, -623381598}, {2050889714, -636818183}, {2046677852, -650227490}, {2042378317, -663608942}, {2037991293, -676961968}, {2033516969, -690285996}, {2028955535, -703580453}, {2024307188, -716844772}, {2019572126, -730078383}, {2014750553, -743280720}, {2009842674, -756451218}, {2004848700, -769589312}, {1999768845, -782694439}, {1994603327, -795766038}, {1989352366, -808803549}, {1984016189, -821806413}, {1978595022, -834774075}, {1973089100, -847705977}, {1967498656, -860601566}, {1961823932, -873460290}, {1956065170, -886281598}, {1950222616, -899064940}, {1944296521, -911809770}, {1938287139, -924515541}, {1932194727, -937181708}, {1926019547, -949807730}, {1919761862, -962393065}, {1913421941, -974937175}, {1907000055, -987439521}, {1900496480, -999899569}, {1893911494, -1012316784}, {1887245379, -1024690635}, {1880498421, -1037020592}, {1873670908, -1049306126}, {1866763134, -1061546712}, {1859775393, -1073741824}, {1852707986, -1085890941}, {1845561216, -1097993542}, {1838335387, -1110049108}, {1831030811, -1122057124}, {1823647799, -1134017074}, {1816186668, -1145928447}, {1808647737, -1157790732}, {1801031331, -1169603422}, {1793337774, -1181366009}, {1785567396, -1193077991}, {1777720531, -1204738865}, {1769797514, -1216348132}, {1761798685, -1227905295}, {1753724386, -1239409858}, {1745574963, -1250861329}, {1737350766, -1262259218}, {1729052147, -1273603035}, {1720679461, -1284892296}, {1712233066, -1296126516}, {1703713325, -1307305214}, {1695120603, -1318427912}, {1686455268, -1329494133}, {1677717690, -1340503402}, {1668908244, -1351455249}, {1660027308, -1362349204}, {1651075262, -1373184801}, {1642052490, -1383961574}, {1632959377, -1394679064}, {1623796314, -1405336810}, {1614563692, -1415934356}, {1605261909, -1426471249}, {1595891361, -1436947036}, {1586452450, -1447361268}, {1576945581, -1457713501}, {1567371161, -1468003290}, {1557729600, -1478230195}, {1548021312, -1488393778}, {1538246711, -1498493602}, {1528406216, -1508529236}, {1518500250, -1518500250}, {1508529236, -1528406216}, {1498493602, -1538246711}, {1488393778, -1548021312}, {1478230195, -1557729600}, {1468003290, -1567371161}, {1457713501, -1576945581}, {1447361268, -1586452450}, {1436947036, -1595891361}, {1426471249, -1605261909}, {1415934356, -1614563692}, {1405336810, -1623796314}, {1394679064, -1632959377}, {1383961574, -1642052490}, {1373184801, -1651075262}, {1362349204, -1660027308}, {1351455249, -1668908244}, {1340503402, -1677717690}, {1329494133, -1686455268}, {1318427912, -1695120603}, {1307305214, -1703713325}, {1296126516, -1712233066}, {1284892296, -1720679461}, {1273603035, -1729052147}, {1262259218, -1737350766}, {1250861329, -1745574963}, {1239409858, -1753724386}, {1227905295, -1761798685}, {1216348132, -1769797514}, {1204738865, -1777720531}, {1193077991, -1785567396}, {1181366009, -1793337774}, {1169603422, -1801031331}, {1157790732, -1808647737}, {1145928447, -1816186668}, {1134017074, -1823647799}, {1122057124, -1831030811}, {1110049108, -1838335387}, {1097993542, -1845561216}, {1085890941, -1852707986}, {1073741824, -1859775393}, {1061546712, -1866763134}, {1049306126, -1873670908}, {1037020592, -1880498421}, {1024690635, -1887245379}, {1012316784, -1893911494}, {999899569, -1900496480}, {987439521, -1907000055}, {974937175, -1913421941}, {962393065, -1919761862}, {949807730, -1926019547}, {937181708, -1932194727}, {924515541, -1938287139}, {911809770, -1944296521}, {899064940, -1950222616}, {886281598, -1956065170}, {873460290, -1961823932}, {860601566, -1967498656}, {847705977, -1973089100}, {834774075, -1978595022}, {821806413, -1984016189}, {808803549, -1989352366}, {795766038, -1994603327}, {782694439, -1999768845}, {769589312, -2004848700}, {756451218, -2009842674}, {743280720, -2014750553}, {730078383, -2019572126}, {716844772, -2024307188}, {703580453, -2028955535}, {690285996, -2033516969}, {676961968, -2037991293}, {663608942, -2042378317}, {650227490, -2046677852}, {636818183, -2050889714}, {623381598, -2055013723}, {609918309, -2059049702}, {596428893, -2062997478}, {582913927, -2066856882}, {569373992, -2070627749}, {555809667, -2074309917}, {542221533, -2077903229}, {528610172, -2081407530}, {514976167, -2084822670}, {501320102, -2088148504}, {487642562, -2091384888}, {473944133, -2094531684}, {460225402, -2097588758}, {446486956, -2100555978}, {432729385, -2103433217}, {418953276, -2106220352}, {405159222, -2108917263}, {391347811, -2111523836}, {377519637, -2114039958}, {363675290, -2116465521}, {349815365, -2118800422}, {335940456, -2121044561}, {322051155, -2123197841}, {308148059, -2125260170}, {294231763, -2127231461}, {280302863, -2129111628}, {266361956, -2130900591}, {252409639, -2132598273}, {238446509, -2134204601}, {224473166, -2135719508}, {210490206, -2137142927}, {196498230, -2138474799}, {182497836, -2139715065}, {168489625, -2140863673}, {154474196, -2141920573}, {140452151, -2142885721}, {126424088, -2143759074}, {112390610, -2144540596}, {98352318, -2145230253}, {84309812, -2145828016}, {70263695, -2146333858}, {56214568, -2146747759}, {42163034, -2147069700}, {28109692, -2147299668}, {14055147, -2147437652}, {0, -2147483648}, {-14055147, -2147437652}, {-28109692, -2147299668}, {-42163034, -2147069700}, {-56214568, -2146747759}, {-70263695, -2146333858}, {-84309812, -2145828016}, {-98352318, -2145230253}, {-112390610, -2144540596}, {-126424088, -2143759074}, {-140452151, -2142885721}, {-154474196, -2141920573}, {-168489625, -2140863673}, {-182497836, -2139715065}, {-196498230, -2138474799}, {-210490206, -2137142927}, {-224473166, -2135719508}, {-238446509, -2134204601}, {-252409639, -2132598273}, {-266361956, -2130900591}, {-280302863, -2129111628}, {-294231763, -2127231461}, {-308148059, -2125260170}, {-322051155, -2123197841}, {-335940456, -2121044561}, {-349815365, -2118800422}, {-363675290, -2116465521}, {-377519637, -2114039958}, {-391347811, -2111523836}, {-405159222, -2108917263}, {-418953276, -2106220352}, {-432729385, -2103433217}, {-446486956, -2100555978}, {-460225402, -2097588758}, {-473944133, -2094531684}, {-487642562, -2091384888}, {-501320102, -2088148504}, {-514976167, -2084822670}, {-528610172, -2081407530}, {-542221533, -2077903229}, {-555809667, -2074309917}, {-569373992, -2070627749}, {-582913927, -2066856882}, {-596428893, -2062997478}, {-609918309, -2059049702}, {-623381598, -2055013723}, {-636818183, -2050889714}, {-650227490, -2046677852}, {-663608942, -2042378317}, {-676961968, -2037991293}, {-690285996, -2033516969}, {-703580453, -2028955535}, {-716844772, -2024307188}, {-730078383, -2019572126}, {-743280720, -2014750553}, {-756451218, -2009842674}, {-769589312, -2004848700}, {-782694439, -1999768845}, {-795766038, -1994603327}, {-808803549, -1989352366}, {-821806413, -1984016189}, {-834774075, -1978595022}, {-847705977, -1973089100}, {-860601566, -1967498656}, {-873460290, -1961823932}, {-886281598, -1956065170}, {-899064940, -1950222616}, {-911809770, -1944296521}, {-924515541, -1938287139}, {-937181708, -1932194727}, {-949807730, -1926019547}, {-962393065, -1919761862}, {-974937175, -1913421941}, {-987439521, -1907000055}, {-999899569, -1900496480}, {-1012316784, -1893911494}, {-1024690635, -1887245379}, {-1037020592, -1880498421}, {-1049306126, -1873670908}, {-1061546712, -1866763134}, {-1073741824, -1859775393}, {-1085890941, -1852707986}, {-1097993542, -1845561216}, {-1110049108, -1838335387}, {-1122057124, -1831030811}, {-1134017074, -1823647799}, {-1145928447, -1816186668}, {-1157790732, -1808647737}, {-1169603422, -1801031331}, {-1181366009, -1793337774}, {-1193077991, -1785567396}, {-1204738865, -1777720531}, {-1216348132, -1769797514}, {-1227905295, -1761798685}, {-1239409858, -1753724386}, {-1250861329, -1745574963}, {-1262259218, -1737350766}, {-1273603035, -1729052147}, {-1284892296, -1720679461}, {-1296126516, -1712233066}, {-1307305214, -1703713325}, {-1318427912, -1695120603}, {-1329494133, -1686455268}, {-1340503402, -1677717690}, {-1351455249, -1668908244}, {-1362349204, -1660027308}, {-1373184801, -1651075262}, {-1383961574, -1642052490}, {-1394679064, -1632959377}, {-1405336810, -1623796314}, {-1415934356, -1614563692}, {-1426471249, -1605261909}, {-1436947036, -1595891361}, {-1447361268, -1586452450}, {-1457713501, -1576945581}, {-1468003290, -1567371161}, {-1478230195, -1557729600}, {-1488393778, -1548021312}, {-1498493602, -1538246711}, {-1508529236, -1528406216}, {-1518500250, -1518500250}, {-1528406216, -1508529236}, {-1538246711, -1498493602}, {-1548021312, -1488393778}, {-1557729600, -1478230195}, {-1567371161, -1468003290}, {-1576945581, -1457713501}, {-1586452450, -1447361268}, {-1595891361, -1436947036}, {-1605261909, -1426471249}, {-1614563692, -1415934356}, {-1623796314, -1405336810}, {-1632959377, -1394679064}, {-1642052490, -1383961574}, {-1651075262, -1373184801}, {-1660027308, -1362349204}, {-1668908244, -1351455249}, {-1677717690, -1340503402}, {-1686455268, -1329494133}, {-1695120603, -1318427912}, {-1703713325, -1307305214}, {-1712233066, -1296126516}, {-1720679461, -1284892296}, {-1729052147, -1273603035}, {-1737350766, -1262259218}, {-1745574963, -1250861329}, {-1753724386, -1239409858}, {-1761798685, -1227905295}, {-1769797514, -1216348132}, {-1777720531, -1204738865}, {-1785567396, -1193077991}, {-1793337774, -1181366009}, {-1801031331, -1169603422}, {-1808647737, -1157790732}, {-1816186668, -1145928447}, {-1823647799, -1134017074}, {-1831030811, -1122057124}, {-1838335387, -1110049108}, {-1845561216, -1097993542}, {-1852707986, -1085890941}, {-1859775393, -1073741824}, {-1866763134, -1061546712}, {-1873670908, -1049306126}, {-1880498421, -1037020592}, {-1887245379, -1024690635}, {-1893911494, -1012316784}, {-1900496480, -999899569}, {-1907000055, -987439521}, {-1913421941, -974937175}, {-1919761862, -962393065}, {-1926019547, -949807730}, {-1932194727, -937181708}, {-1938287139, -924515541}, {-1944296521, -911809770}, {-1950222616, -899064940}, {-1956065170, -886281598}, {-1961823932, -873460290}, {-1967498656, -860601566}, {-1973089100, -847705977}, {-1978595022, -834774075}, {-1984016189, -821806413}, {-1989352366, -808803549}, {-1994603327, -795766038}, {-1999768845, -782694439}, {-2004848700, -769589312}, {-2009842674, -756451218}, {-2014750553, -743280720}, {-2019572126, -730078383}, {-2024307188, -716844772}, {-2028955535, -703580453}, {-2033516969, -690285996}, {-2037991293, -676961968}, {-2042378317, -663608942}, {-2046677852, -650227490}, {-2050889714, -636818183}, {-2055013723, -623381598}, {-2059049702, -609918309}, {-2062997478, -596428893}, {-2066856882, -582913927}, {-2070627749, -569373992}, {-2074309917, -555809667}, {-2077903229, -542221533}, {-2081407530, -528610172}, {-2084822670, -514976167}, {-2088148504, -501320102}, {-2091384888, -487642562}, {-2094531684, -473944133}, {-2097588758, -460225402}, {-2100555978, -446486956}, {-2103433217, -432729385}, {-2106220352, -418953276}, {-2108917263, -405159222}, {-2111523836, -391347811}, {-2114039958, -377519637}, {-2116465521, -363675290}, {-2118800422, -349815365}, {-2121044561, -335940456}, {-2123197841, -322051155}, {-2125260170, -308148059}, {-2127231461, -294231763}, {-2129111628, -280302863}, {-2130900591, -266361956}, {-2132598273, -252409639}, {-2134204601, -238446509}, {-2135719508, -224473166}, {-2137142927, -210490206}, {-2138474799, -196498230}, {-2139715065, -182497836}, {-2140863673, -168489625}, {-2141920573, -154474196}, {-2142885721, -140452151}, {-2143759074, -126424088}, {-2144540596, -112390610}, {-2145230253, -98352318}, {-2145828016, -84309812}, {-2146333858, -70263695}, {-2146747759, -56214568}, {-2147069700, -42163034}, {-2147299668, -28109692}, {-2147437652, -14055147}, {-2147483648, 0}, {-2147437652, 14055147}, {-2147299668, 28109692}, {-2147069700, 42163034}, {-2146747759, 56214568}, {-2146333858, 70263695}, {-2145828016, 84309812}, {-2145230253, 98352318}, {-2144540596, 112390610}, {-2143759074, 126424088}, {-2142885721, 140452151}, {-2141920573, 154474196}, {-2140863673, 168489625}, {-2139715065, 182497836}, {-2138474799, 196498230}, {-2137142927, 210490206}, {-2135719508, 224473166}, {-2134204601, 238446509}, {-2132598273, 252409639}, {-2130900591, 266361956}, {-2129111628, 280302863}, {-2127231461, 294231763}, {-2125260170, 308148059}, {-2123197841, 322051155}, {-2121044561, 335940456}, {-2118800422, 349815365}, {-2116465521, 363675290}, {-2114039958, 377519637}, {-2111523836, 391347811}, {-2108917263, 405159222}, {-2106220352, 418953276}, {-2103433217, 432729385}, {-2100555978, 446486956}, {-2097588758, 460225402}, {-2094531684, 473944133}, {-2091384888, 487642562}, {-2088148504, 501320102}, {-2084822670, 514976167}, {-2081407530, 528610172}, {-2077903229, 542221533}, {-2074309917, 555809667}, {-2070627749, 569373992}, {-2066856882, 582913927}, {-2062997478, 596428893}, {-2059049702, 609918309}, {-2055013723, 623381598}, {-2050889714, 636818183}, {-2046677852, 650227490}, {-2042378317, 663608942}, {-2037991293, 676961968}, {-2033516969, 690285996}, {-2028955535, 703580453}, {-2024307188, 716844772}, {-2019572126, 730078383}, {-2014750553, 743280720}, {-2009842674, 756451218}, {-2004848700, 769589312}, {-1999768845, 782694439}, {-1994603327, 795766038}, {-1989352366, 808803549}, {-1984016189, 821806413}, {-1978595022, 834774075}, {-1973089100, 847705977}, {-1967498656, 860601566}, {-1961823932, 873460290}, {-1956065170, 886281598}, {-1950222616, 899064940}, {-1944296521, 911809770}, {-1938287139, 924515541}, {-1932194727, 937181708}, {-1926019547, 949807730}, {-1919761862, 962393065}, {-1913421941, 974937175}, {-1907000055, 987439521}, {-1900496480, 999899569}, {-1893911494, 1012316784}, {-1887245379, 1024690635}, {-1880498421, 1037020592}, {-1873670908, 1049306126}, {-1866763134, 1061546712}, {-1859775393, 1073741824}, {-1852707986, 1085890941}, {-1845561216, 1097993542}, {-1838335387, 1110049108}, {-1831030811, 1122057124}, {-1823647799, 1134017074}, {-1816186668, 1145928447}, {-1808647737, 1157790732}, {-1801031331, 1169603422}, {-1793337774, 1181366009}, {-1785567396, 1193077991}, {-1777720531, 1204738865}, {-1769797514, 1216348132}, {-1761798685, 1227905295}, {-1753724386, 1239409858}, {-1745574963, 1250861329}, {-1737350766, 1262259218}, {-1729052147, 1273603035}, {-1720679461, 1284892296}, {-1712233066, 1296126516}, {-1703713325, 1307305214}, {-1695120603, 1318427912}, {-1686455268, 1329494133}, {-1677717690, 1340503402}, {-1668908244, 1351455249}, {-1660027308, 1362349204}, {-1651075262, 1373184801}, {-1642052490, 1383961574}, {-1632959377, 1394679064}, {-1623796314, 1405336810}, {-1614563692, 1415934356}, {-1605261909, 1426471249}, {-1595891361, 1436947036}, {-1586452450, 1447361268}, {-1576945581, 1457713501}, {-1567371161, 1468003290}, {-1557729600, 1478230195}, {-1548021312, 1488393778}, {-1538246711, 1498493602}, {-1528406216, 1508529236}, {-1518500250, 1518500250}, {-1508529236, 1528406216}, {-1498493602, 1538246711}, {-1488393778, 1548021312}, {-1478230195, 1557729600}, {-1468003290, 1567371161}, {-1457713501, 1576945581}, {-1447361268, 1586452450}, {-1436947036, 1595891361}, {-1426471249, 1605261909}, {-1415934356, 1614563692}, {-1405336810, 1623796314}, {-1394679064, 1632959377}, {-1383961574, 1642052490}, {-1373184801, 1651075262}, {-1362349204, 1660027308}, {-1351455249, 1668908244}, {-1340503402, 1677717690}, {-1329494133, 1686455268}, {-1318427912, 1695120603}, {-1307305214, 1703713325}, {-1296126516, 1712233066}, {-1284892296, 1720679461}, {-1273603035, 1729052147}, {-1262259218, 1737350766}, {-1250861329, 1745574963}, {-1239409858, 1753724386}, {-1227905295, 1761798685}, {-1216348132, 1769797514}, {-1204738865, 1777720531}, {-1193077991, 1785567396}, {-1181366009, 1793337774}, {-1169603422, 1801031331}, {-1157790732, 1808647737}, {-1145928447, 1816186668}, {-1134017074, 1823647799}, {-1122057124, 1831030811}, {-1110049108, 1838335387}, {-1097993542, 1845561216}, {-1085890941, 1852707986}, {-1073741824, 1859775393}, {-1061546712, 1866763134}, {-1049306126, 1873670908}, {-1037020592, 1880498421}, {-1024690635, 1887245379}, {-1012316784, 1893911494}, {-999899569, 1900496480}, {-987439521, 1907000055}, {-974937175, 1913421941}, {-962393065, 1919761862}, {-949807730, 1926019547}, {-937181708, 1932194727}, {-924515541, 1938287139}, {-911809770, 1944296521}, {-899064940, 1950222616}, {-886281598, 1956065170}, {-873460290, 1961823932}, {-860601566, 1967498656}, {-847705977, 1973089100}, {-834774075, 1978595022}, {-821806413, 1984016189}, {-808803549, 1989352366}, {-795766038, 1994603327}, {-782694439, 1999768845}, {-769589312, 2004848700}, {-756451218, 2009842674}, {-743280720, 2014750553}, {-730078383, 2019572126}, {-716844772, 2024307188}, {-703580453, 2028955535}, {-690285996, 2033516969}, {-676961968, 2037991293}, {-663608942, 2042378317}, {-650227490, 2046677852}, {-636818183, 2050889714}, {-623381598, 2055013723}, {-609918309, 2059049702}, {-596428893, 2062997478}, {-582913927, 2066856882}, {-569373992, 2070627749}, {-555809667, 2074309917}, {-542221533, 2077903229}, {-528610172, 2081407530}, {-514976167, 2084822670}, {-501320102, 2088148504}, {-487642562, 2091384888}, {-473944133, 2094531684}, {-460225402, 2097588758}, {-446486956, 2100555978}, {-432729385, 2103433217}, {-418953276, 2106220352}, {-405159222, 2108917263}, {-391347811, 2111523836}, {-377519637, 2114039958}, {-363675290, 2116465521}, {-349815365, 2118800422}, {-335940456, 2121044561}, {-322051155, 2123197841}, {-308148059, 2125260170}, {-294231763, 2127231461}, {-280302863, 2129111628}, {-266361956, 2130900591}, {-252409639, 2132598273}, {-238446509, 2134204601}, {-224473166, 2135719508}, {-210490206, 2137142927}, {-196498230, 2138474799}, {-182497836, 2139715065}, {-168489625, 2140863673}, {-154474196, 2141920573}, {-140452151, 2142885721}, {-126424088, 2143759074}, {-112390610, 2144540596}, {-98352318, 2145230253}, {-84309812, 2145828016}, {-70263695, 2146333858}, {-56214568, 2146747759}, {-42163034, 2147069700}, {-28109692, 2147299668}, {-14055147, 2147437652}, {0, 2147483647}, {14055147, 2147437652}, {28109692, 2147299668}, {42163034, 2147069700}, {56214568, 2146747759}, {70263695, 2146333858}, {84309812, 2145828016}, {98352318, 2145230253}, {112390610, 2144540596}, {126424088, 2143759074}, {140452151, 2142885721}, {154474196, 2141920573}, {168489625, 2140863673}, {182497836, 2139715065}, {196498230, 2138474799}, {210490206, 2137142927}, {224473166, 2135719508}, {238446509, 2134204601}, {252409639, 2132598273}, {266361956, 2130900591}, {280302863, 2129111628}, {294231763, 2127231461}, {308148059, 2125260170}, {322051155, 2123197841}, {335940456, 2121044561}, {349815365, 2118800422}, {363675290, 2116465521}, {377519637, 2114039958}, {391347811, 2111523836}, {405159222, 2108917263}, {418953276, 2106220352}, {432729385, 2103433217}, {446486956, 2100555978}, {460225402, 2097588758}, {473944133, 2094531684}, {487642562, 2091384888}, {501320102, 2088148504}, {514976167, 2084822670}, {528610172, 2081407530}, {542221533, 2077903229}, {555809667, 2074309917}, {569373992, 2070627749}, {582913927, 2066856882}, {596428893, 2062997478}, {609918309, 2059049702}, {623381598, 2055013723}, {636818183, 2050889714}, {650227490, 2046677852}, {663608942, 2042378317}, {676961968, 2037991293}, {690285996, 2033516969}, {703580453, 2028955535}, {716844772, 2024307188}, {730078383, 2019572126}, {743280720, 2014750553}, {756451218, 2009842674}, {769589312, 2004848700}, {782694439, 1999768845}, {795766038, 1994603327}, {808803549, 1989352366}, {821806413, 1984016189}, {834774075, 1978595022}, {847705977, 1973089100}, {860601566, 1967498656}, {873460290, 1961823932}, {886281598, 1956065170}, {899064940, 1950222616}, {911809770, 1944296521}, {924515541, 1938287139}, {937181708, 1932194727}, {949807730, 1926019547}, {962393065, 1919761862}, {974937175, 1913421941}, {987439521, 1907000055}, {999899569, 1900496480}, {1012316784, 1893911494}, {1024690635, 1887245379}, {1037020592, 1880498421}, {1049306126, 1873670908}, {1061546712, 1866763134}, {1073741824, 1859775393}, {1085890941, 1852707986}, {1097993542, 1845561216}, {1110049108, 1838335387}, {1122057124, 1831030811}, {1134017074, 1823647799}, {1145928447, 1816186668}, {1157790732, 1808647737}, {1169603422, 1801031331}, {1181366009, 1793337774}, {1193077991, 1785567396}, {1204738865, 1777720531}, {1216348132, 1769797514}, {1227905295, 1761798685}, {1239409858, 1753724386}, {1250861329, 1745574963}, {1262259218, 1737350766}, {1273603035, 1729052147}, {1284892296, 1720679461}, {1296126516, 1712233066}, {1307305214, 1703713325}, {1318427912, 1695120603}, {1329494133, 1686455268}, {1340503402, 1677717690}, {1351455249, 1668908244}, {1362349204, 1660027308}, {1373184801, 1651075262}, {1383961574, 1642052490}, {1394679064, 1632959377}, {1405336810, 1623796314}, {1415934356, 1614563692}, {1426471249, 1605261909}, {1436947036, 1595891361}, {1447361268, 1586452450}, {1457713501, 1576945581}, {1468003290, 1567371161}, {1478230195, 1557729600}, {1488393778, 1548021312}, {1498493602, 1538246711}, {1508529236, 1528406216}, {1518500250, 1518500250}, {1528406216, 1508529236}, {1538246711, 1498493602}, {1548021312, 1488393778}, {1557729600, 1478230195}, {1567371161, 1468003290}, {1576945581, 1457713501}, {1586452450, 1447361268}, {1595891361, 1436947036}, {1605261909, 1426471249}, {1614563692, 1415934356}, {1623796314, 1405336810}, {1632959377, 1394679064}, {1642052490, 1383961574}, {1651075262, 1373184801}, {1660027308, 1362349204}, {1668908244, 1351455249}, {1677717690, 1340503402}, {1686455268, 1329494133}, {1695120603, 1318427912}, {1703713325, 1307305214}, {1712233066, 1296126516}, {1720679461, 1284892296}, {1729052147, 1273603035}, {1737350766, 1262259218}, {1745574963, 1250861329}, {1753724386, 1239409858}, {1761798685, 1227905295}, {1769797514, 1216348132}, {1777720531, 1204738865}, {1785567396, 1193077991}, {1793337774, 1181366009}, {1801031331, 1169603422}, {1808647737, 1157790732}, {1816186668, 1145928447}, {1823647799, 1134017074}, {1831030811, 1122057124}, {1838335387, 1110049108}, {1845561216, 1097993542}, {1852707986, 1085890941}, {1859775393, 1073741824}, {1866763134, 1061546712}, {1873670908, 1049306126}, {1880498421, 1037020592}, {1887245379, 1024690635}, {1893911494, 1012316784}, {1900496480, 999899569}, {1907000055, 987439521}, {1913421941, 974937175}, {1919761862, 962393065}, {1926019547, 949807730}, {1932194727, 937181708}, {1938287139, 924515541}, {1944296521, 911809770}, {1950222616, 899064940}, {1956065170, 886281598}, {1961823932, 873460290}, {1967498656, 860601566}, {1973089100, 847705977}, {1978595022, 834774075}, {1984016189, 821806413}, {1989352366, 808803549}, {1994603327, 795766038}, {1999768845, 782694439}, {2004848700, 769589312}, {2009842674, 756451218}, {2014750553, 743280720}, {2019572126, 730078383}, {2024307188, 716844772}, {2028955535, 703580453}, {2033516969, 690285996}, {2037991293, 676961968}, {2042378317, 663608942}, {2046677852, 650227490}, {2050889714, 636818183}, {2055013723, 623381598}, {2059049702, 609918309}, {2062997478, 596428893}, {2066856882, 582913927}, {2070627749, 569373992}, {2074309917, 555809667}, {2077903229, 542221533}, {2081407530, 528610172}, {2084822670, 514976167}, {2088148504, 501320102}, {2091384888, 487642562}, {2094531684, 473944133}, {2097588758, 460225402}, {2100555978, 446486956}, {2103433217, 432729385}, {2106220352, 418953276}, {2108917263, 405159222}, {2111523836, 391347811}, {2114039958, 377519637}, {2116465521, 363675290}, {2118800422, 349815365}, {2121044561, 335940456}, {2123197841, 322051155}, {2125260170, 308148059}, {2127231461, 294231763}, {2129111628, 280302863}, {2130900591, 266361956}, {2132598273, 252409639}, {2134204601, 238446509}, {2135719508, 224473166}, {2137142927, 210490206}, {2138474799, 196498230}, {2139715065, 182497836}, {2140863673, 168489625}, {2141920573, 154474196}, {2142885721, 140452151}, {2143759074, 126424088}, {2144540596, 112390610}, {2145230253, 98352318}, {2145828016, 84309812}, {2146333858, 70263695}, {2146747759, 56214568}, {2147069700, 42163034}, {2147299668, 28109692}, {2147437652, 14055147}, #else {32767, 0}, {32767, -214}, {32765, -429}, {32762, -643}, {32757, -858}, {32750, -1072}, {32743, -1286}, {32734, -1501}, {32723, -1715}, {32711, -1929}, {32698, -2143}, {32683, -2357}, {32667, -2571}, {32649, -2785}, {32631, -2998}, {32610, -3212}, {32588, -3425}, {32565, -3638}, {32541, -3851}, {32515, -4064}, {32488, -4277}, {32459, -4490}, {32429, -4702}, {32397, -4914}, {32365, -5126}, {32330, -5338}, {32295, -5549}, {32258, -5760}, {32219, -5971}, {32180, -6182}, {32138, -6393}, {32096, -6603}, {32052, -6813}, {32007, -7022}, {31960, -7232}, {31912, -7441}, {31863, -7650}, {31812, -7858}, {31760, -8066}, {31706, -8274}, {31651, -8481}, {31595, -8688}, {31538, -8895}, {31479, -9101}, {31419, -9307}, {31357, -9512}, {31294, -9717}, {31230, -9922}, {31164, -10126}, {31097, -10330}, {31029, -10533}, {30959, -10736}, {30888, -10938}, {30816, -11140}, {30743, -11342}, {30668, -11543}, {30592, -11743}, {30514, -11943}, {30435, -12142}, {30355, -12341}, {30274, -12540}, {30191, -12738}, {30107, -12935}, {30022, -13132}, {29935, -13328}, {29847, -13524}, {29758, -13719}, {29668, -13913}, {29576, -14107}, {29483, -14300}, {29389, -14493}, {29293, -14685}, {29197, -14876}, {29099, -15067}, {28999, -15257}, {28899, -15447}, {28797, -15636}, {28694, -15824}, {28590, -16011}, {28485, -16198}, {28378, -16384}, {28270, -16569}, {28161, -16754}, {28051, -16938}, {27939, -17121}, {27827, -17304}, {27713, -17485}, {27598, -17666}, {27482, -17847}, {27364, -18026}, {27246, -18205}, {27126, -18383}, {27005, -18560}, {26883, -18736}, {26760, -18912}, {26635, -19087}, {26510, -19261}, {26383, -19434}, {26255, -19606}, {26127, -19777}, {25997, -19948}, {25865, -20118}, {25733, -20286}, {25600, -20454}, {25466, -20622}, {25330, -20788}, {25193, -20953}, {25056, -21118}, {24917, -21281}, {24777, -21444}, {24636, -21605}, {24494, -21766}, {24351, -21926}, {24207, -22085}, {24062, -22243}, {23916, -22400}, {23769, -22556}, {23621, -22711}, {23472, -22865}, {23322, -23018}, {23170, -23170}, {23018, -23322}, {22865, -23472}, {22711, -23621}, {22556, -23769}, {22400, -23916}, {22243, -24062}, {22085, -24207}, {21926, -24351}, {21766, -24494}, {21605, -24636}, {21444, -24777}, {21281, -24917}, {21118, -25056}, {20953, -25193}, {20788, -25330}, {20622, -25466}, {20454, -25600}, {20286, -25733}, {20118, -25865}, {19948, -25997}, {19777, -26127}, {19606, -26255}, {19434, -26383}, {19261, -26510}, {19087, -26635}, {18912, -26760}, {18736, -26883}, {18560, -27005}, {18383, -27126}, {18205, -27246}, {18026, -27364}, {17847, -27482}, {17666, -27598}, {17485, -27713}, {17304, -27827}, {17121, -27939}, {16938, -28051}, {16754, -28161}, {16569, -28270}, {16384, -28378}, {16198, -28485}, {16011, -28590}, {15824, -28694}, {15636, -28797}, {15447, -28899}, {15257, -28999}, {15067, -29099}, {14876, -29197}, {14685, -29293}, {14493, -29389}, {14300, -29483}, {14107, -29576}, {13913, -29668}, {13719, -29758}, {13524, -29847}, {13328, -29935}, {13132, -30022}, {12935, -30107}, {12738, -30191}, {12540, -30274}, {12341, -30355}, {12142, -30435}, {11943, -30514}, {11743, -30592}, {11543, -30668}, {11342, -30743}, {11140, -30816}, {10938, -30888}, {10736, -30959}, {10533, -31029}, {10330, -31097}, {10126, -31164}, {9922, -31230}, {9717, -31294}, {9512, -31357}, {9307, -31419}, {9101, -31479}, {8895, -31538}, {8688, -31595}, {8481, -31651}, {8274, -31706}, {8066, -31760}, {7858, -31812}, {7650, -31863}, {7441, -31912}, {7232, -31960}, {7022, -32007}, {6813, -32052}, {6603, -32096}, {6393, -32138}, {6182, -32180}, {5971, -32219}, {5760, -32258}, {5549, -32295}, {5338, -32330}, {5126, -32365}, {4914, -32397}, {4702, -32429}, {4490, -32459}, {4277, -32488}, {4064, -32515}, {3851, -32541}, {3638, -32565}, {3425, -32588}, {3212, -32610}, {2998, -32631}, {2785, -32649}, {2571, -32667}, {2357, -32683}, {2143, -32698}, {1929, -32711}, {1715, -32723}, {1501, -32734}, {1286, -32743}, {1072, -32750}, {858, -32757}, {643, -32762}, {429, -32765}, {214, -32767}, {0, -32767}, {-214, -32767}, {-429, -32765}, {-643, -32762}, {-858, -32757}, {-1072, -32750}, {-1286, -32743}, {-1501, -32734}, {-1715, -32723}, {-1929, -32711}, {-2143, -32698}, {-2357, -32683}, {-2571, -32667}, {-2785, -32649}, {-2998, -32631}, {-3212, -32610}, {-3425, -32588}, {-3638, -32565}, {-3851, -32541}, {-4064, -32515}, {-4277, -32488}, {-4490, -32459}, {-4702, -32429}, {-4914, -32397}, {-5126, -32365}, {-5338, -32330}, {-5549, -32295}, {-5760, -32258}, {-5971, -32219}, {-6182, -32180}, {-6393, -32138}, {-6603, -32096}, {-6813, -32052}, {-7022, -32007}, {-7232, -31960}, {-7441, -31912}, {-7650, -31863}, {-7858, -31812}, {-8066, -31760}, {-8274, -31706}, {-8481, -31651}, {-8688, -31595}, {-8895, -31538}, {-9101, -31479}, {-9307, -31419}, {-9512, -31357}, {-9717, -31294}, {-9922, -31230}, {-10126, -31164}, {-10330, -31097}, {-10533, -31029}, {-10736, -30959}, {-10938, -30888}, {-11140, -30816}, {-11342, -30743}, {-11543, -30668}, {-11743, -30592}, {-11943, -30514}, {-12142, -30435}, {-12341, -30355}, {-12540, -30274}, {-12738, -30191}, {-12935, -30107}, {-13132, -30022}, {-13328, -29935}, {-13524, -29847}, {-13719, -29758}, {-13913, -29668}, {-14107, -29576}, {-14300, -29483}, {-14493, -29389}, {-14685, -29293}, {-14876, -29197}, {-15067, -29099}, {-15257, -28999}, {-15447, -28899}, {-15636, -28797}, {-15824, -28694}, {-16011, -28590}, {-16198, -28485}, {-16384, -28378}, {-16569, -28270}, {-16754, -28161}, {-16938, -28051}, {-17121, -27939}, {-17304, -27827}, {-17485, -27713}, {-17666, -27598}, {-17847, -27482}, {-18026, -27364}, {-18205, -27246}, {-18383, -27126}, {-18560, -27005}, {-18736, -26883}, {-18912, -26760}, {-19087, -26635}, {-19261, -26510}, {-19434, -26383}, {-19606, -26255}, {-19777, -26127}, {-19948, -25997}, {-20118, -25865}, {-20286, -25733}, {-20454, -25600}, {-20622, -25466}, {-20788, -25330}, {-20953, -25193}, {-21118, -25056}, {-21281, -24917}, {-21444, -24777}, {-21605, -24636}, {-21766, -24494}, {-21926, -24351}, {-22085, -24207}, {-22243, -24062}, {-22400, -23916}, {-22556, -23769}, {-22711, -23621}, {-22865, -23472}, {-23018, -23322}, {-23170, -23170}, {-23322, -23018}, {-23472, -22865}, {-23621, -22711}, {-23769, -22556}, {-23916, -22400}, {-24062, -22243}, {-24207, -22085}, {-24351, -21926}, {-24494, -21766}, {-24636, -21605}, {-24777, -21444}, {-24917, -21281}, {-25056, -21118}, {-25193, -20953}, {-25330, -20788}, {-25466, -20622}, {-25600, -20454}, {-25733, -20286}, {-25865, -20118}, {-25997, -19948}, {-26127, -19777}, {-26255, -19606}, {-26383, -19434}, {-26510, -19261}, {-26635, -19087}, {-26760, -18912}, {-26883, -18736}, {-27005, -18560}, {-27126, -18383}, {-27246, -18205}, {-27364, -18026}, {-27482, -17847}, {-27598, -17666}, {-27713, -17485}, {-27827, -17304}, {-27939, -17121}, {-28051, -16938}, {-28161, -16754}, {-28270, -16569}, {-28378, -16384}, {-28485, -16198}, {-28590, -16011}, {-28694, -15824}, {-28797, -15636}, {-28899, -15447}, {-28999, -15257}, {-29099, -15067}, {-29197, -14876}, {-29293, -14685}, {-29389, -14493}, {-29483, -14300}, {-29576, -14107}, {-29668, -13913}, {-29758, -13719}, {-29847, -13524}, {-29935, -13328}, {-30022, -13132}, {-30107, -12935}, {-30191, -12738}, {-30274, -12540}, {-30355, -12341}, {-30435, -12142}, {-30514, -11943}, {-30592, -11743}, {-30668, -11543}, {-30743, -11342}, {-30816, -11140}, {-30888, -10938}, {-30959, -10736}, {-31029, -10533}, {-31097, -10330}, {-31164, -10126}, {-31230, -9922}, {-31294, -9717}, {-31357, -9512}, {-31419, -9307}, {-31479, -9101}, {-31538, -8895}, {-31595, -8688}, {-31651, -8481}, {-31706, -8274}, {-31760, -8066}, {-31812, -7858}, {-31863, -7650}, {-31912, -7441}, {-31960, -7232}, {-32007, -7022}, {-32052, -6813}, {-32096, -6603}, {-32138, -6393}, {-32180, -6182}, {-32219, -5971}, {-32258, -5760}, {-32295, -5549}, {-32330, -5338}, {-32365, -5126}, {-32397, -4914}, {-32429, -4702}, {-32459, -4490}, {-32488, -4277}, {-32515, -4064}, {-32541, -3851}, {-32565, -3638}, {-32588, -3425}, {-32610, -3212}, {-32631, -2998}, {-32649, -2785}, {-32667, -2571}, {-32683, -2357}, {-32698, -2143}, {-32711, -1929}, {-32723, -1715}, {-32734, -1501}, {-32743, -1286}, {-32750, -1072}, {-32757, -858}, {-32762, -643}, {-32765, -429}, {-32767, -214}, {-32767, 0}, {-32767, 214}, {-32765, 429}, {-32762, 643}, {-32757, 858}, {-32750, 1072}, {-32743, 1286}, {-32734, 1501}, {-32723, 1715}, {-32711, 1929}, {-32698, 2143}, {-32683, 2357}, {-32667, 2571}, {-32649, 2785}, {-32631, 2998}, {-32610, 3212}, {-32588, 3425}, {-32565, 3638}, {-32541, 3851}, {-32515, 4064}, {-32488, 4277}, {-32459, 4490}, {-32429, 4702}, {-32397, 4914}, {-32365, 5126}, {-32330, 5338}, {-32295, 5549}, {-32258, 5760}, {-32219, 5971}, {-32180, 6182}, {-32138, 6393}, {-32096, 6603}, {-32052, 6813}, {-32007, 7022}, {-31960, 7232}, {-31912, 7441}, {-31863, 7650}, {-31812, 7858}, {-31760, 8066}, {-31706, 8274}, {-31651, 8481}, {-31595, 8688}, {-31538, 8895}, {-31479, 9101}, {-31419, 9307}, {-31357, 9512}, {-31294, 9717}, {-31230, 9922}, {-31164, 10126}, {-31097, 10330}, {-31029, 10533}, {-30959, 10736}, {-30888, 10938}, {-30816, 11140}, {-30743, 11342}, {-30668, 11543}, {-30592, 11743}, {-30514, 11943}, {-30435, 12142}, {-30355, 12341}, {-30274, 12540}, {-30191, 12738}, {-30107, 12935}, {-30022, 13132}, {-29935, 13328}, {-29847, 13524}, {-29758, 13719}, {-29668, 13913}, {-29576, 14107}, {-29483, 14300}, {-29389, 14493}, {-29293, 14685}, {-29197, 14876}, {-29099, 15067}, {-28999, 15257}, {-28899, 15447}, {-28797, 15636}, {-28694, 15824}, {-28590, 16011}, {-28485, 16198}, {-28378, 16384}, {-28270, 16569}, {-28161, 16754}, {-28051, 16938}, {-27939, 17121}, {-27827, 17304}, {-27713, 17485}, {-27598, 17666}, {-27482, 17847}, {-27364, 18026}, {-27246, 18205}, {-27126, 18383}, {-27005, 18560}, {-26883, 18736}, {-26760, 18912}, {-26635, 19087}, {-26510, 19261}, {-26383, 19434}, {-26255, 19606}, {-26127, 19777}, {-25997, 19948}, {-25865, 20118}, {-25733, 20286}, {-25600, 20454}, {-25466, 20622}, {-25330, 20788}, {-25193, 20953}, {-25056, 21118}, {-24917, 21281}, {-24777, 21444}, {-24636, 21605}, {-24494, 21766}, {-24351, 21926}, {-24207, 22085}, {-24062, 22243}, {-23916, 22400}, {-23769, 22556}, {-23621, 22711}, {-23472, 22865}, {-23322, 23018}, {-23170, 23170}, {-23018, 23322}, {-22865, 23472}, {-22711, 23621}, {-22556, 23769}, {-22400, 23916}, {-22243, 24062}, {-22085, 24207}, {-21926, 24351}, {-21766, 24494}, {-21605, 24636}, {-21444, 24777}, {-21281, 24917}, {-21118, 25056}, {-20953, 25193}, {-20788, 25330}, {-20622, 25466}, {-20454, 25600}, {-20286, 25733}, {-20118, 25865}, {-19948, 25997}, {-19777, 26127}, {-19606, 26255}, {-19434, 26383}, {-19261, 26510}, {-19087, 26635}, {-18912, 26760}, {-18736, 26883}, {-18560, 27005}, {-18383, 27126}, {-18205, 27246}, {-18026, 27364}, {-17847, 27482}, {-17666, 27598}, {-17485, 27713}, {-17304, 27827}, {-17121, 27939}, {-16938, 28051}, {-16754, 28161}, {-16569, 28270}, {-16384, 28378}, {-16198, 28485}, {-16011, 28590}, {-15824, 28694}, {-15636, 28797}, {-15447, 28899}, {-15257, 28999}, {-15067, 29099}, {-14876, 29197}, {-14685, 29293}, {-14493, 29389}, {-14300, 29483}, {-14107, 29576}, {-13913, 29668}, {-13719, 29758}, {-13524, 29847}, {-13328, 29935}, {-13132, 30022}, {-12935, 30107}, {-12738, 30191}, {-12540, 30274}, {-12341, 30355}, {-12142, 30435}, {-11943, 30514}, {-11743, 30592}, {-11543, 30668}, {-11342, 30743}, {-11140, 30816}, {-10938, 30888}, {-10736, 30959}, {-10533, 31029}, {-10330, 31097}, {-10126, 31164}, {-9922, 31230}, {-9717, 31294}, {-9512, 31357}, {-9307, 31419}, {-9101, 31479}, {-8895, 31538}, {-8688, 31595}, {-8481, 31651}, {-8274, 31706}, {-8066, 31760}, {-7858, 31812}, {-7650, 31863}, {-7441, 31912}, {-7232, 31960}, {-7022, 32007}, {-6813, 32052}, {-6603, 32096}, {-6393, 32138}, {-6182, 32180}, {-5971, 32219}, {-5760, 32258}, {-5549, 32295}, {-5338, 32330}, {-5126, 32365}, {-4914, 32397}, {-4702, 32429}, {-4490, 32459}, {-4277, 32488}, {-4064, 32515}, {-3851, 32541}, {-3638, 32565}, {-3425, 32588}, {-3212, 32610}, {-2998, 32631}, {-2785, 32649}, {-2571, 32667}, {-2357, 32683}, {-2143, 32698}, {-1929, 32711}, {-1715, 32723}, {-1501, 32734}, {-1286, 32743}, {-1072, 32750}, {-858, 32757}, {-643, 32762}, {-429, 32765}, {-214, 32767}, {0, 32767}, {214, 32767}, {429, 32765}, {643, 32762}, {858, 32757}, {1072, 32750}, {1286, 32743}, {1501, 32734}, {1715, 32723}, {1929, 32711}, {2143, 32698}, {2357, 32683}, {2571, 32667}, {2785, 32649}, {2998, 32631}, {3212, 32610}, {3425, 32588}, {3638, 32565}, {3851, 32541}, {4064, 32515}, {4277, 32488}, {4490, 32459}, {4702, 32429}, {4914, 32397}, {5126, 32365}, {5338, 32330}, {5549, 32295}, {5760, 32258}, {5971, 32219}, {6182, 32180}, {6393, 32138}, {6603, 32096}, {6813, 32052}, {7022, 32007}, {7232, 31960}, {7441, 31912}, {7650, 31863}, {7858, 31812}, {8066, 31760}, {8274, 31706}, {8481, 31651}, {8688, 31595}, {8895, 31538}, {9101, 31479}, {9307, 31419}, {9512, 31357}, {9717, 31294}, {9922, 31230}, {10126, 31164}, {10330, 31097}, {10533, 31029}, {10736, 30959}, {10938, 30888}, {11140, 30816}, {11342, 30743}, {11543, 30668}, {11743, 30592}, {11943, 30514}, {12142, 30435}, {12341, 30355}, {12540, 30274}, {12738, 30191}, {12935, 30107}, {13132, 30022}, {13328, 29935}, {13524, 29847}, {13719, 29758}, {13913, 29668}, {14107, 29576}, {14300, 29483}, {14493, 29389}, {14685, 29293}, {14876, 29197}, {15067, 29099}, {15257, 28999}, {15447, 28899}, {15636, 28797}, {15824, 28694}, {16011, 28590}, {16198, 28485}, {16384, 28378}, {16569, 28270}, {16754, 28161}, {16938, 28051}, {17121, 27939}, {17304, 27827}, {17485, 27713}, {17666, 27598}, {17847, 27482}, {18026, 27364}, {18205, 27246}, {18383, 27126}, {18560, 27005}, {18736, 26883}, {18912, 26760}, {19087, 26635}, {19261, 26510}, {19434, 26383}, {19606, 26255}, {19777, 26127}, {19948, 25997}, {20118, 25865}, {20286, 25733}, {20454, 25600}, {20622, 25466}, {20788, 25330}, {20953, 25193}, {21118, 25056}, {21281, 24917}, {21444, 24777}, {21605, 24636}, {21766, 24494}, {21926, 24351}, {22085, 24207}, {22243, 24062}, {22400, 23916}, {22556, 23769}, {22711, 23621}, {22865, 23472}, {23018, 23322}, {23170, 23170}, {23322, 23018}, {23472, 22865}, {23621, 22711}, {23769, 22556}, {23916, 22400}, {24062, 22243}, {24207, 22085}, {24351, 21926}, {24494, 21766}, {24636, 21605}, {24777, 21444}, {24917, 21281}, {25056, 21118}, {25193, 20953}, {25330, 20788}, {25466, 20622}, {25600, 20454}, {25733, 20286}, {25865, 20118}, {25997, 19948}, {26127, 19777}, {26255, 19606}, {26383, 19434}, {26510, 19261}, {26635, 19087}, {26760, 18912}, {26883, 18736}, {27005, 18560}, {27126, 18383}, {27246, 18205}, {27364, 18026}, {27482, 17847}, {27598, 17666}, {27713, 17485}, {27827, 17304}, {27939, 17121}, {28051, 16938}, {28161, 16754}, {28270, 16569}, {28378, 16384}, {28485, 16198}, {28590, 16011}, {28694, 15824}, {28797, 15636}, {28899, 15447}, {28999, 15257}, {29099, 15067}, {29197, 14876}, {29293, 14685}, {29389, 14493}, {29483, 14300}, {29576, 14107}, {29668, 13913}, {29758, 13719}, {29847, 13524}, {29935, 13328}, {30022, 13132}, {30107, 12935}, {30191, 12738}, {30274, 12540}, {30355, 12341}, {30435, 12142}, {30514, 11943}, {30592, 11743}, {30668, 11543}, {30743, 11342}, {30816, 11140}, {30888, 10938}, {30959, 10736}, {31029, 10533}, {31097, 10330}, {31164, 10126}, {31230, 9922}, {31294, 9717}, {31357, 9512}, {31419, 9307}, {31479, 9101}, {31538, 8895}, {31595, 8688}, {31651, 8481}, {31706, 8274}, {31760, 8066}, {31812, 7858}, {31863, 7650}, {31912, 7441}, {31960, 7232}, {32007, 7022}, {32052, 6813}, {32096, 6603}, {32138, 6393}, {32180, 6182}, {32219, 5971}, {32258, 5760}, {32295, 5549}, {32330, 5338}, {32365, 5126}, {32397, 4914}, {32429, 4702}, {32459, 4490}, {32488, 4277}, {32515, 4064}, {32541, 3851}, {32565, 3638}, {32588, 3425}, {32610, 3212}, {32631, 2998}, {32649, 2785}, {32667, 2571}, {32683, 2357}, {32698, 2143}, {32711, 1929}, {32723, 1715}, {32734, 1501}, {32743, 1286}, {32750, 1072}, {32757, 858}, {32762, 643}, {32765, 429}, {32767, 214}, #endif }; #ifndef FFT_BITREV960 #define FFT_BITREV960 static const opus_int16 fft_bitrev960[960] = { 0, 192, 384, 576, 768, 64, 256, 448, 640, 832, 128, 320, 512, 704, 896, 16, 208, 400, 592, 784, 80, 272, 464, 656, 848, 144, 336, 528, 720, 912, 32, 224, 416, 608, 800, 96, 288, 480, 672, 864, 160, 352, 544, 736, 928, 48, 240, 432, 624, 816, 112, 304, 496, 688, 880, 176, 368, 560, 752, 944, 4, 196, 388, 580, 772, 68, 260, 452, 644, 836, 132, 324, 516, 708, 900, 20, 212, 404, 596, 788, 84, 276, 468, 660, 852, 148, 340, 532, 724, 916, 36, 228, 420, 612, 804, 100, 292, 484, 676, 868, 164, 356, 548, 740, 932, 52, 244, 436, 628, 820, 116, 308, 500, 692, 884, 180, 372, 564, 756, 948, 8, 200, 392, 584, 776, 72, 264, 456, 648, 840, 136, 328, 520, 712, 904, 24, 216, 408, 600, 792, 88, 280, 472, 664, 856, 152, 344, 536, 728, 920, 40, 232, 424, 616, 808, 104, 296, 488, 680, 872, 168, 360, 552, 744, 936, 56, 248, 440, 632, 824, 120, 312, 504, 696, 888, 184, 376, 568, 760, 952, 12, 204, 396, 588, 780, 76, 268, 460, 652, 844, 140, 332, 524, 716, 908, 28, 220, 412, 604, 796, 92, 284, 476, 668, 860, 156, 348, 540, 732, 924, 44, 236, 428, 620, 812, 108, 300, 492, 684, 876, 172, 364, 556, 748, 940, 60, 252, 444, 636, 828, 124, 316, 508, 700, 892, 188, 380, 572, 764, 956, 1, 193, 385, 577, 769, 65, 257, 449, 641, 833, 129, 321, 513, 705, 897, 17, 209, 401, 593, 785, 81, 273, 465, 657, 849, 145, 337, 529, 721, 913, 33, 225, 417, 609, 801, 97, 289, 481, 673, 865, 161, 353, 545, 737, 929, 49, 241, 433, 625, 817, 113, 305, 497, 689, 881, 177, 369, 561, 753, 945, 5, 197, 389, 581, 773, 69, 261, 453, 645, 837, 133, 325, 517, 709, 901, 21, 213, 405, 597, 789, 85, 277, 469, 661, 853, 149, 341, 533, 725, 917, 37, 229, 421, 613, 805, 101, 293, 485, 677, 869, 165, 357, 549, 741, 933, 53, 245, 437, 629, 821, 117, 309, 501, 693, 885, 181, 373, 565, 757, 949, 9, 201, 393, 585, 777, 73, 265, 457, 649, 841, 137, 329, 521, 713, 905, 25, 217, 409, 601, 793, 89, 281, 473, 665, 857, 153, 345, 537, 729, 921, 41, 233, 425, 617, 809, 105, 297, 489, 681, 873, 169, 361, 553, 745, 937, 57, 249, 441, 633, 825, 121, 313, 505, 697, 889, 185, 377, 569, 761, 953, 13, 205, 397, 589, 781, 77, 269, 461, 653, 845, 141, 333, 525, 717, 909, 29, 221, 413, 605, 797, 93, 285, 477, 669, 861, 157, 349, 541, 733, 925, 45, 237, 429, 621, 813, 109, 301, 493, 685, 877, 173, 365, 557, 749, 941, 61, 253, 445, 637, 829, 125, 317, 509, 701, 893, 189, 381, 573, 765, 957, 2, 194, 386, 578, 770, 66, 258, 450, 642, 834, 130, 322, 514, 706, 898, 18, 210, 402, 594, 786, 82, 274, 466, 658, 850, 146, 338, 530, 722, 914, 34, 226, 418, 610, 802, 98, 290, 482, 674, 866, 162, 354, 546, 738, 930, 50, 242, 434, 626, 818, 114, 306, 498, 690, 882, 178, 370, 562, 754, 946, 6, 198, 390, 582, 774, 70, 262, 454, 646, 838, 134, 326, 518, 710, 902, 22, 214, 406, 598, 790, 86, 278, 470, 662, 854, 150, 342, 534, 726, 918, 38, 230, 422, 614, 806, 102, 294, 486, 678, 870, 166, 358, 550, 742, 934, 54, 246, 438, 630, 822, 118, 310, 502, 694, 886, 182, 374, 566, 758, 950, 10, 202, 394, 586, 778, 74, 266, 458, 650, 842, 138, 330, 522, 714, 906, 26, 218, 410, 602, 794, 90, 282, 474, 666, 858, 154, 346, 538, 730, 922, 42, 234, 426, 618, 810, 106, 298, 490, 682, 874, 170, 362, 554, 746, 938, 58, 250, 442, 634, 826, 122, 314, 506, 698, 890, 186, 378, 570, 762, 954, 14, 206, 398, 590, 782, 78, 270, 462, 654, 846, 142, 334, 526, 718, 910, 30, 222, 414, 606, 798, 94, 286, 478, 670, 862, 158, 350, 542, 734, 926, 46, 238, 430, 622, 814, 110, 302, 494, 686, 878, 174, 366, 558, 750, 942, 62, 254, 446, 638, 830, 126, 318, 510, 702, 894, 190, 382, 574, 766, 958, 3, 195, 387, 579, 771, 67, 259, 451, 643, 835, 131, 323, 515, 707, 899, 19, 211, 403, 595, 787, 83, 275, 467, 659, 851, 147, 339, 531, 723, 915, 35, 227, 419, 611, 803, 99, 291, 483, 675, 867, 163, 355, 547, 739, 931, 51, 243, 435, 627, 819, 115, 307, 499, 691, 883, 179, 371, 563, 755, 947, 7, 199, 391, 583, 775, 71, 263, 455, 647, 839, 135, 327, 519, 711, 903, 23, 215, 407, 599, 791, 87, 279, 471, 663, 855, 151, 343, 535, 727, 919, 39, 231, 423, 615, 807, 103, 295, 487, 679, 871, 167, 359, 551, 743, 935, 55, 247, 439, 631, 823, 119, 311, 503, 695, 887, 183, 375, 567, 759, 951, 11, 203, 395, 587, 779, 75, 267, 459, 651, 843, 139, 331, 523, 715, 907, 27, 219, 411, 603, 795, 91, 283, 475, 667, 859, 155, 347, 539, 731, 923, 43, 235, 427, 619, 811, 107, 299, 491, 683, 875, 171, 363, 555, 747, 939, 59, 251, 443, 635, 827, 123, 315, 507, 699, 891, 187, 379, 571, 763, 955, 15, 207, 399, 591, 783, 79, 271, 463, 655, 847, 143, 335, 527, 719, 911, 31, 223, 415, 607, 799, 95, 287, 479, 671, 863, 159, 351, 543, 735, 927, 47, 239, 431, 623, 815, 111, 303, 495, 687, 879, 175, 367, 559, 751, 943, 63, 255, 447, 639, 831, 127, 319, 511, 703, 895, 191, 383, 575, 767, 959, }; #endif #ifndef FFT_BITREV480 #define FFT_BITREV480 static const opus_int16 fft_bitrev480[480] = { 0, 96, 192, 288, 384, 32, 128, 224, 320, 416, 64, 160, 256, 352, 448, 8, 104, 200, 296, 392, 40, 136, 232, 328, 424, 72, 168, 264, 360, 456, 16, 112, 208, 304, 400, 48, 144, 240, 336, 432, 80, 176, 272, 368, 464, 24, 120, 216, 312, 408, 56, 152, 248, 344, 440, 88, 184, 280, 376, 472, 4, 100, 196, 292, 388, 36, 132, 228, 324, 420, 68, 164, 260, 356, 452, 12, 108, 204, 300, 396, 44, 140, 236, 332, 428, 76, 172, 268, 364, 460, 20, 116, 212, 308, 404, 52, 148, 244, 340, 436, 84, 180, 276, 372, 468, 28, 124, 220, 316, 412, 60, 156, 252, 348, 444, 92, 188, 284, 380, 476, 1, 97, 193, 289, 385, 33, 129, 225, 321, 417, 65, 161, 257, 353, 449, 9, 105, 201, 297, 393, 41, 137, 233, 329, 425, 73, 169, 265, 361, 457, 17, 113, 209, 305, 401, 49, 145, 241, 337, 433, 81, 177, 273, 369, 465, 25, 121, 217, 313, 409, 57, 153, 249, 345, 441, 89, 185, 281, 377, 473, 5, 101, 197, 293, 389, 37, 133, 229, 325, 421, 69, 165, 261, 357, 453, 13, 109, 205, 301, 397, 45, 141, 237, 333, 429, 77, 173, 269, 365, 461, 21, 117, 213, 309, 405, 53, 149, 245, 341, 437, 85, 181, 277, 373, 469, 29, 125, 221, 317, 413, 61, 157, 253, 349, 445, 93, 189, 285, 381, 477, 2, 98, 194, 290, 386, 34, 130, 226, 322, 418, 66, 162, 258, 354, 450, 10, 106, 202, 298, 394, 42, 138, 234, 330, 426, 74, 170, 266, 362, 458, 18, 114, 210, 306, 402, 50, 146, 242, 338, 434, 82, 178, 274, 370, 466, 26, 122, 218, 314, 410, 58, 154, 250, 346, 442, 90, 186, 282, 378, 474, 6, 102, 198, 294, 390, 38, 134, 230, 326, 422, 70, 166, 262, 358, 454, 14, 110, 206, 302, 398, 46, 142, 238, 334, 430, 78, 174, 270, 366, 462, 22, 118, 214, 310, 406, 54, 150, 246, 342, 438, 86, 182, 278, 374, 470, 30, 126, 222, 318, 414, 62, 158, 254, 350, 446, 94, 190, 286, 382, 478, 3, 99, 195, 291, 387, 35, 131, 227, 323, 419, 67, 163, 259, 355, 451, 11, 107, 203, 299, 395, 43, 139, 235, 331, 427, 75, 171, 267, 363, 459, 19, 115, 211, 307, 403, 51, 147, 243, 339, 435, 83, 179, 275, 371, 467, 27, 123, 219, 315, 411, 59, 155, 251, 347, 443, 91, 187, 283, 379, 475, 7, 103, 199, 295, 391, 39, 135, 231, 327, 423, 71, 167, 263, 359, 455, 15, 111, 207, 303, 399, 47, 143, 239, 335, 431, 79, 175, 271, 367, 463, 23, 119, 215, 311, 407, 55, 151, 247, 343, 439, 87, 183, 279, 375, 471, 31, 127, 223, 319, 415, 63, 159, 255, 351, 447, 95, 191, 287, 383, 479, }; #endif #ifndef FFT_BITREV240 #define FFT_BITREV240 static const opus_int16 fft_bitrev240[240] = { 0, 48, 96, 144, 192, 16, 64, 112, 160, 208, 32, 80, 128, 176, 224, 4, 52, 100, 148, 196, 20, 68, 116, 164, 212, 36, 84, 132, 180, 228, 8, 56, 104, 152, 200, 24, 72, 120, 168, 216, 40, 88, 136, 184, 232, 12, 60, 108, 156, 204, 28, 76, 124, 172, 220, 44, 92, 140, 188, 236, 1, 49, 97, 145, 193, 17, 65, 113, 161, 209, 33, 81, 129, 177, 225, 5, 53, 101, 149, 197, 21, 69, 117, 165, 213, 37, 85, 133, 181, 229, 9, 57, 105, 153, 201, 25, 73, 121, 169, 217, 41, 89, 137, 185, 233, 13, 61, 109, 157, 205, 29, 77, 125, 173, 221, 45, 93, 141, 189, 237, 2, 50, 98, 146, 194, 18, 66, 114, 162, 210, 34, 82, 130, 178, 226, 6, 54, 102, 150, 198, 22, 70, 118, 166, 214, 38, 86, 134, 182, 230, 10, 58, 106, 154, 202, 26, 74, 122, 170, 218, 42, 90, 138, 186, 234, 14, 62, 110, 158, 206, 30, 78, 126, 174, 222, 46, 94, 142, 190, 238, 3, 51, 99, 147, 195, 19, 67, 115, 163, 211, 35, 83, 131, 179, 227, 7, 55, 103, 151, 199, 23, 71, 119, 167, 215, 39, 87, 135, 183, 231, 11, 59, 107, 155, 203, 27, 75, 123, 171, 219, 43, 91, 139, 187, 235, 15, 63, 111, 159, 207, 31, 79, 127, 175, 223, 47, 95, 143, 191, 239, }; #endif #ifndef FFT_BITREV120 #define FFT_BITREV120 static const opus_int16 fft_bitrev120[120] = { 0, 24, 48, 72, 96, 8, 32, 56, 80, 104, 16, 40, 64, 88, 112, 4, 28, 52, 76, 100, 12, 36, 60, 84, 108, 20, 44, 68, 92, 116, 1, 25, 49, 73, 97, 9, 33, 57, 81, 105, 17, 41, 65, 89, 113, 5, 29, 53, 77, 101, 13, 37, 61, 85, 109, 21, 45, 69, 93, 117, 2, 26, 50, 74, 98, 10, 34, 58, 82, 106, 18, 42, 66, 90, 114, 6, 30, 54, 78, 102, 14, 38, 62, 86, 110, 22, 46, 70, 94, 118, 3, 27, 51, 75, 99, 11, 35, 59, 83, 107, 19, 43, 67, 91, 115, 7, 31, 55, 79, 103, 15, 39, 63, 87, 111, 23, 47, 71, 95, 119, }; #endif #ifndef FFT_STATE96000_1920_0 #define FFT_STATE96000_1920_0 static const kiss_fft_state fft_state96000_1920_0 = { 960, /* nfft */ #ifdef ENABLE_QEXT 572662306, /* scale */ #else 17476, /* scale */ #endif 9, /* scale_shift */ -1, /* shift */ {5, 192, 3, 64, 4, 16, 4, 4, 4, 1, 0, 0, 0, 0, 0, 0, }, /* factors */ fft_bitrev960, /* bitrev */ fft_twiddles96000_1920, /* bitrev */ #ifdef OVERRIDE_FFT (arch_fft_state *)&cfg_arch_960, #else NULL, #endif }; #endif #ifndef FFT_STATE96000_1920_1 #define FFT_STATE96000_1920_1 static const kiss_fft_state fft_state96000_1920_1 = { 480, /* nfft */ #ifdef ENABLE_QEXT 572662306, /* scale */ #else 17476, /* scale */ #endif 8, /* scale_shift */ 1, /* shift */ {5, 96, 3, 32, 4, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, }, /* factors */ fft_bitrev480, /* bitrev */ fft_twiddles96000_1920, /* bitrev */ #ifdef OVERRIDE_FFT (arch_fft_state *)&cfg_arch_480, #else NULL, #endif }; #endif #ifndef FFT_STATE96000_1920_2 #define FFT_STATE96000_1920_2 static const kiss_fft_state fft_state96000_1920_2 = { 240, /* nfft */ #ifdef ENABLE_QEXT 572662306, /* scale */ #else 17476, /* scale */ #endif 7, /* scale_shift */ 2, /* shift */ {5, 48, 3, 16, 4, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ fft_bitrev240, /* bitrev */ fft_twiddles96000_1920, /* bitrev */ #ifdef OVERRIDE_FFT (arch_fft_state *)&cfg_arch_240, #else NULL, #endif }; #endif #ifndef FFT_STATE96000_1920_3 #define FFT_STATE96000_1920_3 static const kiss_fft_state fft_state96000_1920_3 = { 120, /* nfft */ #ifdef ENABLE_QEXT 572662306, /* scale */ #else 17476, /* scale */ #endif 6, /* scale_shift */ 3, /* shift */ {5, 24, 3, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ fft_bitrev120, /* bitrev */ fft_twiddles96000_1920, /* bitrev */ #ifdef OVERRIDE_FFT (arch_fft_state *)&cfg_arch_120, #else NULL, #endif }; #endif #endif #ifndef MDCT_TWIDDLES1920 #define MDCT_TWIDDLES1920 static const celt_coef mdct_twiddles1920[3600] = { #ifdef ENABLE_QEXT 2147483603, 2147480010, 2147470667, 2147455575, 2147434733, 2147408142, 2147375802, 2147337712, 2147293874, 2147244286, 2147188950, 2147127865, 2147061032, 2146988450, 2146910120, 2146826042, 2146736216, 2146640643, 2146539323, 2146432256, 2146319442, 2146200882, 2146076576, 2145946524, 2145810727, 2145669185, 2145521898, 2145368867, 2145210092, 2145045574, 2144875313, 2144699310, 2144517564, 2144330077, 2144136849, 2143937880, 2143733172, 2143522724, 2143306537, 2143084612, 2142856949, 2142623549, 2142384413, 2142139541, 2141888933, 2141632592, 2141370516, 2141102708, 2140829167, 2140549894, 2140264890, 2139974157, 2139677694, 2139375502, 2139067583, 2138753936, 2138434564, 2138109466, 2137778644, 2137442099, 2137099831, 2136751841, 2136398131, 2136038701, 2135673552, 2135302685, 2134926101, 2134543801, 2134155787, 2133762059, 2133362618, 2132957466, 2132546603, 2132130030, 2131707749, 2131279761, 2130846067, 2130406668, 2129961565, 2129510759, 2129054253, 2128592046, 2128124140, 2127650537, 2127171237, 2126686242, 2126195553, 2125699172, 2125197100, 2124689338, 2124175888, 2123656750, 2123131927, 2122601420, 2122065230, 2121523358, 2120975806, 2120422576, 2119863669, 2119299086, 2118728830, 2118152901, 2117571301, 2116984031, 2116391094, 2115792491, 2115188222, 2114578291, 2113962699, 2113341447, 2112714537, 2112081970, 2111443749, 2110799875, 2110150349, 2109495174, 2108834352, 2108167883, 2107495770, 2106818015, 2106134619, 2105445584, 2104750913, 2104050606, 2103344666, 2102633095, 2101915895, 2101193067, 2100464614, 2099730537, 2098990838, 2098245520, 2097494584, 2096738032, 2095975867, 2095208091, 2094434705, 2093655711, 2092871112, 2092080910, 2091285107, 2090483704, 2089676705, 2088864111, 2088045925, 2087222148, 2086392783, 2085557833, 2084717298, 2083871182, 2083019487, 2082162216, 2081299369, 2080430950, 2079556962, 2078677406, 2077792284, 2076901600, 2076005355, 2075103552, 2074196194, 2073283282, 2072364819, 2071440808, 2070511251, 2069576151, 2068635510, 2067689330, 2066737615, 2065780367, 2064817587, 2063849280, 2062875447, 2061896091, 2060911215, 2059920821, 2058924912, 2057923491, 2056916560, 2055904122, 2054886179, 2053862736, 2052833793, 2051799354, 2050759422, 2049714000, 2048663090, 2047606695, 2046544818, 2045477461, 2044404629, 2043326323, 2042242546, 2041153301, 2040058592, 2038958421, 2037852791, 2036741705, 2035625166, 2034503177, 2033375742, 2032242862, 2031104541, 2029960782, 2028811589, 2027656964, 2026496910, 2025331431, 2024160529, 2022984208, 2021802471, 2020615320, 2019422760, 2018224794, 2017021424, 2015812654, 2014598487, 2013378926, 2012153975, 2010923636, 2009687914, 2008446811, 2007200332, 2005948478, 2004691253, 2003428662, 2002160707, 2000887391, 1999608718, 1998324692, 1997035316, 1995740593, 1994440527, 1993135121, 1991824379, 1990508304, 1989186900, 1987860170, 1986528118, 1985190748, 1983848063, 1982500066, 1981146762, 1979788153, 1978424244, 1977055038, 1975680539, 1974300751, 1972915676, 1971525320, 1970129685, 1968728776, 1967322596, 1965911148, 1964494438, 1963072467, 1961645241, 1960212764, 1958775038, 1957332067, 1955883857, 1954430410, 1952971730, 1951507822, 1950038689, 1948564335, 1947084764, 1945599980, 1944109987, 1942614790, 1941114391, 1939608795, 1938098007, 1936582029, 1935060867, 1933534524, 1932003004, 1930466312, 1928924452, 1927377427, 1925825242, 1924267900, 1922705408, 1921137767, 1919564983, 1917987059, 1916404001, 1914815812, 1913222496, 1911624058, 1910020502, 1908411833, 1906798054, 1905179170, 1903555185, 1901926103, 1900291930, 1898652669, 1897008325, 1895358902, 1893704404, 1892044837, 1890380204, 1888710510, 1887035759, 1885355956, 1883671105, 1881981211, 1880286279, 1878586312, 1876881316, 1875171295, 1873456254, 1871736196, 1870011128, 1868281053, 1866545976, 1864805901, 1863060834, 1861310779, 1859555741, 1857795724, 1856030734, 1854260774, 1852485850, 1850705966, 1848921127, 1847131338, 1845336604, 1843536929, 1841732318, 1839922777, 1838108310, 1836288921, 1834464616, 1832635400, 1830801277, 1828962253, 1827118332, 1825269519, 1823415819, 1821557238, 1819693779, 1817825449, 1815952252, 1814074193, 1812191278, 1810303510, 1808410896, 1806513440, 1804611147, 1802704023, 1800792073, 1798875302, 1796953714, 1795027315, 1793096111, 1791160105, 1789219305, 1787273714, 1785323338, 1783368182, 1781408251, 1779443552, 1777474088, 1775499865, 1773520888, 1771537164, 1769548696, 1767555491, 1765557554, 1763554889, 1761547504, 1759535401, 1757518588, 1755497070, 1753470852, 1751439939, 1749404337, 1747364051, 1745319087, 1743269451, 1741215147, 1739156181, 1737092559, 1735024287, 1732951369, 1730873811, 1728791620, 1726704800, 1724613357, 1722517297, 1720416625, 1718311347, 1716201468, 1714086995, 1711967933, 1709844287, 1707716063, 1705583268, 1703445906, 1701303983, 1699157505, 1697006479, 1694850909, 1692690801, 1690526161, 1688356996, 1686183310, 1684005110, 1681822401, 1679635189, 1677443481, 1675247281, 1673046596, 1670841433, 1668631795, 1666417691, 1664199124, 1661976103, 1659748631, 1657516716, 1655280364, 1653039579, 1650794369, 1648544739, 1646290696, 1644032245, 1641769393, 1639502145, 1637230507, 1634954486, 1632674088, 1630389319, 1628100184, 1625806691, 1623508845, 1621206653, 1618900119, 1616589252, 1614274057, 1611954539, 1609630706, 1607302564, 1604970118, 1602633375, 1600292342, 1597947024, 1595597428, 1593243560, 1590885426, 1588523033, 1586156387, 1583785495, 1581410362, 1579030995, 1576647401, 1574259586, 1571867556, 1569471317, 1567070877, 1564666241, 1562257416, 1559844408, 1557427224, 1555005871, 1552580354, 1550150681, 1547716857, 1545278889, 1542836785, 1540390550, 1537940190, 1535485713, 1533027126, 1530564434, 1528097644, 1525626762, 1523151797, 1520672753, 1518189638, 1515702459, 1513211221, 1510715932, 1508216599, 1505713227, 1503205824, 1500694397, 1498178952, 1495659496, 1493136035, 1490608577, 1488077129, 1485541696, 1483002286, 1480458905, 1477911561, 1475360260, 1472805009, 1470245815, 1467682684, 1465115624, 1462544642, 1459969744, 1457390937, 1454808228, 1452221624, 1449631133, 1447036760, 1444438513, 1441836399, 1439230424, 1436620597, 1434006923, 1431389409, 1428768064, 1426142893, 1423513904, 1420881104, 1418244500, 1415604099, 1412959907, 1410311933, 1407660183, 1405004664, 1402345384, 1399682349, 1397015567, 1394345044, 1391670789, 1388992807, 1386311107, 1383625695, 1380936579, 1378243766, 1375547262, 1372847076, 1370143215, 1367435685, 1364724494, 1362009649, 1359291158, 1356569027, 1353843265, 1351113878, 1348380873, 1345644259, 1342904042, 1340160229, 1337412829, 1334661848, 1331907293, 1329149173, 1326387494, 1323622264, 1320853490, 1318081180, 1315305341, 1312525981, 1309743106, 1306956725, 1304166845, 1301373473, 1298576617, 1295776285, 1292972483, 1290165219, 1287354501, 1284540337, 1281722734, 1278901699, 1276077240, 1273249364, 1270418080, 1267583394, 1264745315, 1261903850, 1259059006, 1256210791, 1253359213, 1250504279, 1247645998, 1244784376, 1241919421, 1239051142, 1236179545, 1233304638, 1230426430, 1227544927, 1224660138, 1221772070, 1218880731, 1215986128, 1213088271, 1210187165, 1207282819, 1204375241, 1201464439, 1198550419, 1195633191, 1192712762, 1189789140, 1186862332, 1183932347, 1180999192, 1178062875, 1175123404, 1172180786, 1169235031, 1166286145, 1163334137, 1160379014, 1157420784, 1154459456, 1151495036, 1148527534, 1145556957, 1142583313, 1139606610, 1136626856, 1133644058, 1130658226, 1127669367, 1124677488, 1121682598, 1118684705, 1115683818, 1112679943, 1109673089, 1106663264, 1103650476, 1100634734, 1097616045, 1094594417, 1091569858, 1088542378, 1085511982, 1082478681, 1079442481, 1076403392, 1073361420, 1070316575, 1067268864, 1064218296, 1061164879, 1058108621, 1055049529, 1051987613, 1048922881, 1045855340, 1042784999, 1039711867, 1036635950, 1033557259, 1030475800, 1027391582, 1024304614, 1021214903, 1018122458, 1015027288, 1011929400, 1008828802, 1005725504, 1002619513, 999510838, 996399486, 993285468, 990168789, 987049460, 983927488, 980802882, 977675650, 974545800, 971413342, 968278282, 965140630, 962000395, 958857583, 955712205, 952564267, 949413780, 946260750, 943105188, 939947100, 936786495, 933623383, 930457771, 927289668, 924119082, 920946022, 917770497, 914592514, 911412082, 908229211, 905043908, 901856182, 898666041, 895473494, 892278550, 889081217, 885881504, 882679419, 879474970, 876268167, 873059018, 869847532, 866633717, 863417581, 860199134, 856978384, 853755339, 850530009, 847302402, 844072526, 840840390, 837606003, 834369373, 831130510, 827889422, 824646117, 821400604, 818152892, 814902989, 811650905, 808396648, 805140227, 801881649, 798620925, 795358063, 792093072, 788825960, 785556735, 782285408, 779011986, 775736479, 772458895, 769179242, 765897531, 762613768, 759327964, 756040127, 752750266, 749458390, 746164507, 742868626, 739570757, 736270907, 732969086, 729665303, 726359567, 723051885, 719742268, 716430724, 713117261, 709801890, 706484618, 703165455, 699844409, 696521489, 693196705, 689870064, 686541577, 683211252, 679879097, 676545122, 673209336, 669871748, 666532366, 663191199, 659848257, 656503549, 653157082, 649808867, 646458913, 643107227, 639753820, 636398700, 633041876, 629683357, 626323153, 622961271, 619597722, 616232514, 612865656, 609497157, 606127026, 602755273, 599381905, 596006934, 592630366, 589252212, 585872480, 582491179, 579108320, 575723909, 572337957, 568950473, 565561466, 562170945, 558778918, 555385395, 551990386, 548593898, 545195942, 541796526, 538395660, 534993352, 531589612, 528184449, 524777871, 521369889, 517960510, 514549745, 511137603, 507724092, 504309221, 500893000, 497475439, 494056545, 490636329, 487214799, 483791965, 480367835, 476942419, 473515727, 470087766, 466658548, 463228079, 459796371, 456363431, 452929270, 449493896, 446057319, 442619547, 439180590, 435740458, 432299159, 428856702, 425413098, 421968354, 418522481, 415075487, 411627382, 408178175, 404727875, 401276491, 397824033, 394370510, 390915931, 387460306, 384003643, 380545952, 377087242, 373627523, 370166803, 366705093, 363242400, 359778735, 356314107, 352848525, 349381998, 345914536, 342446148, 338976842, 335506630, 332035519, 328563519, 325090639, 321616889, 318142278, 314666815, 311190510, 307713372, 304235410, 300756633, 297277051, 293796673, 290315508, 286833567, 283350857, 279867389, 276383171, 272898214, 269412525, 265926116, 262438995, 258951170, 255462653, 251973452, 248483576, 244993035, 241501838, 238009994, 234517513, 231024404, 227530677, 224036341, 220541404, 217045878, 213549770, 210053090, 206555848, 203058053, 199559715, 196060842, 192561444, 189061531, 185561111, 182060195, 178558791, 175056909, 171554559, 168051749, 164548489, 161044789, 157540658, 154036105, 150531139, 147025770, 143520008, 140013862, 136507340, 133000453, 129493210, 125985621, 122477694, 118969439, 115460866, 111951983, 108442801, 104933329, 101423575, 97913550, 94403263, 90892723, 87381940, 83870923, 80359681, 76848224, 73336562, 69824703, 66312657, 62800433, 59288042, 55775491, 52262792, 48749952, 45236982, 41723891, 38210688, 34697383, 31183985, 27670503, 24156947, 20643327, 17129651, 13615930, 10102172, 6588387, 3074584, -439226, -3953036, -7466835, -10980614, -14494364, -18008075, -21521738, -25035343, -28548881, -32062342, -35575718, -39088999, -42602174, -46115236, -49628175, -53140980, -56653643, -60166155, -63678505, -67190685, -70702685, -74214496, -77726108, -81237512, -84748698, -88259658, -91770381, -95280859, -98791081, -102301039, -105810723, -109320124, -112829232, -116338038, -119846533, -123354707, -126862550, -130370054, -133877209, -137384005, -140890434, -144396485, -147902150, -151407418, -154912282, -158416730, -161920755, -165424346, -168927494, -172430190, -175932424, -179434187, -182935470, -186436263, -189936557, -193436342, -196935610, -200434350, -203932553, -207430211, -210927313, -214423851, -217919814, -221415194, -224909981, -228404166, -231897740, -235390693, -238883015, -242374698, -245865732, -249356108, -252845816, -256334847, -259823192, -263310841, -266797785, -270284015, -273769522, -277254295, -280738326, -284221606, -287704124, -291185873, -294666841, -298147021, -301626403, -305104977, -308582734, -312059665, -315535760, -319011011, -322485408, -325958941, -329431602, -332903380, -336374268, -339844254, -343313331, -346781489, -350248718, -353715010, -357180354, -360644742, -364108165, -367570613, -371032077, -374492547, -377952015, -381410471, -384867905, -388324310, -391779674, -395233990, -398687248, -402139438, -405590552, -409040579, -412489512, -415937340, -419384055, -422829646, -426274106, -429717424, -433159592, -436600601, -440040440, -443479101, -446916575, -450352853, -453787924, -457221781, -460654414, -464085813, -467515970, -470944875, -474372519, -477798893, -481223988, -484647795, -488070304, -491491506, -494911393, -498329954, -501747182, -505163066, -508577597, -511990767, -515402566, -518812985, -522222016, -525629648, -529035873, -532440681, -535844064, -539246012, -542646517, -546045568, -549443158, -552839277, -556233916, -559627065, -563018716, -566408860, -569797488, -573184589, -576570157, -579954180, -583336651, -586717560, -590096899, -593474657, -596850827, -600225398, -603598363, -606969711, -610339435, -613707524, -617073971, -620438765, -623801898, -627163361, -630523145, -633881241, -637237640, -640592333, -643945310, -647296564, -650646085, -653993863, -657339891, -660684159, -664026658, -667367379, -670706313, -674043452, -677378786, -680712307, -684044005, -687373872, -690701898, -694028075, -697352394, -700674846, -703995422, -707314114, -710630911, -713945806, -717258790, -720569853, -723878987, -727186183, -730491433, -733794726, -737096055, -740395410, -743692783, -746988165, -750281547, -753572921, -756862277, -760149606, -763434901, -766718151, -769999349, -773278485, -776555551, -779830538, -783103437, -786374239, -789642936, -792909519, -796173979, -799436307, -802696495, -805954534, -809210416, -812464130, -815715670, -818965026, -822212189, -825457150, -828699902, -831940435, -835178741, -838414810, -841648635, -844880207, -848109516, -851336555, -854561315, -857783787, -861003962, -864221832, -867437388, -870650622, -873861525, -877070088, -880276304, -883480162, -886681655, -889880774, -893077511, -896271856, -899463802, -902653340, -905840461, -909025157, -912207419, -915387239, -918564609, -921739519, -924911961, -928081927, -931249408, -934414396, -937576882, -940736858, -943894315, -947049246, -950201640, -953351491, -956498790, -959643527, -962785695, -965925286, -969062291, -972196701, -975328508, -978457704, -981584280, -984708228, -987829540, -990948208, -994064222, -997177575, -1000288258, -1003396263, -1006501581, -1009604205, -1012704126, -1015801336, -1018895826, -1021987588, -1025076613, -1028162895, -1031246424, -1034327191, -1037405190, -1040480411, -1043552847, -1046622488, -1049689328, -1052753357, -1055814567, -1058872951, -1061928500, -1064981206, -1068031060, -1071078055, -1074122183, -1077163435, -1080201802, -1083237278, -1086269854, -1089299521, -1092326272, -1095350099, -1098370993, -1101388946, -1104403951, -1107415998, -1110425081, -1113431191, -1116434320, -1119434460, -1122431603, -1125425740, -1128416865, -1131404968, -1134390043, -1137372080, -1140351072, -1143327011, -1146299889, -1149269698, -1152236431, -1155200078, -1158160632, -1161118086, -1164072431, -1167023660, -1169971764, -1172916735, -1175858567, -1178797250, -1181732777, -1184665141, -1187594332, -1190520344, -1193443169, -1196362799, -1199279225, -1202192441, -1205102438, -1208009209, -1210912745, -1213813040, -1216710085, -1219603872, -1222494394, -1225381643, -1228265611, -1231146291, -1234023675, -1236897754, -1239768523, -1242635972, -1245500094, -1248360882, -1251218327, -1254072422, -1256923160, -1259770533, -1262614533, -1265455153, -1268292384, -1271126220, -1273956653, -1276783675, -1279607279, -1282427457, -1285244201, -1288057504, -1290867359, -1293673758, -1296476693, -1299276157, -1302072143, -1304864643, -1307653649, -1310439154, -1313221151, -1315999631, -1318774589, -1321546016, -1324313904, -1327078247, -1329839037, -1332596266, -1335349928, -1338100015, -1340846519, -1343589433, -1346328751, -1349064463, -1351796564, -1354525046, -1357249901, -1359971122, -1362688702, -1365402634, -1368112911, -1370819524, -1373522468, -1376221734, -1378917315, -1381609205, -1384297396, -1386981880, -1389662652, -1392339702, -1395013025, -1397682613, -1400348459, -1403010556, -1405668897, -1408323474, -1410974281, -1413621310, -1416264555, -1418904007, -1421539661, -1424171509, -1426799544, -1429423759, -1432044147, -1434660701, -1437273414, -1439882279, -1442487289, -1445088437, -1447685717, -1450279120, -1452868640, -1455454271, -1458036005, -1460613835, -1463187755, -1465757757, -1468323835, -1470885982, -1473444191, -1475998456, -1478548768, -1481095122, -1483637511, -1486175927, -1488710365, -1491240816, -1493767276, -1496289736, -1498808190, -1501322631, -1503833053, -1506339448, -1508841811, -1511340134, -1513834411, -1516324634, -1518810798, -1521292896, -1523770921, -1526244866, -1528714725, -1531180491, -1533642158, -1536099718, -1538553166, -1541002495, -1543447698, -1545888769, -1548325701, -1550758488, -1553187123, -1555611600, -1558031911, -1560448052, -1562860014, -1565267793, -1567671380, -1570070771, -1572465958, -1574856935, -1577243696, -1579626234, -1582004542, -1584378616, -1586748447, -1589114030, -1591475359, -1593832427, -1596185227, -1598533754, -1600878002, -1603217963, -1605553632, -1607885003, -1610212069, -1612534823, -1614853261, -1617167375, -1619477159, -1621782608, -1624083714, -1626380473, -1628672877, -1630960921, -1633244598, -1635523902, -1637798828, -1640069368, -1642335518, -1644597271, -1646854620, -1649107561, -1651356086, -1653600190, -1655839867, -1658075111, -1660305916, -1662532275, -1664754184, -1666971635, -1669184624, -1671393143, -1673597188, -1675796752, -1677991829, -1680182414, -1682368500, -1684550083, -1686727155, -1688899711, -1691067746, -1693231253, -1695390227, -1697544662, -1699694551, -1701839891, -1703980674, -1706116895, -1708248548, -1710375628, -1712498128, -1714616044, -1716729369, -1718838098, -1720942225, -1723041744, -1725136651, -1727226938, -1729312602, -1731393635, -1733470033, -1735541790, -1737608901, -1739671359, -1741729160, -1743782298, -1745830767, -1747874561, -1749913677, -1751948107, -1753977847, -1756002891, -1758023233, -1760038869, -1762049792, -1764055998, -1766057481, -1768054236, -1770046258, -1772033540, -1774016078, -1775993866, -1777966900, -1779935173, -1781898681, -1783857419, -1785811380, -1787760560, -1789704954, -1791644556, -1793579362, -1795509366, -1797434562, -1799354946, -1801270513, -1803181257, -1805087174, -1806988258, -1808884503, -1810775906, -1812662462, -1814544164, -1816421007, -1818292988, -1820160101, -1822022340, -1823879702, -1825732180, -1827579771, -1829422468, -1831260267, -1833093164, -1834921153, -1836744229, -1838562388, -1840375624, -1842183933, -1843987310, -1845785751, -1847579249, -1849367801, -1851151401, -1852930046, -1854703729, -1856472447, -1858236195, -1859994968, -1861748761, -1863497569, -1865241388, -1866980214, -1868714041, -1870442864, -1872166681, -1873885484, -1875599271, -1877308036, -1879011776, -1880710484, -1882404157, -1884092791, -1885776380, -1887454920, -1889128407, -1890796837, -1892460204, -1894118504, -1895771734, -1897419887, -1899062961, -1900700951, -1902333851, -1903961659, -1905584369, -1907201977, -1908814479, -1910421871, -1912024148, -1913621306, -1915213340, -1916800247, -1918382022, -1919958661, -1921530159, -1923096514, -1924657719, -1926213771, -1927764667, -1929310401, -1930850970, -1932386369, -1933916595, -1935441643, -1936961510, -1938476190, -1939985681, -1941489978, -1942989077, -1944482974, -1945971664, -1947455145, -1948933412, -1950406461, -1951874289, -1953336890, -1954794262, -1956246401, -1957693301, -1959134961, -1960571375, -1962002540, -1963428453, -1964849109, -1966264504, -1967674635, -1969079498, -1970479089, -1971873404, -1973262440, -1974646194, -1976024660, -1977397836, -1978765718, -1980128302, -1981485585, -1982837563, -1984184232, -1985525589, -1986861630, -1988192351, -1989517750, -1990837822, -1992152564, -1993461973, -1994766044, -1996064775, -1997358161, -1998646200, -1999928888, -2001206222, -2002478198, -2003744813, -2005006063, -2006261945, -2007512455, -2008757591, -2009997349, -2011231726, -2012460718, -2013684322, -2014902534, -2016115352, -2017322773, -2018524792, -2019721407, -2020912615, -2022098413, -2023278796, -2024453763, -2025623309, -2026787432, -2027946129, -2029099397, -2030247232, -2031389631, -2032526592, -2033658111, -2034784185, -2035904812, -2037019988, -2038129710, -2039233976, -2040332782, -2041426125, -2042514003, -2043596412, -2044673350, -2045744814, -2046810801, -2047871308, -2048926332, -2049975870, -2051019920, -2052058479, -2053091544, -2054119112, -2055141181, -2056157747, -2057168809, -2058174363, -2059174406, -2060168936, -2061157951, -2062141448, -2063119423, -2064091875, -2065058800, -2066020197, -2066976063, -2067926394, -2068871190, -2069810446, -2070744160, -2071672331, -2072594955, -2073512030, -2074423554, -2075329524, -2076229937, -2077124792, -2078014086, -2078897817, -2079775981, -2080648577, -2081515603, -2082377056, -2083232934, -2084083234, -2084927955, -2085767094, -2086600648, -2087428616, -2088250996, -2089067784, -2089878979, -2090684580, -2091484582, -2092278986, -2093067787, -2093850985, -2094628577, -2095400561, -2096166935, -2096927697, -2097682844, -2098432376, -2099176290, -2099914583, -2100647254, -2101374302, -2102095723, -2102811516, -2103521679, -2104226211, -2104925109, -2105618372, -2106305997, -2106987983, -2107664327, -2108335029, -2109000087, -2109659498, -2110313260, -2110961373, -2111603834, -2112240642, -2112871795, -2113497290, -2114117128, -2114731305, -2115339820, -2115942673, -2116539860, -2117131380, -2117717232, -2118297415, -2118871926, -2119440764, -2120003928, -2120561416, -2121113227, -2121659358, -2122199810, -2122734579, -2123263666, -2123787068, -2124304784, -2124816812, -2125323152, -2125823801, -2126318759, -2126808025, -2127291596, -2127769472, -2128241651, -2128708132, -2129168914, -2129623995, -2130073375, -2130517052, -2130955025, -2131387293, -2131813854, -2132234708, -2132649854, -2133059289, -2133463014, -2133861027, -2134253326, -2134639912, -2135020783, -2135395937, -2135765375, -2136129094, -2136487095, -2136839375, -2137185934, -2137526772, -2137861886, -2138191277, -2138514944, -2138832885, -2139145099, -2139451587, -2139752346, -2140047377, -2140336678, -2140620249, -2140898089, -2141170197, -2141436573, -2141697215, -2141952123, -2142201296, -2142444735, -2142682437, -2142914403, -2143140631, -2143361122, -2143575874, -2143784887, -2143988161, -2144185694, -2144377487, -2144563539, -2144743849, -2144918417, -2145087242, -2145250325, -2145407663, -2145559258, -2145705109, -2145845215, -2145979576, -2146108191, -2146231061, -2146348185, -2146459562, -2146565192, -2146665076, -2146759212, -2146847600, -2146930241, -2147007134, -2147078279, -2147143675, -2147203323, -2147257222, -2147305372, -2147347773, -2147384426, -2147415329, -2147440482, -2147459887, -2147473542, -2147481447, 2147483468, 2147469095, 2147431723, 2147371355, 2147287990, 2147181629, 2147052273, 2146899924, 2146724584, 2146526254, 2146304937, 2146060634, 2145793349, 2145503083, 2145189842, 2144853627, 2144494442, 2144112292, 2143707180, 2143279110, 2142828088, 2142354118, 2141857204, 2141337354, 2140794571, 2140228862, 2139640233, 2139028690, 2138394240, 2137736889, 2137056645, 2136353515, 2135627506, 2134878626, 2134106884, 2133312286, 2132494843, 2131654563, 2130791454, 2129905526, 2128996788, 2128065251, 2127110924, 2126133817, 2125133941, 2124111307, 2123065925, 2121997806, 2120906963, 2119793407, 2118657149, 2117498202, 2116316578, 2115112291, 2113885352, 2112635775, 2111363574, 2110068761, 2108751352, 2107411359, 2106048798, 2104663683, 2103256028, 2101825849, 2100373162, 2098897981, 2097400322, 2095880202, 2094337637, 2092772643, 2091185237, 2089575437, 2087943258, 2086288720, 2084611839, 2082912633, 2081191122, 2079447322, 2077681253, 2075892934, 2074082383, 2072249621, 2070394667, 2068517540, 2066618262, 2064696851, 2062753329, 2060787717, 2058800036, 2056790306, 2054758550, 2052704789, 2050629045, 2048531340, 2046411698, 2044270140, 2042106689, 2039921369, 2037714204, 2035485216, 2033234429, 2030961869, 2028667558, 2026351522, 2024013785, 2021654373, 2019273310, 2016870623, 2014446336, 2012000477, 2009533071, 2007044144, 2004533723, 2002001835, 1999448508, 1996873768, 1994277643, 1991660161, 1989021350, 1986361238, 1983679853, 1980977226, 1978253383, 1975508355, 1972742171, 1969954860, 1967146453, 1964316979, 1961466469, 1958594953, 1955702462, 1952789027, 1949854680, 1946899451, 1943923372, 1940926475, 1937908793, 1934870357, 1931811201, 1928731356, 1925630856, 1922509734, 1919368023, 1916205758, 1913022972, 1909819698, 1906595972, 1903351828, 1900087301, 1896802425, 1893497236, 1890171769, 1886826060, 1883460144, 1880074058, 1876667838, 1873241521, 1869795142, 1866328740, 1862842350, 1859336011, 1855809760, 1852263635, 1848697674, 1845111914, 1841506395, 1837881155, 1834236233, 1830571667, 1826887497, 1823183763, 1819460504, 1815717761, 1811955572, 1808173978, 1804373021, 1800552740, 1796713177, 1792854372, 1788976368, 1785079205, 1781162925, 1777227570, 1773273182, 1769299805, 1765307479, 1761296249, 1757266156, 1753217244, 1749149557, 1745063138, 1740958031, 1736834279, 1732691928, 1728531020, 1724351602, 1720153717, 1715937410, 1711702727, 1707449714, 1703178415, 1698888876, 1694581143, 1690255263, 1685911282, 1681549245, 1677169201, 1672771196, 1668355276, 1663921490, 1659469885, 1655000508, 1650513407, 1646008631, 1641486227, 1636946244, 1632388731, 1627813736, 1623221309, 1618611498, 1613984353, 1609339924, 1604678260, 1599999411, 1595303428, 1590590360, 1585860258, 1581113173, 1576349155, 1571568256, 1566770527, 1561956018, 1557124783, 1552276872, 1547412337, 1542531231, 1537633606, 1532719513, 1527789007, 1522842139, 1517878963, 1512899531, 1507903898, 1502892116, 1497864239, 1492820322, 1487760417, 1482684580, 1477592864, 1472485325, 1467362016, 1462222994, 1457068312, 1451898025, 1446712191, 1441510863, 1436294098, 1431061951, 1425814478, 1420551737, 1415273782, 1409980671, 1404672460, 1399349206, 1394010966, 1388657798, 1383289758, 1377906904, 1372509294, 1367096986, 1361670037, 1356228505, 1350772450, 1345301929, 1339817000, 1334317724, 1328804158, 1323276361, 1317734393, 1312178313, 1306608181, 1301024057, 1295425999, 1289814068, 1284188325, 1278548828, 1272895640, 1267228820, 1261548429, 1255854528, 1250147177, 1244426439, 1238692373, 1232945043, 1227184508, 1221410831, 1215624074, 1209824299, 1204011567, 1198185941, 1192347484, 1186496258, 1180632325, 1174755748, 1168866591, 1162964917, 1157050787, 1151124267, 1145185419, 1139234307, 1133270995, 1127295547, 1121308026, 1115308496, 1109297023, 1103273670, 1097238502, 1091191583, 1085132978, 1079062753, 1072980972, 1066887699, 1060783002, 1054666944, 1048539592, 1042401010, 1036251266, 1030090423, 1023918550, 1017735711, 1011541973, 1005337402, 999122065, 992896028, 986659358, 980412122, 974154386, 967886217, 961607684, 955318852, 949019790, 942710564, 936391243, 930061894, 923722585, 917373383, 911014357, 904645574, 898267104, 891879014, 885481373, 879074249, 872657710, 866231826, 859796666, 853352298, 846898791, 840436214, 833964638, 827484130, 820994760, 814496598, 807989714, 801474176, 794950056, 788417422, 781876345, 775326894, 768769141, 762203154, 755629005, 749046764, 742456501, 735858287, 729252193, 722638289, 716016646, 709387335, 702750427, 696105993, 689454104, 682794832, 676128248, 669454423, 662773428, 656085336, 649390218, 642688145, 635979190, 629263424, 622540918, 615811746, 609075979, 602333690, 595584950, 588829831, 582068407, 575300749, 568526931, 561747023, 554961100, 548169234, 541371497, 534567963, 527758704, 520943793, 514123303, 507297307, 500465878, 493629090, 486787016, 479939728, 473087301, 466229807, 459367320, 452499914, 445627662, 438750638, 431868915, 424982567, 418091668, 411196291, 404296511, 397392401, 390484035, 383571488, 376654833, 369734144, 362809495, 355880961, 348948616, 342012534, 335072790, 328129457, 321182610, 314232323, 307278671, 300321729, 293361570, 286398270, 279431902, 272462542, 265490265, 258515144, 251537254, 244556671, 237573469, 230587722, 223599506, 216608896, 209615966, 202620791, 195623446, 188624006, 181622546, 174619141, 167613866, 160606796, 153598006, 146587571, 139575567, 132562067, 125547148, 118530885, 111513352, 104494625, 97474778, 90453888, 83432030, 76409277, 69385707, 62361393, 55336412, 48310838, 41284746, 34258213, 27231312, 20204120, 13176712, 6149162, -878453, -7906059, -14933580, -21960942, -28988068, -36014884, -43041314, -50067283, -57092716, -64117537, -71141672, -78165045, -85187581, -92209205, -99229841, -106249414, -113267850, -120285073, -127301007, -134315578, -141328711, -148340330, -155350361, -162358728, -169365356, -176370170, -183373096, -190374058, -197372981, -204369791, -211364411, -218356769, -225346788, -232334393, -239319511, -246302065, -253281982, -260259186, -267233603, -274205159, -281173778, -288139385, -295101907, -302061269, -309017396, -315970213, -322919647, -329865622, -336808065, -343746901, -350682056, -357613455, -364541025, -371464690, -378384377, -385300013, -392211522, -399118830, -406021865, -412920551, -419814815, -426704583, -433589782, -440470337, -447346176, -454217223, -461083406, -467944652, -474800886, -481652035, -488498026, -495338786, -502174241, -509004318, -515828944, -522648046, -529461551, -536269386, -543071478, -549867754, -556658141, -563442567, -570220959, -576993244, -583759350, -590519205, -597272736, -604019870, -610760536, -617494660, -624222173, -630943000, -637657070, -644364312, -651064652, -657758021, -664444345, -671123554, -677795576, -684460338, -691117771, -697767803, -704410362, -711045377, -717672778, -724292493, -730904451, -737508582, -744104815, -750693079, -757273304, -763845419, -770409354, -776965038, -783512402, -790051375, -796581887, -803103868, -809617249, -816121959, -822617929, -829105090, -835583372, -842052705, -848513021, -854964249, -861406322, -867839170, -874262724, -880676915, -887081675, -893476935, -899862626, -906238681, -912605031, -918961607, -925308342, -931645168, -937972016, -944288820, -950595511, -956892022, -963178285, -969454234, -975719800, -981974918, -988219519, -994453537, -1000676905, -1006889557, -1013091426, -1019282445, -1025462549, -1031631671, -1037789745, -1043936705, -1050072485, -1056197020, -1062310244, -1068412091, -1074502497, -1080581395, -1086648722, -1092704411, -1098748398, -1104780618, -1110801008, -1116809501, -1122806034, -1128790543, -1134762964, -1140723232, -1146671283, -1152607055, -1158530484, -1164441505, -1170340057, -1176226074, -1182099496, -1187960258, -1193808298, -1199643553, -1205465961, -1211275460, -1217071986, -1222855479, -1228625876, -1234383115, -1240127136, -1245857875, -1251575272, -1257279266, -1262969796, -1268646800, -1274310217, -1279959989, -1285596052, -1291218348, -1296826816, -1302421396, -1308002029, -1313568653, -1319121210, -1324659641, -1330183885, -1335693885, -1341189580, -1346670912, -1352137822, -1357590252, -1363028143, -1368451438, -1373860077, -1379254004, -1384633159, -1389997487, -1395346928, -1400681427, -1406000925, -1411305366, -1416594694, -1421868850, -1427127780, -1432371426, -1437599733, -1442812644, -1448010104, -1453192057, -1458358447, -1463509220, -1468644319, -1473763690, -1478867279, -1483955030, -1489026889, -1494082802, -1499122714, -1504146572, -1509154322, -1514145910, -1519121283, -1524080387, -1529023170, -1533949577, -1538859558, -1543753058, -1548630027, -1553490410, -1558334157, -1563161216, -1567971534, -1572765060, -1577541744, -1582301533, -1587044377, -1591770225, -1596479027, -1601170732, -1605845289, -1610502649, -1615142762, -1619765578, -1624371047, -1628959121, -1633529750, -1638082885, -1642618478, -1647136479, -1651636841, -1656119516, -1660584454, -1665031609, -1669460933, -1673872378, -1678265898, -1682641444, -1686998971, -1691338432, -1695659779, -1699962968, -1704247951, -1708514683, -1712763118, -1716993211, -1721204917, -1725398189, -1729572984, -1733729257, -1737866963, -1741986057, -1746086497, -1750168237, -1754231234, -1758275445, -1762300826, -1766307335, -1770294927, -1774263561, -1778213194, -1782143784, -1786055289, -1789947667, -1793820875, -1797674873, -1801509620, -1805325074, -1809121194, -1812897940, -1816655271, -1820393147, -1824111529, -1827810376, -1831489648, -1835149306, -1838789312, -1842409625, -1846010208, -1849591022, -1853152028, -1856693188, -1860214464, -1863715819, -1867197215, -1870658615, -1874099982, -1877521279, -1880922469, -1884303515, -1887664383, -1891005035, -1894325435, -1897625550, -1900905342, -1904164776, -1907403819, -1910622435, -1913820590, -1916998250, -1920155379, -1923291946, -1926407915, -1929503255, -1932577931, -1935631910, -1938665161, -1941677650, -1944669345, -1947640214, -1950590226, -1953519348, -1956427550, -1959314800, -1962181067, -1965026321, -1967850531, -1970653667, -1973435699, -1976196596, -1978936331, -1981654873, -1984352192, -1987028261, -1989683050, -1992316532, -1994928677, -1997519459, -2000088848, -2002636818, -2005163342, -2007668391, -2010151941, -2012613963, -2015054432, -2017473321, -2019870604, -2022246257, -2024600252, -2026932566, -2029243173, -2031532049, -2033799168, -2036044507, -2038268042, -2040469748, -2042649603, -2044807583, -2046943664, -2049057824, -2051150040, -2053220291, -2055268553, -2057294804, -2059299024, -2061281190, -2063241282, -2065179277, -2067095157, -2068988899, -2070860485, -2072709893, -2074537104, -2076342098, -2078124857, -2079885360, -2081623590, -2083339527, -2085033153, -2086704450, -2088353400, -2089979985, -2091584189, -2093165993, -2094725382, -2096262337, -2097776843, -2099268884, -2100738443, -2102185505, -2103610054, -2105012075, -2106391553, -2107748474, -2109082822, -2110394584, -2111683744, -2112950291, -2114194210, -2115415487, -2116614110, -2117790065, -2118943341, -2120073924, -2121181804, -2122266967, -2123329402, -2124369098, -2125386044, -2126380229, -2127351642, -2128300272, -2129226111, -2130129147, -2131009371, -2131866773, -2132701345, -2133513078, -2134301962, -2135067990, -2135811153, -2136531442, -2137228852, -2137903373, -2138555000, -2139183723, -2139789539, -2140372438, -2140932416, -2141469466, -2141983583, -2142474761, -2142942995, -2143388280, -2143810610, -2144209982, -2144586392, -2144939834, -2145270306, -2145577804, -2145862324, -2146123864, -2146362421, -2146577992, -2146770575, -2146940167, -2147086768, -2147210375, -2147310987, -2147388603, -2147443222, -2147474844, 2147482929, 2147425435, 2147275952, 2147034487, 2146701050, 2146275656, 2145758322, 2145149071, 2144447929, 2143654926, 2142770096, 2141793477, 2140725111, 2139565043, 2138313323, 2136970005, 2135535146, 2134008809, 2132391057, 2130681961, 2128881593, 2126990031, 2125007356, 2122933653, 2120769010, 2118513521, 2116167282, 2113730393, 2111202959, 2108585087, 2105876892, 2103078487, 2100189994, 2097211535, 2094143239, 2090985237, 2087737664, 2084400659, 2080974365, 2077458929, 2073854502, 2070161238, 2066379295, 2062508835, 2058550025, 2054503033, 2050368032, 2046145201, 2041834720, 2037436773, 2032951550, 2028379241, 2023720043, 2018974156, 2014141783, 2009223131, 2004218410, 1999127836, 1993951625, 1988690000, 1983343186, 1977911412, 1972394912, 1966793920, 1961108677, 1955339428, 1949486417, 1943549898, 1937530123, 1931427351, 1925241843, 1918973864, 1912623682, 1906191570, 1899677803, 1893082661, 1886406424, 1879649381, 1872811820, 1865894033, 1858896318, 1851818974, 1844662304, 1837426615, 1830112217, 1822719423, 1815248550, 1807699917, 1800073849, 1792370671, 1784590714, 1776734311, 1768801799, 1760793518, 1752709809, 1744551021, 1736317502, 1728009604, 1719627685, 1711172102, 1702643219, 1694041400, 1685367013, 1676620432, 1667802029, 1658912184, 1649951276, 1640919689, 1631817811, 1622646032, 1613404744, 1604094343, 1594715227, 1585267800, 1575752465, 1566169630, 1556519705, 1546803104, 1537020244, 1527171542, 1517257422, 1507278307, 1497234626, 1487126808, 1476955286, 1466720497, 1456422878, 1446062871, 1435640919, 1425157469, 1414612971, 1404007875, 1393342636, 1382617710, 1371833558, 1360990642, 1350089425, 1339130374, 1328113960, 1317040654, 1305910930, 1294725265, 1283484138, 1272188032, 1260837429, 1249432816, 1237974681, 1226463516, 1214899813, 1203284068, 1191616778, 1179898443, 1168129565, 1156310649, 1144442200, 1132524727, 1120558740, 1108544752, 1096483278, 1084374834, 1072219940, 1060019115, 1047772882, 1035481766, 1023146293, 1010766993, 998344394, 985879030, 973371434, 960822142, 948231691, 935600622, 922929474, 910218791, 897469118, 884680999, 871854984, 858991622, 846091463, 833155061, 820182969, 807175743, 794133941, 781058120, 767948841, 754806666, 741632158, 728425880, 715188400, 701920283, 688622098, 675294414, 661937804, 648552838, 635140090, 621700135, 608233549, 594740907, 581222789, 567679774, 554112440, 540521371, 526907147, 513270353, 499611571, 485931388, 472230390, 458509162, 444768294, 431008373, 417229989, 403433732, 389620194, 375789965, 361943639, 348081809, 334205068, 320314011, 306409232, 292491328, 278560894, 264618528, 250664827, 236700388, 222725809, 208741690, 194748629, 180747225, 166738079, 152721790, 138698959, 124670187, 110636075, 96597223, 82554233, 68507707, 54458246, 40406452, 26352928, 12298274, -1756906, -15812011, -29866438, -43919586, -57970853, -72019637, -86065335, -100107347, -114145071, -128177904, -142205248, -156226499, -170241059, -184248325, -198247699, -212238581, -226220372, -240192472, -254154282, -268105206, -282044645, -295972002, -309886680, -323788084, -337675619, -351548688, -365406698, -379249055, -393075166, -406884440, -420676284, -434450107, -448205320, -461941333, -475657559, -489353409, -503028296, -516681636, -530312842, -543921332, -557506522, -571067830, -584604676, -598116479, -611602660, -625062643, -638495850, -651901706, -665279637, -678629069, -691949432, -705240153, -718500664, -731730397, -744928785, -758095263, -771229267, -784330234, -797397602, -810430813, -823429308, -836392529, -849319923, -862210934, -875065011, -887881603, -900660162, -913400139, -926100989, -938762167, -951383133, -963963344, -976502263, -988999351, -1001454074, -1013865898, -1026234291, -1038558724, -1050838668, -1063073598, -1075262990, -1087406320, -1099503070, -1111552721, -1123554757, -1135508663, -1147413928, -1159270041, -1171076495, -1182832785, -1194538405, -1206192856, -1217795637, -1229346252, -1240844206, -1252289006, -1263680162, -1275017186, -1286299593, -1297526899, -1308698624, -1319814288, -1330873416, -1341875533, -1352820169, -1363706855, -1374535124, -1385304512, -1396014559, -1406664805, -1417254794, -1427784073, -1438252190, -1448658697, -1459003149, -1469285102, -1479504115, -1489659751, -1499751576, -1509779156, -1519742062, -1529639867, -1539472148, -1549238483, -1558938453, -1568571644, -1578137643, -1587636039, -1597066426, -1606428400, -1615721561, -1624945509, -1634099849, -1643184191, -1652198144, -1661141322, -1670013342, -1678813825, -1687542393, -1696198672, -1704782292, -1713292884, -1721730085, -1730093532, -1738382868, -1746597738, -1754737789, -1762802673, -1770792044, -1778705561, -1786542883, -1794303676, -1801987607, -1809594347, -1817123570, -1824574954, -1831948179, -1839242929, -1846458892, -1853595759, -1860653224, -1867630985, -1874528743, -1881346202, -1888083070, -1894739060, -1901313885, -1907807264, -1914218919, -1920548575, -1926795962, -1932960811, -1939042858, -1945041843, -1950957509, -1956789602, -1962537873, -1968202076, -1973781967, -1979277308, -1984687864, -1990013401, -1995253694, -2000408516, -2005477648, -2010460871, -2015357973, -2020168744, -2024892978, -2029530472, -2034081027, -2038544449, -2042920547, -2047209133, -2051410023, -2055523038, -2059548001, -2063484740, -2067333086, -2071092874, -2074763944, -2078346137, -2081839301, -2085243286, -2088557947, -2091783140, -2094918728, -2097964577, -2100920556, -2103786539, -2106562402, -2109248028, -2111843300, -2114348108, -2116762344, -2119085905, -2121318692, -2123460608, -2125511562, -2127471467, -2129340237, -2131117794, -2132804061, -2134398966, -2135902440, -2137314419, -2138634843, -2139863654, -2141000801, -2142046235, -2142999911, -2143861787, -2144631828, -2145310000, -2145896274, -2146390624, -2146793031, -2147103476, -2147321946, -2147448433, 2147480773, 2147250799, 2146652904, 2145687192, 2144353827, 2142653038, 2140585116, 2138150417, 2135349356, 2132182414, 2128650133, 2124753120, 2120492040, 2115867626, 2110880668, 2105532022, 2099822604, 2093753392, 2087325426, 2080539807, 2073397699, 2065900325, 2058048970, 2049844978, 2041289756, 2032384769, 2023131544, 2013531666, 2003586779, 1993298588, 1982668856, 1971699403, 1960392110, 1948748914, 1936771810, 1924462850, 1911824143, 1898857855, 1885566207, 1871951478, 1858015999, 1843762158, 1829192399, 1814309216, 1799115162, 1783612838, 1767804901, 1751694060, 1735283075, 1718574758, 1701571972, 1684277631, 1666694698, 1648826185, 1630675154, 1612244715, 1593538026, 1574558293, 1555308768, 1535792748, 1516013578, 1495974647, 1475679389, 1455131280, 1434333842, 1413290638, 1392005275, 1370481398, 1348722696, 1326732898, 1304515771, 1282075122, 1259414796, 1236538675, 1213450681, 1190154767, 1166654927, 1142955186, 1119059606, 1094972281, 1070697338, 1046238936, 1021601267, 996788551, 971805042, 946655018, 921342790, 895872694, 870249095, 844476384, 818558976, 792501312, 766307857, 739983099, 713531549, 686957739, 660266222, 633461572, 606548381, 579531262, 552414843, 525203770, 497902707, 470516330, 443049333, 415506422, 387892316, 360211746, 332469456, 304670200, 276818739, 248919847, 220978304, 192998897, 164986421, 136945676, 108881465, 80798598, 52701887, 24596146, -3513810, -31623164, -59727099, -87820801, -115899455, -143958250, -171992378, -199997036, -227967426, -255898755, -283786237, -311625094, -339410555, -367137861, -394802258, -422399009, -449923384, -477370666, -504736154, -532015158, -559203003, -586295032, -613286603, -640173090, -666949886, -693612404, -720156076, -746576352, -772868706, -799028633, -825051651, -850933300, -876669146, -902254780, -927685817, -952957899, -978066697, -1003007909, -1027777260, -1052370507, -1076783436, -1101011863, -1125051638, -1148898640, -1172548785, -1195998020, -1219242327, -1242277723, -1265100260, -1287706030, -1310091157, -1332251808, -1354184184, -1375884527, -1397349119, -1418574283, -1439556382, -1460291820, -1480777044, -1501008545, -1520982856, -1540696555, -1560146263, -1579328647, -1598240423, -1616878347, -1635239228, -1653319919, -1671117323, -1688628389, -1705850117, -1722779556, -1739413807, -1755750017, -1771785389, -1787517174, -1802942678, -1818059257, -1832864320, -1847355332, -1861529809, -1875385322, -1888919498, -1902130017, -1915014616, -1927571087, -1939797279, -1951691096, -1963250501, -1974473513, -1985358210, -1995902725, -2006105253, -2015964045, -2025477412, -2034643724, -2043461410, -2051928960, -2060044922, -2067807906, -2075216581, -2082269679, -2088965991, -2095304370, -2101283728, -2106903043, -2112161350, -2117057750, -2121591402, -2125761531, -2129567422, -2133008422, -2136083942, -2138793455, -2141136497, -2143112666, -2144721624, -2145963095, -2146836866, -2147342788, #else 32767, 32767, 32767, 32767, 32767, 32767, 32766, 32766, 32765, 32764, 32764, 32763, 32762, 32760, 32759, 32758, 32757, 32755, 32754, 32752, 32750, 32748, 32747, 32745, 32742, 32740, 32738, 32736, 32733, 32731, 32728, 32726, 32723, 32720, 32717, 32714, 32711, 32708, 32704, 32701, 32697, 32694, 32690, 32686, 32683, 32679, 32675, 32671, 32666, 32662, 32658, 32653, 32649, 32644, 32640, 32635, 32630, 32625, 32620, 32615, 32610, 32604, 32599, 32593, 32588, 32582, 32576, 32571, 32565, 32559, 32553, 32546, 32540, 32534, 32527, 32521, 32514, 32507, 32501, 32494, 32487, 32480, 32473, 32465, 32458, 32451, 32443, 32436, 32428, 32420, 32412, 32404, 32396, 32388, 32380, 32372, 32364, 32355, 32347, 32338, 32329, 32320, 32312, 32303, 32294, 32284, 32275, 32266, 32257, 32247, 32237, 32228, 32218, 32208, 32198, 32188, 32178, 32168, 32158, 32147, 32137, 32127, 32116, 32105, 32094, 32084, 32073, 32062, 32051, 32039, 32028, 32017, 32005, 31994, 31982, 31970, 31959, 31947, 31935, 31923, 31910, 31898, 31886, 31874, 31861, 31848, 31836, 31823, 31810, 31797, 31784, 31771, 31758, 31745, 31732, 31718, 31705, 31691, 31677, 31664, 31650, 31636, 31622, 31608, 31593, 31579, 31565, 31550, 31536, 31521, 31507, 31492, 31477, 31462, 31447, 31432, 31417, 31401, 31386, 31371, 31355, 31339, 31324, 31308, 31292, 31276, 31260, 31244, 31228, 31212, 31195, 31179, 31162, 31146, 31129, 31112, 31095, 31078, 31061, 31044, 31027, 31010, 30992, 30975, 30957, 30940, 30922, 30904, 30886, 30868, 30850, 30832, 30814, 30796, 30777, 30759, 30740, 30722, 30703, 30684, 30665, 30646, 30627, 30608, 30589, 30570, 30551, 30531, 30512, 30492, 30472, 30453, 30433, 30413, 30393, 30373, 30353, 30332, 30312, 30292, 30271, 30251, 30230, 30209, 30188, 30167, 30146, 30125, 30104, 30083, 30062, 30040, 30019, 29997, 29976, 29954, 29932, 29910, 29889, 29867, 29844, 29822, 29800, 29778, 29755, 29733, 29710, 29687, 29665, 29642, 29619, 29596, 29573, 29550, 29527, 29503, 29480, 29457, 29433, 29409, 29386, 29362, 29338, 29314, 29290, 29266, 29242, 29218, 29193, 29169, 29145, 29120, 29095, 29071, 29046, 29021, 28996, 28971, 28946, 28921, 28896, 28870, 28845, 28819, 28794, 28768, 28743, 28717, 28691, 28665, 28639, 28613, 28587, 28560, 28534, 28508, 28481, 28455, 28428, 28401, 28375, 28348, 28321, 28294, 28267, 28240, 28212, 28185, 28158, 28130, 28103, 28075, 28047, 28020, 27992, 27964, 27936, 27908, 27880, 27851, 27823, 27795, 27766, 27738, 27709, 27681, 27652, 27623, 27594, 27565, 27536, 27507, 27478, 27449, 27419, 27390, 27360, 27331, 27301, 27272, 27242, 27212, 27182, 27152, 27122, 27092, 27062, 27032, 27001, 26971, 26940, 26910, 26879, 26848, 26818, 26787, 26756, 26725, 26694, 26663, 26631, 26600, 26569, 26537, 26506, 26474, 26443, 26411, 26379, 26347, 26316, 26284, 26251, 26219, 26187, 26155, 26123, 26090, 26058, 26025, 25993, 25960, 25927, 25894, 25861, 25828, 25795, 25762, 25729, 25696, 25663, 25629, 25596, 25562, 25529, 25495, 25461, 25428, 25394, 25360, 25326, 25292, 25258, 25223, 25189, 25155, 25120, 25086, 25051, 25017, 24982, 24947, 24913, 24878, 24843, 24808, 24773, 24738, 24702, 24667, 24632, 24596, 24561, 24525, 24490, 24454, 24419, 24383, 24347, 24311, 24275, 24239, 24203, 24167, 24130, 24094, 24058, 24021, 23985, 23948, 23912, 23875, 23838, 23801, 23764, 23728, 23690, 23653, 23616, 23579, 23542, 23504, 23467, 23430, 23392, 23355, 23317, 23279, 23241, 23204, 23166, 23128, 23090, 23052, 23014, 22975, 22937, 22899, 22860, 22822, 22783, 22745, 22706, 22668, 22629, 22590, 22551, 22512, 22473, 22434, 22395, 22356, 22317, 22277, 22238, 22199, 22159, 22120, 22080, 22040, 22001, 21961, 21921, 21881, 21841, 21801, 21761, 21721, 21681, 21641, 21600, 21560, 21520, 21479, 21439, 21398, 21357, 21317, 21276, 21235, 21194, 21153, 21112, 21071, 21030, 20989, 20948, 20907, 20865, 20824, 20783, 20741, 20700, 20658, 20616, 20575, 20533, 20491, 20449, 20407, 20365, 20323, 20281, 20239, 20197, 20155, 20112, 20070, 20028, 19985, 19943, 19900, 19857, 19815, 19772, 19729, 19686, 19643, 19601, 19558, 19514, 19471, 19428, 19385, 19342, 19298, 19255, 19212, 19168, 19125, 19081, 19038, 18994, 18950, 18906, 18863, 18819, 18775, 18731, 18687, 18643, 18599, 18554, 18510, 18466, 18422, 18377, 18333, 18288, 18244, 18199, 18155, 18110, 18065, 18021, 17976, 17931, 17886, 17841, 17796, 17751, 17706, 17661, 17616, 17570, 17525, 17480, 17434, 17389, 17344, 17298, 17252, 17207, 17161, 17116, 17070, 17024, 16978, 16932, 16886, 16840, 16794, 16748, 16702, 16656, 16610, 16564, 16517, 16471, 16425, 16378, 16332, 16285, 16239, 16192, 16145, 16099, 16052, 16005, 15958, 15912, 15865, 15818, 15771, 15724, 15677, 15630, 15583, 15535, 15488, 15441, 15394, 15346, 15299, 15251, 15204, 15156, 15109, 15061, 15014, 14966, 14918, 14870, 14823, 14775, 14727, 14679, 14631, 14583, 14535, 14487, 14439, 14391, 14342, 14294, 14246, 14198, 14149, 14101, 14053, 14004, 13956, 13907, 13858, 13810, 13761, 13713, 13664, 13615, 13566, 13517, 13469, 13420, 13371, 13322, 13273, 13224, 13175, 13126, 13076, 13027, 12978, 12929, 12880, 12830, 12781, 12731, 12682, 12633, 12583, 12534, 12484, 12434, 12385, 12335, 12285, 12236, 12186, 12136, 12086, 12037, 11987, 11937, 11887, 11837, 11787, 11737, 11687, 11637, 11586, 11536, 11486, 11436, 11386, 11335, 11285, 11235, 11184, 11134, 11083, 11033, 10982, 10932, 10881, 10831, 10780, 10729, 10679, 10628, 10577, 10527, 10476, 10425, 10374, 10323, 10272, 10221, 10170, 10119, 10068, 10017, 9966, 9915, 9864, 9813, 9762, 9711, 9659, 9608, 9557, 9506, 9454, 9403, 9352, 9300, 9249, 9197, 9146, 9094, 9043, 8991, 8940, 8888, 8836, 8785, 8733, 8681, 8630, 8578, 8526, 8475, 8423, 8371, 8319, 8267, 8215, 8163, 8111, 8059, 8007, 7955, 7903, 7851, 7799, 7747, 7695, 7643, 7591, 7539, 7487, 7434, 7382, 7330, 7278, 7225, 7173, 7121, 7068, 7016, 6964, 6911, 6859, 6806, 6754, 6701, 6649, 6596, 6544, 6491, 6439, 6386, 6334, 6281, 6228, 6176, 6123, 6070, 6018, 5965, 5912, 5859, 5807, 5754, 5701, 5648, 5595, 5543, 5490, 5437, 5384, 5331, 5278, 5225, 5172, 5119, 5066, 5013, 4960, 4907, 4854, 4801, 4748, 4695, 4642, 4589, 4536, 4483, 4430, 4377, 4324, 4270, 4217, 4164, 4111, 4058, 4005, 3951, 3898, 3845, 3792, 3738, 3685, 3632, 3578, 3525, 3472, 3419, 3365, 3312, 3259, 3205, 3152, 3098, 3045, 2992, 2938, 2885, 2831, 2778, 2725, 2671, 2618, 2564, 2511, 2457, 2404, 2350, 2297, 2243, 2190, 2136, 2083, 2029, 1976, 1922, 1869, 1815, 1762, 1708, 1655, 1601, 1548, 1494, 1440, 1387, 1333, 1280, 1226, 1173, 1119, 1065, 1012, 958, 905, 851, 797, 744, 690, 637, 583, 529, 476, 422, 369, 315, 261, 208, 154, 101, 47, -7, -60, -114, -168, -221, -275, -328, -382, -436, -489, -543, -596, -650, -704, -757, -811, -864, -918, -972, -1025, -1079, -1132, -1186, -1240, -1293, -1347, -1400, -1454, -1507, -1561, -1615, -1668, -1722, -1775, -1829, -1882, -1936, -1989, -2043, -2096, -2150, -2203, -2257, -2310, -2364, -2417, -2471, -2524, -2578, -2631, -2685, -2738, -2791, -2845, -2898, -2952, -3005, -3058, -3112, -3165, -3218, -3272, -3325, -3379, -3432, -3485, -3538, -3592, -3645, -3698, -3752, -3805, -3858, -3911, -3965, -4018, -4071, -4124, -4177, -4231, -4284, -4337, -4390, -4443, -4496, -4549, -4602, -4656, -4709, -4762, -4815, -4868, -4921, -4974, -5027, -5080, -5133, -5186, -5239, -5291, -5344, -5397, -5450, -5503, -5556, -5609, -5662, -5714, -5767, -5820, -5873, -5925, -5978, -6031, -6083, -6136, -6189, -6241, -6294, -6347, -6399, -6452, -6504, -6557, -6609, -6662, -6714, -6767, -6819, -6872, -6924, -6977, -7029, -7081, -7134, -7186, -7238, -7291, -7343, -7395, -7447, -7500, -7552, -7604, -7656, -7708, -7760, -7812, -7864, -7916, -7968, -8020, -8072, -8124, -8176, -8228, -8280, -8332, -8384, -8436, -8487, -8539, -8591, -8643, -8694, -8746, -8798, -8849, -8901, -8953, -9004, -9056, -9107, -9159, -9210, -9262, -9313, -9364, -9416, -9467, -9518, -9570, -9621, -9672, -9723, -9775, -9826, -9877, -9928, -9979, -10030, -10081, -10132, -10183, -10234, -10285, -10336, -10387, -10438, -10488, -10539, -10590, -10641, -10691, -10742, -10793, -10843, -10894, -10945, -10995, -11046, -11096, -11146, -11197, -11247, -11298, -11348, -11398, -11448, -11499, -11549, -11599, -11649, -11699, -11749, -11799, -11849, -11899, -11949, -11999, -12049, -12099, -12149, -12198, -12248, -12298, -12348, -12397, -12447, -12496, -12546, -12595, -12645, -12694, -12744, -12793, -12843, -12892, -12941, -12990, -13040, -13089, -13138, -13187, -13236, -13285, -13334, -13383, -13432, -13481, -13530, -13579, -13627, -13676, -13725, -13773, -13822, -13871, -13919, -13968, -14016, -14065, -14113, -14161, -14210, -14258, -14306, -14355, -14403, -14451, -14499, -14547, -14595, -14643, -14691, -14739, -14787, -14835, -14882, -14930, -14978, -15025, -15073, -15121, -15168, -15216, -15263, -15311, -15358, -15405, -15453, -15500, -15547, -15594, -15641, -15689, -15736, -15783, -15830, -15876, -15923, -15970, -16017, -16064, -16110, -16157, -16204, -16250, -16297, -16343, -16390, -16436, -16483, -16529, -16575, -16621, -16668, -16714, -16760, -16806, -16852, -16898, -16944, -16990, -17035, -17081, -17127, -17173, -17218, -17264, -17309, -17355, -17400, -17446, -17491, -17536, -17582, -17627, -17672, -17717, -17762, -17807, -17852, -17897, -17942, -17987, -18032, -18077, -18121, -18166, -18210, -18255, -18300, -18344, -18388, -18433, -18477, -18521, -18566, -18610, -18654, -18698, -18742, -18786, -18830, -18874, -18917, -18961, -19005, -19048, -19092, -19136, -19179, -19223, -19266, -19309, -19353, -19396, -19439, -19482, -19525, -19568, -19611, -19654, -19697, -19740, -19783, -19825, -19868, -19911, -19953, -19996, -20038, -20081, -20123, -20165, -20207, -20250, -20292, -20334, -20376, -20418, -20460, -20502, -20543, -20585, -20627, -20668, -20710, -20752, -20793, -20834, -20876, -20917, -20958, -20999, -21041, -21082, -21123, -21164, -21205, -21245, -21286, -21327, -21368, -21408, -21449, -21489, -21530, -21570, -21610, -21651, -21691, -21731, -21771, -21811, -21851, -21891, -21931, -21971, -22011, -22050, -22090, -22130, -22169, -22208, -22248, -22287, -22326, -22366, -22405, -22444, -22483, -22522, -22561, -22600, -22639, -22677, -22716, -22755, -22793, -22832, -22870, -22908, -22947, -22985, -23023, -23061, -23099, -23137, -23175, -23213, -23251, -23289, -23326, -23364, -23402, -23439, -23476, -23514, -23551, -23588, -23626, -23663, -23700, -23737, -23774, -23811, -23847, -23884, -23921, -23957, -23994, -24030, -24067, -24103, -24139, -24176, -24212, -24248, -24284, -24320, -24356, -24392, -24427, -24463, -24499, -24534, -24570, -24605, -24641, -24676, -24711, -24746, -24782, -24817, -24852, -24886, -24921, -24956, -24991, -25025, -25060, -25095, -25129, -25163, -25198, -25232, -25266, -25300, -25334, -25368, -25402, -25436, -25470, -25503, -25537, -25571, -25604, -25638, -25671, -25704, -25737, -25771, -25804, -25837, -25870, -25902, -25935, -25968, -26001, -26033, -26066, -26098, -26131, -26163, -26195, -26227, -26259, -26292, -26323, -26355, -26387, -26419, -26451, -26482, -26514, -26545, -26577, -26608, -26639, -26670, -26702, -26733, -26764, -26794, -26825, -26856, -26887, -26917, -26948, -26978, -27009, -27039, -27069, -27100, -27130, -27160, -27190, -27220, -27249, -27279, -27309, -27338, -27368, -27397, -27427, -27456, -27485, -27514, -27543, -27572, -27601, -27630, -27659, -27688, -27716, -27745, -27773, -27802, -27830, -27858, -27887, -27915, -27943, -27971, -27999, -28026, -28054, -28082, -28109, -28137, -28164, -28192, -28219, -28246, -28273, -28301, -28328, -28354, -28381, -28408, -28435, -28461, -28488, -28514, -28541, -28567, -28593, -28619, -28645, -28671, -28697, -28723, -28749, -28775, -28800, -28826, -28851, -28877, -28902, -28927, -28952, -28977, -29002, -29027, -29052, -29077, -29102, -29126, -29151, -29175, -29200, -29224, -29248, -29272, -29296, -29320, -29344, -29368, -29392, -29415, -29439, -29462, -29486, -29509, -29532, -29556, -29579, -29602, -29625, -29648, -29670, -29693, -29716, -29738, -29761, -29783, -29806, -29828, -29850, -29872, -29894, -29916, -29938, -29960, -29981, -30003, -30024, -30046, -30067, -30088, -30110, -30131, -30152, -30173, -30194, -30214, -30235, -30256, -30276, -30297, -30317, -30337, -30358, -30378, -30398, -30418, -30438, -30458, -30477, -30497, -30516, -30536, -30555, -30575, -30594, -30613, -30632, -30651, -30670, -30689, -30708, -30726, -30745, -30763, -30782, -30800, -30819, -30837, -30855, -30873, -30891, -30909, -30926, -30944, -30962, -30979, -30997, -31014, -31031, -31048, -31065, -31082, -31099, -31116, -31133, -31150, -31166, -31183, -31199, -31216, -31232, -31248, -31264, -31280, -31296, -31312, -31328, -31343, -31359, -31374, -31390, -31405, -31421, -31436, -31451, -31466, -31481, -31496, -31510, -31525, -31540, -31554, -31568, -31583, -31597, -31611, -31625, -31639, -31653, -31667, -31681, -31694, -31708, -31721, -31735, -31748, -31761, -31775, -31788, -31801, -31813, -31826, -31839, -31852, -31864, -31877, -31889, -31901, -31914, -31926, -31938, -31950, -31961, -31973, -31985, -31997, -32008, -32020, -32031, -32042, -32053, -32064, -32075, -32086, -32097, -32108, -32119, -32129, -32140, -32150, -32160, -32171, -32181, -32191, -32201, -32211, -32221, -32230, -32240, -32249, -32259, -32268, -32278, -32287, -32296, -32305, -32314, -32323, -32331, -32340, -32349, -32357, -32366, -32374, -32382, -32390, -32398, -32406, -32414, -32422, -32430, -32437, -32445, -32453, -32460, -32467, -32474, -32482, -32489, -32495, -32502, -32509, -32516, -32522, -32529, -32535, -32542, -32548, -32554, -32560, -32566, -32572, -32578, -32584, -32589, -32595, -32600, -32606, -32611, -32616, -32621, -32626, -32631, -32636, -32641, -32645, -32650, -32655, -32659, -32663, -32668, -32672, -32676, -32680, -32684, -32687, -32691, -32695, -32698, -32702, -32705, -32708, -32712, -32715, -32718, -32721, -32723, -32726, -32729, -32731, -32734, -32736, -32739, -32741, -32743, -32745, -32747, -32749, -32751, -32752, -32754, -32756, -32757, -32758, -32760, -32761, -32762, -32763, -32764, -32765, -32765, -32766, -32766, -32767, -32767, -32767, -32767, -32767, 32767, 32767, 32767, 32766, 32765, 32763, 32761, 32759, 32756, 32753, 32750, 32746, 32742, 32738, 32733, 32728, 32722, 32717, 32710, 32704, 32697, 32690, 32682, 32674, 32666, 32657, 32648, 32639, 32629, 32619, 32609, 32598, 32587, 32576, 32564, 32552, 32539, 32526, 32513, 32500, 32486, 32472, 32457, 32442, 32427, 32411, 32395, 32379, 32362, 32345, 32328, 32310, 32292, 32274, 32255, 32236, 32217, 32197, 32177, 32157, 32136, 32115, 32093, 32071, 32049, 32027, 32004, 31981, 31957, 31933, 31909, 31884, 31859, 31834, 31809, 31783, 31756, 31730, 31703, 31676, 31648, 31620, 31592, 31563, 31534, 31505, 31475, 31445, 31415, 31384, 31353, 31322, 31290, 31258, 31226, 31193, 31160, 31127, 31093, 31059, 31025, 30990, 30955, 30920, 30884, 30848, 30812, 30775, 30738, 30701, 30663, 30625, 30587, 30548, 30509, 30470, 30430, 30390, 30350, 30309, 30269, 30227, 30186, 30144, 30102, 30059, 30016, 29973, 29930, 29886, 29842, 29797, 29752, 29707, 29662, 29616, 29570, 29524, 29477, 29430, 29383, 29335, 29287, 29239, 29190, 29142, 29092, 29043, 28993, 28943, 28892, 28842, 28791, 28739, 28688, 28636, 28583, 28531, 28478, 28425, 28371, 28317, 28263, 28209, 28154, 28099, 28044, 27988, 27932, 27876, 27820, 27763, 27706, 27648, 27591, 27533, 27474, 27416, 27357, 27298, 27238, 27178, 27118, 27058, 26997, 26936, 26875, 26814, 26752, 26690, 26628, 26565, 26502, 26439, 26375, 26312, 26247, 26183, 26119, 26054, 25988, 25923, 25857, 25791, 25725, 25658, 25592, 25524, 25457, 25389, 25322, 25253, 25185, 25116, 25047, 24978, 24908, 24838, 24768, 24698, 24627, 24557, 24485, 24414, 24342, 24270, 24198, 24126, 24053, 23980, 23907, 23834, 23760, 23686, 23612, 23537, 23462, 23387, 23312, 23237, 23161, 23085, 23009, 22932, 22856, 22779, 22701, 22624, 22546, 22468, 22390, 22312, 22233, 22154, 22075, 21996, 21916, 21836, 21756, 21676, 21595, 21515, 21434, 21352, 21271, 21189, 21107, 21025, 20943, 20860, 20777, 20694, 20611, 20528, 20444, 20360, 20276, 20192, 20107, 20022, 19937, 19852, 19767, 19681, 19595, 19509, 19423, 19336, 19250, 19163, 19076, 18988, 18901, 18813, 18725, 18637, 18549, 18460, 18372, 18283, 18194, 18104, 18015, 17925, 17835, 17745, 17655, 17565, 17474, 17383, 17292, 17201, 17110, 17018, 16927, 16835, 16743, 16650, 16558, 16465, 16372, 16279, 16186, 16093, 15999, 15906, 15812, 15718, 15624, 15529, 15435, 15340, 15245, 15150, 15055, 14960, 14864, 14769, 14673, 14577, 14481, 14385, 14288, 14192, 14095, 13998, 13901, 13804, 13706, 13609, 13511, 13414, 13316, 13218, 13119, 13021, 12923, 12824, 12725, 12626, 12527, 12428, 12329, 12230, 12130, 12030, 11930, 11831, 11730, 11630, 11530, 11430, 11329, 11228, 11128, 11027, 10926, 10824, 10723, 10622, 10520, 10419, 10317, 10215, 10113, 10011, 9909, 9807, 9704, 9602, 9499, 9397, 9294, 9191, 9088, 8985, 8882, 8778, 8675, 8572, 8468, 8364, 8261, 8157, 8053, 7949, 7845, 7741, 7637, 7532, 7428, 7323, 7219, 7114, 7009, 6905, 6800, 6695, 6590, 6485, 6380, 6274, 6169, 6064, 5958, 5853, 5747, 5642, 5536, 5430, 5325, 5219, 5113, 5007, 4901, 4795, 4689, 4583, 4476, 4370, 4264, 4157, 4051, 3945, 3838, 3732, 3625, 3518, 3412, 3305, 3198, 3092, 2985, 2878, 2771, 2664, 2558, 2451, 2344, 2237, 2130, 2023, 1916, 1809, 1702, 1594, 1487, 1380, 1273, 1166, 1059, 952, 844, 737, 630, 523, 416, 308, 201, 94, -13, -121, -228, -335, -442, -550, -657, -764, -871, -978, -1086, -1193, -1300, -1407, -1514, -1621, -1728, -1835, -1942, -2049, -2157, -2263, -2370, -2477, -2584, -2691, -2798, -2905, -3012, -3118, -3225, -3332, -3439, -3545, -3652, -3758, -3865, -3971, -4078, -4184, -4290, -4397, -4503, -4609, -4715, -4821, -4927, -5033, -5139, -5245, -5351, -5457, -5562, -5668, -5774, -5879, -5985, -6090, -6195, -6301, -6406, -6511, -6616, -6721, -6826, -6931, -7036, -7140, -7245, -7349, -7454, -7558, -7663, -7767, -7871, -7975, -8079, -8183, -8287, -8390, -8494, -8597, -8701, -8804, -8907, -9011, -9114, -9217, -9319, -9422, -9525, -9627, -9730, -9832, -9934, -10037, -10139, -10241, -10342, -10444, -10546, -10647, -10748, -10850, -10951, -11052, -11153, -11253, -11354, -11455, -11555, -11655, -11756, -11856, -11955, -12055, -12155, -12254, -12354, -12453, -12552, -12651, -12750, -12849, -12947, -13046, -13144, -13242, -13340, -13438, -13536, -13633, -13731, -13828, -13925, -14022, -14119, -14216, -14312, -14409, -14505, -14601, -14697, -14793, -14888, -14984, -15079, -15174, -15269, -15364, -15459, -15553, -15647, -15741, -15835, -15929, -16023, -16116, -16210, -16303, -16396, -16488, -16581, -16673, -16766, -16858, -16949, -17041, -17133, -17224, -17315, -17406, -17497, -17587, -17678, -17768, -17858, -17948, -18037, -18127, -18216, -18305, -18394, -18483, -18571, -18659, -18747, -18835, -18923, -19010, -19098, -19185, -19271, -19358, -19444, -19531, -19617, -19702, -19788, -19873, -19959, -20043, -20128, -20213, -20297, -20381, -20465, -20549, -20632, -20715, -20798, -20881, -20963, -21046, -21128, -21210, -21291, -21373, -21454, -21535, -21616, -21696, -21776, -21856, -21936, -22016, -22095, -22174, -22253, -22331, -22410, -22488, -22566, -22643, -22721, -22798, -22875, -22951, -23028, -23104, -23180, -23256, -23331, -23406, -23481, -23556, -23630, -23704, -23778, -23852, -23925, -23998, -24071, -24144, -24216, -24288, -24360, -24432, -24503, -24574, -24645, -24716, -24786, -24856, -24926, -24995, -25064, -25133, -25202, -25270, -25339, -25406, -25474, -25541, -25608, -25675, -25742, -25808, -25874, -25939, -26005, -26070, -26135, -26199, -26264, -26327, -26391, -26455, -26518, -26581, -26643, -26705, -26767, -26829, -26891, -26952, -27013, -27073, -27133, -27193, -27253, -27312, -27372, -27430, -27489, -27547, -27605, -27663, -27720, -27777, -27834, -27890, -27946, -28002, -28058, -28113, -28168, -28223, -28277, -28331, -28385, -28438, -28491, -28544, -28596, -28649, -28701, -28752, -28803, -28854, -28905, -28955, -29006, -29055, -29105, -29154, -29203, -29251, -29299, -29347, -29395, -29442, -29489, -29535, -29582, -29628, -29673, -29719, -29764, -29808, -29853, -29897, -29941, -29984, -30027, -30070, -30112, -30154, -30196, -30238, -30279, -30320, -30360, -30400, -30440, -30480, -30519, -30558, -30596, -30635, -30672, -30710, -30747, -30784, -30821, -30857, -30893, -30929, -30964, -30999, -31033, -31068, -31102, -31135, -31168, -31201, -31234, -31266, -31298, -31330, -31361, -31392, -31422, -31453, -31483, -31512, -31541, -31570, -31599, -31627, -31655, -31682, -31710, -31737, -31763, -31789, -31815, -31841, -31866, -31891, -31915, -31939, -31963, -31986, -32010, -32032, -32055, -32077, -32099, -32120, -32141, -32162, -32182, -32202, -32222, -32241, -32260, -32279, -32297, -32315, -32333, -32350, -32367, -32383, -32399, -32415, -32431, -32446, -32461, -32475, -32489, -32503, -32517, -32530, -32542, -32555, -32567, -32579, -32590, -32601, -32612, -32622, -32632, -32641, -32651, -32659, -32668, -32676, -32684, -32692, -32699, -32706, -32712, -32718, -32724, -32729, -32734, -32739, -32743, -32747, -32751, -32754, -32757, -32760, -32762, -32764, -32765, -32767, -32767, -32767, 32767, 32767, 32765, 32761, 32756, 32750, 32742, 32732, 32722, 32710, 32696, 32681, 32665, 32647, 32628, 32608, 32586, 32562, 32538, 32512, 32484, 32455, 32425, 32393, 32360, 32326, 32290, 32253, 32214, 32174, 32133, 32090, 32046, 32001, 31954, 31906, 31856, 31805, 31753, 31700, 31645, 31588, 31530, 31471, 31411, 31349, 31286, 31222, 31156, 31089, 31020, 30951, 30880, 30807, 30733, 30658, 30582, 30504, 30425, 30345, 30263, 30181, 30096, 30011, 29924, 29836, 29747, 29656, 29564, 29471, 29377, 29281, 29184, 29086, 28987, 28886, 28784, 28681, 28577, 28471, 28365, 28257, 28147, 28037, 27925, 27812, 27698, 27583, 27467, 27349, 27231, 27111, 26990, 26868, 26744, 26620, 26494, 26367, 26239, 26110, 25980, 25849, 25717, 25583, 25449, 25313, 25176, 25038, 24900, 24760, 24619, 24477, 24333, 24189, 24044, 23898, 23751, 23602, 23453, 23303, 23152, 22999, 22846, 22692, 22537, 22380, 22223, 22065, 21906, 21746, 21585, 21423, 21261, 21097, 20933, 20767, 20601, 20434, 20265, 20096, 19927, 19756, 19584, 19412, 19239, 19065, 18890, 18714, 18538, 18361, 18183, 18004, 17824, 17644, 17463, 17281, 17098, 16915, 16731, 16546, 16361, 16175, 15988, 15800, 15612, 15423, 15234, 15043, 14852, 14661, 14469, 14276, 14083, 13889, 13694, 13499, 13303, 13107, 12910, 12713, 12515, 12317, 12118, 11918, 11718, 11517, 11316, 11115, 10913, 10710, 10508, 10304, 10100, 9896, 9691, 9486, 9281, 9075, 8869, 8662, 8455, 8248, 8040, 7832, 7623, 7415, 7206, 6996, 6787, 6577, 6366, 6156, 5945, 5734, 5523, 5311, 5100, 4888, 4675, 4463, 4251, 4038, 3825, 3612, 3399, 3185, 2972, 2758, 2544, 2330, 2116, 1902, 1688, 1474, 1260, 1045, 831, 617, 402, 188, -27, -241, -456, -670, -885, -1099, -1313, -1528, -1742, -1956, -2170, -2384, -2598, -2811, -3025, -3239, -3452, -3665, -3878, -4091, -4304, -4516, -4728, -4941, -5153, -5364, -5576, -5787, -5998, -6209, -6419, -6629, -6839, -7049, -7258, -7467, -7676, -7884, -8092, -8300, -8507, -8714, -8920, -9127, -9332, -9538, -9743, -9947, -10151, -10355, -10558, -10761, -10963, -11165, -11367, -11568, -11768, -11968, -12167, -12366, -12565, -12762, -12960, -13156, -13352, -13548, -13743, -13937, -14131, -14324, -14517, -14709, -14900, -15091, -15281, -15470, -15659, -15847, -16035, -16221, -16407, -16593, -16777, -16961, -17144, -17326, -17508, -17689, -17869, -18049, -18227, -18405, -18582, -18758, -18934, -19108, -19282, -19455, -19627, -19799, -19969, -20139, -20308, -20475, -20642, -20809, -20974, -21138, -21301, -21464, -21626, -21786, -21946, -22105, -22263, -22420, -22575, -22730, -22884, -23037, -23189, -23340, -23490, -23640, -23788, -23935, -24080, -24225, -24369, -24512, -24654, -24795, -24934, -25073, -25211, -25347, -25482, -25617, -25750, -25882, -26013, -26143, -26272, -26399, -26526, -26651, -26775, -26898, -27020, -27141, -27260, -27379, -27496, -27612, -27727, -27841, -27953, -28065, -28175, -28284, -28391, -28498, -28603, -28707, -28810, -28911, -29012, -29111, -29209, -29305, -29401, -29495, -29587, -29679, -29769, -29858, -29946, -30032, -30118, -30201, -30284, -30365, -30445, -30524, -30601, -30677, -30752, -30825, -30897, -30968, -31038, -31106, -31172, -31238, -31302, -31365, -31426, -31486, -31545, -31602, -31658, -31713, -31766, -31818, -31869, -31918, -31966, -32012, -32058, -32101, -32144, -32185, -32224, -32262, -32299, -32335, -32369, -32401, -32433, -32463, -32491, -32518, -32544, -32568, -32591, -32613, -32633, -32652, -32669, -32685, -32700, -32713, -32724, -32735, -32744, -32751, -32757, -32762, -32766, -32767, 32767, 32764, 32755, 32741, 32720, 32694, 32663, 32626, 32583, 32535, 32481, 32421, 32356, 32286, 32209, 32128, 32041, 31948, 31850, 31747, 31638, 31523, 31403, 31278, 31148, 31012, 30871, 30724, 30572, 30415, 30253, 30086, 29913, 29736, 29553, 29365, 29172, 28974, 28771, 28564, 28351, 28134, 27911, 27684, 27452, 27216, 26975, 26729, 26478, 26223, 25964, 25700, 25432, 25159, 24882, 24601, 24315, 24026, 23732, 23434, 23133, 22827, 22517, 22204, 21886, 21565, 21240, 20912, 20580, 20244, 19905, 19563, 19217, 18868, 18516, 18160, 17802, 17440, 17075, 16708, 16338, 15964, 15588, 15210, 14829, 14445, 14059, 13670, 13279, 12886, 12490, 12093, 11693, 11291, 10888, 10482, 10075, 9666, 9255, 8843, 8429, 8014, 7597, 7180, 6760, 6340, 5919, 5496, 5073, 4649, 4224, 3798, 3372, 2945, 2517, 2090, 1661, 1233, 804, 375, -54, -483, -911, -1340, -1768, -2197, -2624, -3052, -3479, -3905, -4330, -4755, -5179, -5602, -6024, -6445, -6865, -7284, -7702, -8118, -8533, -8946, -9358, -9768, -10177, -10584, -10989, -11392, -11793, -12192, -12589, -12984, -13377, -13767, -14155, -14541, -14924, -15305, -15683, -16058, -16430, -16800, -17167, -17531, -17892, -18249, -18604, -18956, -19304, -19649, -19990, -20329, -20663, -20994, -21322, -21646, -21966, -22282, -22595, -22904, -23208, -23509, -23806, -24099, -24387, -24672, -24952, -25228, -25499, -25766, -26029, -26288, -26541, -26791, -27035, -27275, -27511, -27741, -27967, -28188, -28405, -28616, -28823, -29024, -29221, -29412, -29599, -29780, -29957, -30128, -30294, -30455, -30611, -30761, -30906, -31046, -31181, -31310, -31434, -31552, -31665, -31773, -31875, -31972, -32063, -32149, -32229, -32304, -32373, -32437, -32495, -32547, -32594, -32635, -32671, -32701, -32726, -32745, -32758, -32766, #endif }; #endif static const CELTMode mode96000_1920_240 = { 96000, /* Fs */ 240, /* overlap */ 21, /* nbEBands */ 21, /* effEBands */ {30245, 7209, 6197, 5415, }, /* preemph */ eband5ms, /* eBands */ 3, /* maxLM */ 8, /* nbShortMdcts */ 240, /* shortMdctSize */ 11, /* nbAllocVectors */ band_allocation, /* allocVectors */ logN400, /* logN */ window240, /* window */ {3840, 3, {&fft_state96000_1920_0, &fft_state96000_1920_1, &fft_state96000_1920_2, &fft_state96000_1920_3, }, mdct_twiddles1920}, /* mdct */ {392, cache_index50, cache_bits50, cache_caps50}, /* cache */ #ifdef ENABLE_QEXT {86, qext_cache_index50, qext_cache_bits50, qext_cache_caps50}, /* qext_cache */ #endif }; #endif /* ENABLE_QEXT */ /* List of all the available modes */ #ifdef ENABLE_QEXT #define TOTAL_MODES 2 static const CELTMode * const static_mode_list[TOTAL_MODES] = { &mode48000_960_120, &mode96000_1920_240, }; #else #define TOTAL_MODES 1 static const CELTMode * const static_mode_list[TOTAL_MODES] = { &mode48000_960_120, }; #endif