static_modes_fixed.h (203202B)
1 /* The contents of this file was automatically generated by dump_modes.c 2 with arguments: 48000 960 96000 1920 3 It contains static definitions for some pre-defined modes. */ 4 #include "modes.h" 5 #include "rate.h" 6 7 #ifdef HAVE_ARM_NE10 8 #define OVERRIDE_FFT 1 9 #include "static_modes_fixed_arm_ne10.h" 10 #endif 11 12 #ifndef DEF_WINDOW120 13 #define DEF_WINDOW120 14 static const celt_coef window120[120] = { 15 #ifdef ENABLE_QEXT 16 144497, 1300330, 3611201, 7075520, 11690888, 17 17454086, 24361057, 32406886, 41585775, 51891010, 18 63314937, 75848919, 89483305, 104207389, 120009370, 19 136876310, 154794092, 173747379, 193719571, 214692768, 20 236647730, 259563841, 283419077, 308189974, 333851611, 21 360377579, 387739975, 415909390, 444854905, 474544098, 22 504943052, 536016380, 567727246, 600037405, 632907246, 23 666295842, 700161014, 734459402, 769146541, 804176950, 24 839504226, 875081152, 910859802, 946791664, 982827767, 25 1018918807, 1055015290, 1091067670, 1127026498, 1162842573, 26 1198467087, 1233851789, 1268949131, 1303712428, 1338096006, 27 1372055358, 1405547288, 1438530058, 1470963524, 1502809271, 28 1534030739, 1564593342, 1594464577, 1623614128, 1652013956, 29 1679638382, 1706464158, 1732470524, 1757639263, 1781954729, 30 1805403879, 1827976282, 1849664120, 1870462177, 1890367816, 31 1909380946, 1927503971, 1944741741, 1961101475, 1976592692, 32 1991227121, 2005018607, 2017983004, 2030138067, 2041503335, 33 2052100006, 2061950806, 2071079861, 2079512553, 2087275384, 34 2094395835, 2100902218, 2106823532, 2112189321, 2117029527, 35 2121374347, 2125254092, 2128699049, 2131739343, 2134404804, 36 2136724838, 2138728301, 2140443380, 2141897478, 2143117097, 37 2144127740, 2144953807, 2145618502, 2146143741, 2146550077, 38 2146856618, 2147080958, 2147239113, 2147345467, 2147412716, 39 2147451825, 2147471991, 2147480611, 2147483254, 2147483643, 40 #else 41 2, 20, 55, 108, 178, 42 266, 372, 494, 635, 792, 43 966, 1157, 1365, 1590, 1831, 44 2089, 2362, 2651, 2956, 3276, 45 3611, 3961, 4325, 4703, 5094, 46 5499, 5916, 6346, 6788, 7241, 47 7705, 8179, 8663, 9156, 9657, 48 10167, 10684, 11207, 11736, 12271, 49 12810, 13353, 13899, 14447, 14997, 50 15547, 16098, 16648, 17197, 17744, 51 18287, 18827, 19363, 19893, 20418, 52 20936, 21447, 21950, 22445, 22931, 53 23407, 23874, 24330, 24774, 25208, 54 25629, 26039, 26435, 26819, 27190, 55 27548, 27893, 28224, 28541, 28845, 56 29135, 29411, 29674, 29924, 30160, 57 30384, 30594, 30792, 30977, 31151, 58 31313, 31463, 31602, 31731, 31849, 59 31958, 32057, 32148, 32229, 32303, 60 32370, 32429, 32481, 32528, 32568, 61 32604, 32634, 32661, 32683, 32701, 62 32717, 32729, 32740, 32748, 32754, 63 32758, 32762, 32764, 32766, 32767, 64 32767, 32767, 32767, 32767, 32767, 65 #endif 66 }; 67 #endif 68 69 #ifndef DEF_LOGN400 70 #define DEF_LOGN400 71 static const opus_int16 logN400[21] = { 72 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, }; 73 #endif 74 75 #ifndef DEF_PULSE_CACHE50 76 #define DEF_PULSE_CACHE50 77 static const opus_int16 cache_index50[105] = { 78 -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41, 79 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41, 80 41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41, 81 41, 41, 41, 41, 41, 123, 123, 123, 123, 240, 240, 240, 266, 266, 305, 82 318, 328, 336, 123, 123, 123, 123, 123, 123, 123, 123, 240, 240, 240, 240, 83 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240, 84 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387, 85 }; 86 static const unsigned char cache_bits50[392] = { 87 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 88 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 89 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28, 90 31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 49, 50, 91 51, 52, 53, 54, 55, 55, 57, 58, 59, 60, 61, 62, 63, 63, 65, 92 66, 67, 68, 69, 70, 71, 71, 40, 20, 33, 41, 48, 53, 57, 61, 93 64, 66, 69, 71, 73, 75, 76, 78, 80, 82, 85, 87, 89, 91, 92, 94 94, 96, 98, 101, 103, 105, 107, 108, 110, 112, 114, 117, 119, 121, 123, 95 124, 126, 128, 40, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94, 96 97, 100, 102, 105, 107, 111, 115, 118, 121, 124, 126, 129, 131, 135, 139, 97 142, 145, 148, 150, 153, 155, 159, 163, 166, 169, 172, 174, 177, 179, 35, 98 28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149, 99 153, 159, 165, 171, 176, 180, 185, 189, 192, 199, 205, 211, 216, 220, 225, 100 229, 232, 239, 245, 251, 21, 33, 58, 79, 97, 112, 125, 137, 148, 157, 101 166, 174, 182, 189, 195, 201, 207, 217, 227, 235, 243, 251, 17, 35, 63, 102 86, 106, 123, 139, 152, 165, 177, 187, 197, 206, 214, 222, 230, 237, 250, 103 25, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180, 104 185, 190, 200, 208, 215, 222, 229, 235, 240, 245, 255, 16, 36, 65, 89, 105 110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250, 11, 41, 106 74, 103, 128, 151, 172, 191, 209, 225, 241, 255, 9, 43, 79, 110, 138, 107 163, 186, 207, 227, 246, 12, 39, 71, 99, 123, 144, 164, 182, 198, 214, 108 228, 241, 253, 9, 44, 81, 113, 142, 168, 192, 214, 235, 255, 7, 49, 109 90, 127, 160, 191, 220, 247, 6, 51, 95, 134, 170, 203, 234, 7, 47, 110 87, 123, 155, 184, 212, 237, 6, 52, 97, 137, 174, 208, 240, 5, 57, 111 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187, 112 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127, 113 182, 234, }; 114 static const unsigned char cache_caps50[168] = { 115 224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185, 116 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240, 117 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160, 118 160, 160, 160, 160, 160, 185, 185, 185, 185, 193, 193, 193, 183, 183, 172, 119 138, 64, 38, 240, 240, 240, 240, 240, 240, 240, 240, 207, 207, 207, 207, 120 204, 204, 204, 193, 193, 180, 143, 66, 40, 185, 185, 185, 185, 185, 185, 121 185, 185, 193, 193, 193, 193, 193, 193, 193, 183, 183, 172, 138, 65, 39, 122 207, 207, 207, 207, 207, 207, 207, 207, 204, 204, 204, 204, 201, 201, 201, 123 188, 188, 176, 141, 66, 40, 193, 193, 193, 193, 193, 193, 193, 193, 193, 124 193, 193, 193, 194, 194, 194, 184, 184, 173, 139, 65, 39, 204, 204, 204, 125 204, 204, 204, 204, 204, 201, 201, 201, 201, 198, 198, 198, 187, 187, 175, 126 140, 66, 40, }; 127 #endif 128 129 #ifdef ENABLE_QEXT 130 # ifndef DEF_QEXT_PULSE_CACHE50 131 # define DEF_QEXT_PULSE_CACHE50 132 static const opus_int16 qext_cache_index50[70] = { 133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 134 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 61, 61, 135 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 72, 72, 72, 136 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 80, 80, 80, 80, 137 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, }; 138 static const unsigned char qext_cache_bits50[86] = { 139 40, 26, 45, 59, 70, 79, 87, 94, 100, 105, 110, 114, 118, 122, 125, 140 128, 131, 136, 141, 146, 150, 153, 157, 160, 163, 168, 173, 178, 182, 185, 141 189, 192, 195, 200, 205, 210, 214, 217, 221, 224, 227, 19, 34, 61, 83, 142 101, 118, 132, 145, 157, 167, 177, 186, 194, 202, 209, 216, 222, 234, 245, 143 254, 10, 42, 77, 107, 133, 157, 179, 200, 219, 236, 253, 7, 50, 93, 144 131, 165, 197, 227, 255, 5, 58, 109, 155, 197, 237, }; 145 static const unsigned char qext_cache_caps50[112] = { 146 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 171, 147 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 163, 163, 148 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 167, 167, 167, 149 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 163, 163, 163, 163, 150 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 166, 166, 166, 166, 166, 151 166, 166, 166, 166, 166, 166, 166, 166, 166, 163, 163, 163, 163, 163, 163, 152 163, 163, 163, 163, 163, 163, 163, 163, 165, 165, 165, 165, 165, 165, 165, 153 165, 165, 165, 165, 165, 165, 165, }; 154 # endif 155 #endif 156 157 #ifndef FFT_TWIDDLES48000_960 158 #define FFT_TWIDDLES48000_960 159 static const kiss_twiddle_cpx fft_twiddles48000_960[480] = { 160 #ifdef ENABLE_QEXT 161 {2147483647, 0}, {2147299668, -28109692}, 162 {2146747759, -56214568}, {2145828016, -84309812}, 163 {2144540596, -112390610}, {2142885721, -140452151}, 164 {2140863673, -168489625}, {2138474799, -196498230}, 165 {2135719508, -224473166}, {2132598273, -252409639}, 166 {2129111628, -280302863}, {2125260170, -308148059}, 167 {2121044561, -335940456}, {2116465521, -363675290}, 168 {2111523836, -391347811}, {2106220352, -418953276}, 169 {2100555978, -446486956}, {2094531684, -473944133}, 170 {2088148504, -501320102}, {2081407530, -528610172}, 171 {2074309917, -555809667}, {2066856882, -582913927}, 172 {2059049702, -609918309}, {2050889714, -636818183}, 173 {2042378317, -663608942}, {2033516969, -690285996}, 174 {2024307188, -716844772}, {2014750553, -743280720}, 175 {2004848700, -769589312}, {1994603327, -795766038}, 176 {1984016189, -821806413}, {1973089100, -847705977}, 177 {1961823932, -873460290}, {1950222616, -899064940}, 178 {1938287139, -924515541}, {1926019547, -949807730}, 179 {1913421941, -974937175}, {1900496480, -999899569}, 180 {1887245379, -1024690635}, {1873670908, -1049306126}, 181 {1859775393, -1073741824}, {1845561216, -1097993542}, 182 {1831030811, -1122057124}, {1816186668, -1145928447}, 183 {1801031331, -1169603422}, {1785567396, -1193077991}, 184 {1769797514, -1216348132}, {1753724386, -1239409858}, 185 {1737350766, -1262259218}, {1720679461, -1284892296}, 186 {1703713325, -1307305214}, {1686455268, -1329494133}, 187 {1668908244, -1351455249}, {1651075262, -1373184801}, 188 {1632959377, -1394679064}, {1614563692, -1415934356}, 189 {1595891361, -1436947036}, {1576945581, -1457713501}, 190 {1557729600, -1478230195}, {1538246711, -1498493602}, 191 {1518500250, -1518500250}, {1498493602, -1538246711}, 192 {1478230195, -1557729600}, {1457713501, -1576945581}, 193 {1436947036, -1595891361}, {1415934356, -1614563692}, 194 {1394679064, -1632959377}, {1373184801, -1651075262}, 195 {1351455249, -1668908244}, {1329494133, -1686455268}, 196 {1307305214, -1703713325}, {1284892296, -1720679461}, 197 {1262259218, -1737350766}, {1239409858, -1753724386}, 198 {1216348132, -1769797514}, {1193077991, -1785567396}, 199 {1169603422, -1801031331}, {1145928447, -1816186668}, 200 {1122057124, -1831030811}, {1097993542, -1845561216}, 201 {1073741824, -1859775393}, {1049306126, -1873670908}, 202 {1024690635, -1887245379}, {999899569, -1900496480}, 203 {974937175, -1913421941}, {949807730, -1926019547}, 204 {924515541, -1938287139}, {899064940, -1950222616}, 205 {873460290, -1961823932}, {847705977, -1973089100}, 206 {821806413, -1984016189}, {795766038, -1994603327}, 207 {769589312, -2004848700}, {743280720, -2014750553}, 208 {716844772, -2024307188}, {690285996, -2033516969}, 209 {663608942, -2042378317}, {636818183, -2050889714}, 210 {609918309, -2059049702}, {582913927, -2066856882}, 211 {555809667, -2074309917}, {528610172, -2081407530}, 212 {501320102, -2088148504}, {473944133, -2094531684}, 213 {446486956, -2100555978}, {418953276, -2106220352}, 214 {391347811, -2111523836}, {363675290, -2116465521}, 215 {335940456, -2121044561}, {308148059, -2125260170}, 216 {280302863, -2129111628}, {252409639, -2132598273}, 217 {224473166, -2135719508}, {196498230, -2138474799}, 218 {168489625, -2140863673}, {140452151, -2142885721}, 219 {112390610, -2144540596}, {84309812, -2145828016}, 220 {56214568, -2146747759}, {28109692, -2147299668}, 221 {0, -2147483648}, {-28109692, -2147299668}, 222 {-56214568, -2146747759}, {-84309812, -2145828016}, 223 {-112390610, -2144540596}, {-140452151, -2142885721}, 224 {-168489625, -2140863673}, {-196498230, -2138474799}, 225 {-224473166, -2135719508}, {-252409639, -2132598273}, 226 {-280302863, -2129111628}, {-308148059, -2125260170}, 227 {-335940456, -2121044561}, {-363675290, -2116465521}, 228 {-391347811, -2111523836}, {-418953276, -2106220352}, 229 {-446486956, -2100555978}, {-473944133, -2094531684}, 230 {-501320102, -2088148504}, {-528610172, -2081407530}, 231 {-555809667, -2074309917}, {-582913927, -2066856882}, 232 {-609918309, -2059049702}, {-636818183, -2050889714}, 233 {-663608942, -2042378317}, {-690285996, -2033516969}, 234 {-716844772, -2024307188}, {-743280720, -2014750553}, 235 {-769589312, -2004848700}, {-795766038, -1994603327}, 236 {-821806413, -1984016189}, {-847705977, -1973089100}, 237 {-873460290, -1961823932}, {-899064940, -1950222616}, 238 {-924515541, -1938287139}, {-949807730, -1926019547}, 239 {-974937175, -1913421941}, {-999899569, -1900496480}, 240 {-1024690635, -1887245379}, {-1049306126, -1873670908}, 241 {-1073741824, -1859775393}, {-1097993542, -1845561216}, 242 {-1122057124, -1831030811}, {-1145928447, -1816186668}, 243 {-1169603422, -1801031331}, {-1193077991, -1785567396}, 244 {-1216348132, -1769797514}, {-1239409858, -1753724386}, 245 {-1262259218, -1737350766}, {-1284892296, -1720679461}, 246 {-1307305214, -1703713325}, {-1329494133, -1686455268}, 247 {-1351455249, -1668908244}, {-1373184801, -1651075262}, 248 {-1394679064, -1632959377}, {-1415934356, -1614563692}, 249 {-1436947036, -1595891361}, {-1457713501, -1576945581}, 250 {-1478230195, -1557729600}, {-1498493602, -1538246711}, 251 {-1518500250, -1518500250}, {-1538246711, -1498493602}, 252 {-1557729600, -1478230195}, {-1576945581, -1457713501}, 253 {-1595891361, -1436947036}, {-1614563692, -1415934356}, 254 {-1632959377, -1394679064}, {-1651075262, -1373184801}, 255 {-1668908244, -1351455249}, {-1686455268, -1329494133}, 256 {-1703713325, -1307305214}, {-1720679461, -1284892296}, 257 {-1737350766, -1262259218}, {-1753724386, -1239409858}, 258 {-1769797514, -1216348132}, {-1785567396, -1193077991}, 259 {-1801031331, -1169603422}, {-1816186668, -1145928447}, 260 {-1831030811, -1122057124}, {-1845561216, -1097993542}, 261 {-1859775393, -1073741824}, {-1873670908, -1049306126}, 262 {-1887245379, -1024690635}, {-1900496480, -999899569}, 263 {-1913421941, -974937175}, {-1926019547, -949807730}, 264 {-1938287139, -924515541}, {-1950222616, -899064940}, 265 {-1961823932, -873460290}, {-1973089100, -847705977}, 266 {-1984016189, -821806413}, {-1994603327, -795766038}, 267 {-2004848700, -769589312}, {-2014750553, -743280720}, 268 {-2024307188, -716844772}, {-2033516969, -690285996}, 269 {-2042378317, -663608942}, {-2050889714, -636818183}, 270 {-2059049702, -609918309}, {-2066856882, -582913927}, 271 {-2074309917, -555809667}, {-2081407530, -528610172}, 272 {-2088148504, -501320102}, {-2094531684, -473944133}, 273 {-2100555978, -446486956}, {-2106220352, -418953276}, 274 {-2111523836, -391347811}, {-2116465521, -363675290}, 275 {-2121044561, -335940456}, {-2125260170, -308148059}, 276 {-2129111628, -280302863}, {-2132598273, -252409639}, 277 {-2135719508, -224473166}, {-2138474799, -196498230}, 278 {-2140863673, -168489625}, {-2142885721, -140452151}, 279 {-2144540596, -112390610}, {-2145828016, -84309812}, 280 {-2146747759, -56214568}, {-2147299668, -28109692}, 281 {-2147483648, 0}, {-2147299668, 28109692}, 282 {-2146747759, 56214568}, {-2145828016, 84309812}, 283 {-2144540596, 112390610}, {-2142885721, 140452151}, 284 {-2140863673, 168489625}, {-2138474799, 196498230}, 285 {-2135719508, 224473166}, {-2132598273, 252409639}, 286 {-2129111628, 280302863}, {-2125260170, 308148059}, 287 {-2121044561, 335940456}, {-2116465521, 363675290}, 288 {-2111523836, 391347811}, {-2106220352, 418953276}, 289 {-2100555978, 446486956}, {-2094531684, 473944133}, 290 {-2088148504, 501320102}, {-2081407530, 528610172}, 291 {-2074309917, 555809667}, {-2066856882, 582913927}, 292 {-2059049702, 609918309}, {-2050889714, 636818183}, 293 {-2042378317, 663608942}, {-2033516969, 690285996}, 294 {-2024307188, 716844772}, {-2014750553, 743280720}, 295 {-2004848700, 769589312}, {-1994603327, 795766038}, 296 {-1984016189, 821806413}, {-1973089100, 847705977}, 297 {-1961823932, 873460290}, {-1950222616, 899064940}, 298 {-1938287139, 924515541}, {-1926019547, 949807730}, 299 {-1913421941, 974937175}, {-1900496480, 999899569}, 300 {-1887245379, 1024690635}, {-1873670908, 1049306126}, 301 {-1859775393, 1073741824}, {-1845561216, 1097993542}, 302 {-1831030811, 1122057124}, {-1816186668, 1145928447}, 303 {-1801031331, 1169603422}, {-1785567396, 1193077991}, 304 {-1769797514, 1216348132}, {-1753724386, 1239409858}, 305 {-1737350766, 1262259218}, {-1720679461, 1284892296}, 306 {-1703713325, 1307305214}, {-1686455268, 1329494133}, 307 {-1668908244, 1351455249}, {-1651075262, 1373184801}, 308 {-1632959377, 1394679064}, {-1614563692, 1415934356}, 309 {-1595891361, 1436947036}, {-1576945581, 1457713501}, 310 {-1557729600, 1478230195}, {-1538246711, 1498493602}, 311 {-1518500250, 1518500250}, {-1498493602, 1538246711}, 312 {-1478230195, 1557729600}, {-1457713501, 1576945581}, 313 {-1436947036, 1595891361}, {-1415934356, 1614563692}, 314 {-1394679064, 1632959377}, {-1373184801, 1651075262}, 315 {-1351455249, 1668908244}, {-1329494133, 1686455268}, 316 {-1307305214, 1703713325}, {-1284892296, 1720679461}, 317 {-1262259218, 1737350766}, {-1239409858, 1753724386}, 318 {-1216348132, 1769797514}, {-1193077991, 1785567396}, 319 {-1169603422, 1801031331}, {-1145928447, 1816186668}, 320 {-1122057124, 1831030811}, {-1097993542, 1845561216}, 321 {-1073741824, 1859775393}, {-1049306126, 1873670908}, 322 {-1024690635, 1887245379}, {-999899569, 1900496480}, 323 {-974937175, 1913421941}, {-949807730, 1926019547}, 324 {-924515541, 1938287139}, {-899064940, 1950222616}, 325 {-873460290, 1961823932}, {-847705977, 1973089100}, 326 {-821806413, 1984016189}, {-795766038, 1994603327}, 327 {-769589312, 2004848700}, {-743280720, 2014750553}, 328 {-716844772, 2024307188}, {-690285996, 2033516969}, 329 {-663608942, 2042378317}, {-636818183, 2050889714}, 330 {-609918309, 2059049702}, {-582913927, 2066856882}, 331 {-555809667, 2074309917}, {-528610172, 2081407530}, 332 {-501320102, 2088148504}, {-473944133, 2094531684}, 333 {-446486956, 2100555978}, {-418953276, 2106220352}, 334 {-391347811, 2111523836}, {-363675290, 2116465521}, 335 {-335940456, 2121044561}, {-308148059, 2125260170}, 336 {-280302863, 2129111628}, {-252409639, 2132598273}, 337 {-224473166, 2135719508}, {-196498230, 2138474799}, 338 {-168489625, 2140863673}, {-140452151, 2142885721}, 339 {-112390610, 2144540596}, {-84309812, 2145828016}, 340 {-56214568, 2146747759}, {-28109692, 2147299668}, 341 {0, 2147483647}, {28109692, 2147299668}, 342 {56214568, 2146747759}, {84309812, 2145828016}, 343 {112390610, 2144540596}, {140452151, 2142885721}, 344 {168489625, 2140863673}, {196498230, 2138474799}, 345 {224473166, 2135719508}, {252409639, 2132598273}, 346 {280302863, 2129111628}, {308148059, 2125260170}, 347 {335940456, 2121044561}, {363675290, 2116465521}, 348 {391347811, 2111523836}, {418953276, 2106220352}, 349 {446486956, 2100555978}, {473944133, 2094531684}, 350 {501320102, 2088148504}, {528610172, 2081407530}, 351 {555809667, 2074309917}, {582913927, 2066856882}, 352 {609918309, 2059049702}, {636818183, 2050889714}, 353 {663608942, 2042378317}, {690285996, 2033516969}, 354 {716844772, 2024307188}, {743280720, 2014750553}, 355 {769589312, 2004848700}, {795766038, 1994603327}, 356 {821806413, 1984016189}, {847705977, 1973089100}, 357 {873460290, 1961823932}, {899064940, 1950222616}, 358 {924515541, 1938287139}, {949807730, 1926019547}, 359 {974937175, 1913421941}, {999899569, 1900496480}, 360 {1024690635, 1887245379}, {1049306126, 1873670908}, 361 {1073741824, 1859775393}, {1097993542, 1845561216}, 362 {1122057124, 1831030811}, {1145928447, 1816186668}, 363 {1169603422, 1801031331}, {1193077991, 1785567396}, 364 {1216348132, 1769797514}, {1239409858, 1753724386}, 365 {1262259218, 1737350766}, {1284892296, 1720679461}, 366 {1307305214, 1703713325}, {1329494133, 1686455268}, 367 {1351455249, 1668908244}, {1373184801, 1651075262}, 368 {1394679064, 1632959377}, {1415934356, 1614563692}, 369 {1436947036, 1595891361}, {1457713501, 1576945581}, 370 {1478230195, 1557729600}, {1498493602, 1538246711}, 371 {1518500250, 1518500250}, {1538246711, 1498493602}, 372 {1557729600, 1478230195}, {1576945581, 1457713501}, 373 {1595891361, 1436947036}, {1614563692, 1415934356}, 374 {1632959377, 1394679064}, {1651075262, 1373184801}, 375 {1668908244, 1351455249}, {1686455268, 1329494133}, 376 {1703713325, 1307305214}, {1720679461, 1284892296}, 377 {1737350766, 1262259218}, {1753724386, 1239409858}, 378 {1769797514, 1216348132}, {1785567396, 1193077991}, 379 {1801031331, 1169603422}, {1816186668, 1145928447}, 380 {1831030811, 1122057124}, {1845561216, 1097993542}, 381 {1859775393, 1073741824}, {1873670908, 1049306126}, 382 {1887245379, 1024690635}, {1900496480, 999899569}, 383 {1913421941, 974937175}, {1926019547, 949807730}, 384 {1938287139, 924515541}, {1950222616, 899064940}, 385 {1961823932, 873460290}, {1973089100, 847705977}, 386 {1984016189, 821806413}, {1994603327, 795766038}, 387 {2004848700, 769589312}, {2014750553, 743280720}, 388 {2024307188, 716844772}, {2033516969, 690285996}, 389 {2042378317, 663608942}, {2050889714, 636818183}, 390 {2059049702, 609918309}, {2066856882, 582913927}, 391 {2074309917, 555809667}, {2081407530, 528610172}, 392 {2088148504, 501320102}, {2094531684, 473944133}, 393 {2100555978, 446486956}, {2106220352, 418953276}, 394 {2111523836, 391347811}, {2116465521, 363675290}, 395 {2121044561, 335940456}, {2125260170, 308148059}, 396 {2129111628, 280302863}, {2132598273, 252409639}, 397 {2135719508, 224473166}, {2138474799, 196498230}, 398 {2140863673, 168489625}, {2142885721, 140452151}, 399 {2144540596, 112390610}, {2145828016, 84309812}, 400 {2146747759, 56214568}, {2147299668, 28109692}, 401 #else 402 {32767, 0}, {32765, -429}, 403 {32757, -858}, {32743, -1286}, 404 {32723, -1715}, {32698, -2143}, 405 {32667, -2571}, {32631, -2998}, 406 {32588, -3425}, {32541, -3851}, 407 {32488, -4277}, {32429, -4702}, 408 {32365, -5126}, {32295, -5549}, 409 {32219, -5971}, {32138, -6393}, 410 {32052, -6813}, {31960, -7232}, 411 {31863, -7650}, {31760, -8066}, 412 {31651, -8481}, {31538, -8895}, 413 {31419, -9307}, {31294, -9717}, 414 {31164, -10126}, {31029, -10533}, 415 {30888, -10938}, {30743, -11342}, 416 {30592, -11743}, {30435, -12142}, 417 {30274, -12540}, {30107, -12935}, 418 {29935, -13328}, {29758, -13719}, 419 {29576, -14107}, {29389, -14493}, 420 {29197, -14876}, {28999, -15257}, 421 {28797, -15636}, {28590, -16011}, 422 {28378, -16384}, {28161, -16754}, 423 {27939, -17121}, {27713, -17485}, 424 {27482, -17847}, {27246, -18205}, 425 {27005, -18560}, {26760, -18912}, 426 {26510, -19261}, {26255, -19606}, 427 {25997, -19948}, {25733, -20286}, 428 {25466, -20622}, {25193, -20953}, 429 {24917, -21281}, {24636, -21605}, 430 {24351, -21926}, {24062, -22243}, 431 {23769, -22556}, {23472, -22865}, 432 {23170, -23170}, {22865, -23472}, 433 {22556, -23769}, {22243, -24062}, 434 {21926, -24351}, {21605, -24636}, 435 {21281, -24917}, {20953, -25193}, 436 {20622, -25466}, {20286, -25733}, 437 {19948, -25997}, {19606, -26255}, 438 {19261, -26510}, {18912, -26760}, 439 {18560, -27005}, {18205, -27246}, 440 {17847, -27482}, {17485, -27713}, 441 {17121, -27939}, {16754, -28161}, 442 {16384, -28378}, {16011, -28590}, 443 {15636, -28797}, {15257, -28999}, 444 {14876, -29197}, {14493, -29389}, 445 {14107, -29576}, {13719, -29758}, 446 {13328, -29935}, {12935, -30107}, 447 {12540, -30274}, {12142, -30435}, 448 {11743, -30592}, {11342, -30743}, 449 {10938, -30888}, {10533, -31029}, 450 {10126, -31164}, {9717, -31294}, 451 {9307, -31419}, {8895, -31538}, 452 {8481, -31651}, {8066, -31760}, 453 {7650, -31863}, {7232, -31960}, 454 {6813, -32052}, {6393, -32138}, 455 {5971, -32219}, {5549, -32295}, 456 {5126, -32365}, {4702, -32429}, 457 {4277, -32488}, {3851, -32541}, 458 {3425, -32588}, {2998, -32631}, 459 {2571, -32667}, {2143, -32698}, 460 {1715, -32723}, {1286, -32743}, 461 {858, -32757}, {429, -32765}, 462 {0, -32767}, {-429, -32765}, 463 {-858, -32757}, {-1286, -32743}, 464 {-1715, -32723}, {-2143, -32698}, 465 {-2571, -32667}, {-2998, -32631}, 466 {-3425, -32588}, {-3851, -32541}, 467 {-4277, -32488}, {-4702, -32429}, 468 {-5126, -32365}, {-5549, -32295}, 469 {-5971, -32219}, {-6393, -32138}, 470 {-6813, -32052}, {-7232, -31960}, 471 {-7650, -31863}, {-8066, -31760}, 472 {-8481, -31651}, {-8895, -31538}, 473 {-9307, -31419}, {-9717, -31294}, 474 {-10126, -31164}, {-10533, -31029}, 475 {-10938, -30888}, {-11342, -30743}, 476 {-11743, -30592}, {-12142, -30435}, 477 {-12540, -30274}, {-12935, -30107}, 478 {-13328, -29935}, {-13719, -29758}, 479 {-14107, -29576}, {-14493, -29389}, 480 {-14876, -29197}, {-15257, -28999}, 481 {-15636, -28797}, {-16011, -28590}, 482 {-16384, -28378}, {-16754, -28161}, 483 {-17121, -27939}, {-17485, -27713}, 484 {-17847, -27482}, {-18205, -27246}, 485 {-18560, -27005}, {-18912, -26760}, 486 {-19261, -26510}, {-19606, -26255}, 487 {-19948, -25997}, {-20286, -25733}, 488 {-20622, -25466}, {-20953, -25193}, 489 {-21281, -24917}, {-21605, -24636}, 490 {-21926, -24351}, {-22243, -24062}, 491 {-22556, -23769}, {-22865, -23472}, 492 {-23170, -23170}, {-23472, -22865}, 493 {-23769, -22556}, {-24062, -22243}, 494 {-24351, -21926}, {-24636, -21605}, 495 {-24917, -21281}, {-25193, -20953}, 496 {-25466, -20622}, {-25733, -20286}, 497 {-25997, -19948}, {-26255, -19606}, 498 {-26510, -19261}, {-26760, -18912}, 499 {-27005, -18560}, {-27246, -18205}, 500 {-27482, -17847}, {-27713, -17485}, 501 {-27939, -17121}, {-28161, -16754}, 502 {-28378, -16384}, {-28590, -16011}, 503 {-28797, -15636}, {-28999, -15257}, 504 {-29197, -14876}, {-29389, -14493}, 505 {-29576, -14107}, {-29758, -13719}, 506 {-29935, -13328}, {-30107, -12935}, 507 {-30274, -12540}, {-30435, -12142}, 508 {-30592, -11743}, {-30743, -11342}, 509 {-30888, -10938}, {-31029, -10533}, 510 {-31164, -10126}, {-31294, -9717}, 511 {-31419, -9307}, {-31538, -8895}, 512 {-31651, -8481}, {-31760, -8066}, 513 {-31863, -7650}, {-31960, -7232}, 514 {-32052, -6813}, {-32138, -6393}, 515 {-32219, -5971}, {-32295, -5549}, 516 {-32365, -5126}, {-32429, -4702}, 517 {-32488, -4277}, {-32541, -3851}, 518 {-32588, -3425}, {-32631, -2998}, 519 {-32667, -2571}, {-32698, -2143}, 520 {-32723, -1715}, {-32743, -1286}, 521 {-32757, -858}, {-32765, -429}, 522 {-32767, 0}, {-32765, 429}, 523 {-32757, 858}, {-32743, 1286}, 524 {-32723, 1715}, {-32698, 2143}, 525 {-32667, 2571}, {-32631, 2998}, 526 {-32588, 3425}, {-32541, 3851}, 527 {-32488, 4277}, {-32429, 4702}, 528 {-32365, 5126}, {-32295, 5549}, 529 {-32219, 5971}, {-32138, 6393}, 530 {-32052, 6813}, {-31960, 7232}, 531 {-31863, 7650}, {-31760, 8066}, 532 {-31651, 8481}, {-31538, 8895}, 533 {-31419, 9307}, {-31294, 9717}, 534 {-31164, 10126}, {-31029, 10533}, 535 {-30888, 10938}, {-30743, 11342}, 536 {-30592, 11743}, {-30435, 12142}, 537 {-30274, 12540}, {-30107, 12935}, 538 {-29935, 13328}, {-29758, 13719}, 539 {-29576, 14107}, {-29389, 14493}, 540 {-29197, 14876}, {-28999, 15257}, 541 {-28797, 15636}, {-28590, 16011}, 542 {-28378, 16384}, {-28161, 16754}, 543 {-27939, 17121}, {-27713, 17485}, 544 {-27482, 17847}, {-27246, 18205}, 545 {-27005, 18560}, {-26760, 18912}, 546 {-26510, 19261}, {-26255, 19606}, 547 {-25997, 19948}, {-25733, 20286}, 548 {-25466, 20622}, {-25193, 20953}, 549 {-24917, 21281}, {-24636, 21605}, 550 {-24351, 21926}, {-24062, 22243}, 551 {-23769, 22556}, {-23472, 22865}, 552 {-23170, 23170}, {-22865, 23472}, 553 {-22556, 23769}, {-22243, 24062}, 554 {-21926, 24351}, {-21605, 24636}, 555 {-21281, 24917}, {-20953, 25193}, 556 {-20622, 25466}, {-20286, 25733}, 557 {-19948, 25997}, {-19606, 26255}, 558 {-19261, 26510}, {-18912, 26760}, 559 {-18560, 27005}, {-18205, 27246}, 560 {-17847, 27482}, {-17485, 27713}, 561 {-17121, 27939}, {-16754, 28161}, 562 {-16384, 28378}, {-16011, 28590}, 563 {-15636, 28797}, {-15257, 28999}, 564 {-14876, 29197}, {-14493, 29389}, 565 {-14107, 29576}, {-13719, 29758}, 566 {-13328, 29935}, {-12935, 30107}, 567 {-12540, 30274}, {-12142, 30435}, 568 {-11743, 30592}, {-11342, 30743}, 569 {-10938, 30888}, {-10533, 31029}, 570 {-10126, 31164}, {-9717, 31294}, 571 {-9307, 31419}, {-8895, 31538}, 572 {-8481, 31651}, {-8066, 31760}, 573 {-7650, 31863}, {-7232, 31960}, 574 {-6813, 32052}, {-6393, 32138}, 575 {-5971, 32219}, {-5549, 32295}, 576 {-5126, 32365}, {-4702, 32429}, 577 {-4277, 32488}, {-3851, 32541}, 578 {-3425, 32588}, {-2998, 32631}, 579 {-2571, 32667}, {-2143, 32698}, 580 {-1715, 32723}, {-1286, 32743}, 581 {-858, 32757}, {-429, 32765}, 582 {0, 32767}, {429, 32765}, 583 {858, 32757}, {1286, 32743}, 584 {1715, 32723}, {2143, 32698}, 585 {2571, 32667}, {2998, 32631}, 586 {3425, 32588}, {3851, 32541}, 587 {4277, 32488}, {4702, 32429}, 588 {5126, 32365}, {5549, 32295}, 589 {5971, 32219}, {6393, 32138}, 590 {6813, 32052}, {7232, 31960}, 591 {7650, 31863}, {8066, 31760}, 592 {8481, 31651}, {8895, 31538}, 593 {9307, 31419}, {9717, 31294}, 594 {10126, 31164}, {10533, 31029}, 595 {10938, 30888}, {11342, 30743}, 596 {11743, 30592}, {12142, 30435}, 597 {12540, 30274}, {12935, 30107}, 598 {13328, 29935}, {13719, 29758}, 599 {14107, 29576}, {14493, 29389}, 600 {14876, 29197}, {15257, 28999}, 601 {15636, 28797}, {16011, 28590}, 602 {16384, 28378}, {16754, 28161}, 603 {17121, 27939}, {17485, 27713}, 604 {17847, 27482}, {18205, 27246}, 605 {18560, 27005}, {18912, 26760}, 606 {19261, 26510}, {19606, 26255}, 607 {19948, 25997}, {20286, 25733}, 608 {20622, 25466}, {20953, 25193}, 609 {21281, 24917}, {21605, 24636}, 610 {21926, 24351}, {22243, 24062}, 611 {22556, 23769}, {22865, 23472}, 612 {23170, 23170}, {23472, 22865}, 613 {23769, 22556}, {24062, 22243}, 614 {24351, 21926}, {24636, 21605}, 615 {24917, 21281}, {25193, 20953}, 616 {25466, 20622}, {25733, 20286}, 617 {25997, 19948}, {26255, 19606}, 618 {26510, 19261}, {26760, 18912}, 619 {27005, 18560}, {27246, 18205}, 620 {27482, 17847}, {27713, 17485}, 621 {27939, 17121}, {28161, 16754}, 622 {28378, 16384}, {28590, 16011}, 623 {28797, 15636}, {28999, 15257}, 624 {29197, 14876}, {29389, 14493}, 625 {29576, 14107}, {29758, 13719}, 626 {29935, 13328}, {30107, 12935}, 627 {30274, 12540}, {30435, 12142}, 628 {30592, 11743}, {30743, 11342}, 629 {30888, 10938}, {31029, 10533}, 630 {31164, 10126}, {31294, 9717}, 631 {31419, 9307}, {31538, 8895}, 632 {31651, 8481}, {31760, 8066}, 633 {31863, 7650}, {31960, 7232}, 634 {32052, 6813}, {32138, 6393}, 635 {32219, 5971}, {32295, 5549}, 636 {32365, 5126}, {32429, 4702}, 637 {32488, 4277}, {32541, 3851}, 638 {32588, 3425}, {32631, 2998}, 639 {32667, 2571}, {32698, 2143}, 640 {32723, 1715}, {32743, 1286}, 641 {32757, 858}, {32765, 429}, 642 #endif 643 }; 644 #ifndef FFT_BITREV480 645 #define FFT_BITREV480 646 static const opus_int16 fft_bitrev480[480] = { 647 0, 96, 192, 288, 384, 32, 128, 224, 320, 416, 64, 160, 256, 352, 448, 648 8, 104, 200, 296, 392, 40, 136, 232, 328, 424, 72, 168, 264, 360, 456, 649 16, 112, 208, 304, 400, 48, 144, 240, 336, 432, 80, 176, 272, 368, 464, 650 24, 120, 216, 312, 408, 56, 152, 248, 344, 440, 88, 184, 280, 376, 472, 651 4, 100, 196, 292, 388, 36, 132, 228, 324, 420, 68, 164, 260, 356, 452, 652 12, 108, 204, 300, 396, 44, 140, 236, 332, 428, 76, 172, 268, 364, 460, 653 20, 116, 212, 308, 404, 52, 148, 244, 340, 436, 84, 180, 276, 372, 468, 654 28, 124, 220, 316, 412, 60, 156, 252, 348, 444, 92, 188, 284, 380, 476, 655 1, 97, 193, 289, 385, 33, 129, 225, 321, 417, 65, 161, 257, 353, 449, 656 9, 105, 201, 297, 393, 41, 137, 233, 329, 425, 73, 169, 265, 361, 457, 657 17, 113, 209, 305, 401, 49, 145, 241, 337, 433, 81, 177, 273, 369, 465, 658 25, 121, 217, 313, 409, 57, 153, 249, 345, 441, 89, 185, 281, 377, 473, 659 5, 101, 197, 293, 389, 37, 133, 229, 325, 421, 69, 165, 261, 357, 453, 660 13, 109, 205, 301, 397, 45, 141, 237, 333, 429, 77, 173, 269, 365, 461, 661 21, 117, 213, 309, 405, 53, 149, 245, 341, 437, 85, 181, 277, 373, 469, 662 29, 125, 221, 317, 413, 61, 157, 253, 349, 445, 93, 189, 285, 381, 477, 663 2, 98, 194, 290, 386, 34, 130, 226, 322, 418, 66, 162, 258, 354, 450, 664 10, 106, 202, 298, 394, 42, 138, 234, 330, 426, 74, 170, 266, 362, 458, 665 18, 114, 210, 306, 402, 50, 146, 242, 338, 434, 82, 178, 274, 370, 466, 666 26, 122, 218, 314, 410, 58, 154, 250, 346, 442, 90, 186, 282, 378, 474, 667 6, 102, 198, 294, 390, 38, 134, 230, 326, 422, 70, 166, 262, 358, 454, 668 14, 110, 206, 302, 398, 46, 142, 238, 334, 430, 78, 174, 270, 366, 462, 669 22, 118, 214, 310, 406, 54, 150, 246, 342, 438, 86, 182, 278, 374, 470, 670 30, 126, 222, 318, 414, 62, 158, 254, 350, 446, 94, 190, 286, 382, 478, 671 3, 99, 195, 291, 387, 35, 131, 227, 323, 419, 67, 163, 259, 355, 451, 672 11, 107, 203, 299, 395, 43, 139, 235, 331, 427, 75, 171, 267, 363, 459, 673 19, 115, 211, 307, 403, 51, 147, 243, 339, 435, 83, 179, 275, 371, 467, 674 27, 123, 219, 315, 411, 59, 155, 251, 347, 443, 91, 187, 283, 379, 475, 675 7, 103, 199, 295, 391, 39, 135, 231, 327, 423, 71, 167, 263, 359, 455, 676 15, 111, 207, 303, 399, 47, 143, 239, 335, 431, 79, 175, 271, 367, 463, 677 23, 119, 215, 311, 407, 55, 151, 247, 343, 439, 87, 183, 279, 375, 471, 678 31, 127, 223, 319, 415, 63, 159, 255, 351, 447, 95, 191, 287, 383, 479, 679 }; 680 #endif 681 682 #ifndef FFT_BITREV240 683 #define FFT_BITREV240 684 static const opus_int16 fft_bitrev240[240] = { 685 0, 48, 96, 144, 192, 16, 64, 112, 160, 208, 32, 80, 128, 176, 224, 686 4, 52, 100, 148, 196, 20, 68, 116, 164, 212, 36, 84, 132, 180, 228, 687 8, 56, 104, 152, 200, 24, 72, 120, 168, 216, 40, 88, 136, 184, 232, 688 12, 60, 108, 156, 204, 28, 76, 124, 172, 220, 44, 92, 140, 188, 236, 689 1, 49, 97, 145, 193, 17, 65, 113, 161, 209, 33, 81, 129, 177, 225, 690 5, 53, 101, 149, 197, 21, 69, 117, 165, 213, 37, 85, 133, 181, 229, 691 9, 57, 105, 153, 201, 25, 73, 121, 169, 217, 41, 89, 137, 185, 233, 692 13, 61, 109, 157, 205, 29, 77, 125, 173, 221, 45, 93, 141, 189, 237, 693 2, 50, 98, 146, 194, 18, 66, 114, 162, 210, 34, 82, 130, 178, 226, 694 6, 54, 102, 150, 198, 22, 70, 118, 166, 214, 38, 86, 134, 182, 230, 695 10, 58, 106, 154, 202, 26, 74, 122, 170, 218, 42, 90, 138, 186, 234, 696 14, 62, 110, 158, 206, 30, 78, 126, 174, 222, 46, 94, 142, 190, 238, 697 3, 51, 99, 147, 195, 19, 67, 115, 163, 211, 35, 83, 131, 179, 227, 698 7, 55, 103, 151, 199, 23, 71, 119, 167, 215, 39, 87, 135, 183, 231, 699 11, 59, 107, 155, 203, 27, 75, 123, 171, 219, 43, 91, 139, 187, 235, 700 15, 63, 111, 159, 207, 31, 79, 127, 175, 223, 47, 95, 143, 191, 239, 701 }; 702 #endif 703 704 #ifndef FFT_BITREV120 705 #define FFT_BITREV120 706 static const opus_int16 fft_bitrev120[120] = { 707 0, 24, 48, 72, 96, 8, 32, 56, 80, 104, 16, 40, 64, 88, 112, 708 4, 28, 52, 76, 100, 12, 36, 60, 84, 108, 20, 44, 68, 92, 116, 709 1, 25, 49, 73, 97, 9, 33, 57, 81, 105, 17, 41, 65, 89, 113, 710 5, 29, 53, 77, 101, 13, 37, 61, 85, 109, 21, 45, 69, 93, 117, 711 2, 26, 50, 74, 98, 10, 34, 58, 82, 106, 18, 42, 66, 90, 114, 712 6, 30, 54, 78, 102, 14, 38, 62, 86, 110, 22, 46, 70, 94, 118, 713 3, 27, 51, 75, 99, 11, 35, 59, 83, 107, 19, 43, 67, 91, 115, 714 7, 31, 55, 79, 103, 15, 39, 63, 87, 111, 23, 47, 71, 95, 119, 715 }; 716 #endif 717 718 #ifndef FFT_BITREV60 719 #define FFT_BITREV60 720 static const opus_int16 fft_bitrev60[60] = { 721 0, 12, 24, 36, 48, 4, 16, 28, 40, 52, 8, 20, 32, 44, 56, 722 1, 13, 25, 37, 49, 5, 17, 29, 41, 53, 9, 21, 33, 45, 57, 723 2, 14, 26, 38, 50, 6, 18, 30, 42, 54, 10, 22, 34, 46, 58, 724 3, 15, 27, 39, 51, 7, 19, 31, 43, 55, 11, 23, 35, 47, 59, 725 }; 726 #endif 727 728 #ifndef FFT_STATE48000_960_0 729 #define FFT_STATE48000_960_0 730 static const kiss_fft_state fft_state48000_960_0 = { 731 480, /* nfft */ 732 #ifdef ENABLE_QEXT 733 572662306, /* scale */ 734 #else 735 17476, /* scale */ 736 #endif 737 8, /* scale_shift */ 738 -1, /* shift */ 739 {5, 96, 3, 32, 4, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, }, /* factors */ 740 fft_bitrev480, /* bitrev */ 741 fft_twiddles48000_960, /* bitrev */ 742 #ifdef OVERRIDE_FFT 743 (arch_fft_state *)&cfg_arch_480, 744 #else 745 NULL, 746 #endif 747 }; 748 #endif 749 750 #ifndef FFT_STATE48000_960_1 751 #define FFT_STATE48000_960_1 752 static const kiss_fft_state fft_state48000_960_1 = { 753 240, /* nfft */ 754 #ifdef ENABLE_QEXT 755 572662306, /* scale */ 756 #else 757 17476, /* scale */ 758 #endif 759 7, /* scale_shift */ 760 1, /* shift */ 761 {5, 48, 3, 16, 4, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ 762 fft_bitrev240, /* bitrev */ 763 fft_twiddles48000_960, /* bitrev */ 764 #ifdef OVERRIDE_FFT 765 (arch_fft_state *)&cfg_arch_240, 766 #else 767 NULL, 768 #endif 769 }; 770 #endif 771 772 #ifndef FFT_STATE48000_960_2 773 #define FFT_STATE48000_960_2 774 static const kiss_fft_state fft_state48000_960_2 = { 775 120, /* nfft */ 776 #ifdef ENABLE_QEXT 777 572662306, /* scale */ 778 #else 779 17476, /* scale */ 780 #endif 781 6, /* scale_shift */ 782 2, /* shift */ 783 {5, 24, 3, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ 784 fft_bitrev120, /* bitrev */ 785 fft_twiddles48000_960, /* bitrev */ 786 #ifdef OVERRIDE_FFT 787 (arch_fft_state *)&cfg_arch_120, 788 #else 789 NULL, 790 #endif 791 }; 792 #endif 793 794 #ifndef FFT_STATE48000_960_3 795 #define FFT_STATE48000_960_3 796 static const kiss_fft_state fft_state48000_960_3 = { 797 60, /* nfft */ 798 #ifdef ENABLE_QEXT 799 572662306, /* scale */ 800 #else 801 17476, /* scale */ 802 #endif 803 5, /* scale_shift */ 804 3, /* shift */ 805 {5, 12, 3, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ 806 fft_bitrev60, /* bitrev */ 807 fft_twiddles48000_960, /* bitrev */ 808 #ifdef OVERRIDE_FFT 809 (arch_fft_state *)&cfg_arch_60, 810 #else 811 NULL, 812 #endif 813 }; 814 #endif 815 816 #endif 817 818 #ifndef MDCT_TWIDDLES960 819 #define MDCT_TWIDDLES960 820 static const celt_coef mdct_twiddles960[1800] = { 821 #ifdef ENABLE_QEXT 822 2147483468, 2147469095, 2147431723, 2147371355, 2147287990, 823 2147181629, 2147052273, 2146899924, 2146724584, 2146526254, 824 2146304937, 2146060634, 2145793349, 2145503083, 2145189842, 825 2144853627, 2144494442, 2144112292, 2143707180, 2143279110, 826 2142828088, 2142354118, 2141857204, 2141337354, 2140794571, 827 2140228862, 2139640233, 2139028690, 2138394240, 2137736889, 828 2137056645, 2136353515, 2135627506, 2134878626, 2134106884, 829 2133312286, 2132494843, 2131654563, 2130791454, 2129905526, 830 2128996788, 2128065251, 2127110924, 2126133817, 2125133941, 831 2124111307, 2123065925, 2121997806, 2120906963, 2119793407, 832 2118657149, 2117498202, 2116316578, 2115112291, 2113885352, 833 2112635775, 2111363574, 2110068761, 2108751352, 2107411359, 834 2106048798, 2104663683, 2103256028, 2101825849, 2100373162, 835 2098897981, 2097400322, 2095880202, 2094337637, 2092772643, 836 2091185237, 2089575437, 2087943258, 2086288720, 2084611839, 837 2082912633, 2081191122, 2079447322, 2077681253, 2075892934, 838 2074082383, 2072249621, 2070394667, 2068517540, 2066618262, 839 2064696851, 2062753329, 2060787717, 2058800036, 2056790306, 840 2054758550, 2052704789, 2050629045, 2048531340, 2046411698, 841 2044270140, 2042106689, 2039921369, 2037714204, 2035485216, 842 2033234429, 2030961869, 2028667558, 2026351522, 2024013785, 843 2021654373, 2019273310, 2016870623, 2014446336, 2012000477, 844 2009533071, 2007044144, 2004533723, 2002001835, 1999448508, 845 1996873768, 1994277643, 1991660161, 1989021350, 1986361238, 846 1983679853, 1980977226, 1978253383, 1975508355, 1972742171, 847 1969954860, 1967146453, 1964316979, 1961466469, 1958594953, 848 1955702462, 1952789027, 1949854680, 1946899451, 1943923372, 849 1940926475, 1937908793, 1934870357, 1931811201, 1928731356, 850 1925630856, 1922509734, 1919368023, 1916205758, 1913022972, 851 1909819698, 1906595972, 1903351828, 1900087301, 1896802425, 852 1893497236, 1890171769, 1886826060, 1883460144, 1880074058, 853 1876667838, 1873241521, 1869795142, 1866328740, 1862842350, 854 1859336011, 1855809760, 1852263635, 1848697674, 1845111914, 855 1841506395, 1837881155, 1834236233, 1830571667, 1826887497, 856 1823183763, 1819460504, 1815717761, 1811955572, 1808173978, 857 1804373021, 1800552740, 1796713177, 1792854372, 1788976368, 858 1785079205, 1781162925, 1777227570, 1773273182, 1769299805, 859 1765307479, 1761296249, 1757266156, 1753217244, 1749149557, 860 1745063138, 1740958031, 1736834279, 1732691928, 1728531020, 861 1724351602, 1720153717, 1715937410, 1711702727, 1707449714, 862 1703178415, 1698888876, 1694581143, 1690255263, 1685911282, 863 1681549245, 1677169201, 1672771196, 1668355276, 1663921490, 864 1659469885, 1655000508, 1650513407, 1646008631, 1641486227, 865 1636946244, 1632388731, 1627813736, 1623221309, 1618611498, 866 1613984353, 1609339924, 1604678260, 1599999411, 1595303428, 867 1590590360, 1585860258, 1581113173, 1576349155, 1571568256, 868 1566770527, 1561956018, 1557124783, 1552276872, 1547412337, 869 1542531231, 1537633606, 1532719513, 1527789007, 1522842139, 870 1517878963, 1512899531, 1507903898, 1502892116, 1497864239, 871 1492820322, 1487760417, 1482684580, 1477592864, 1472485325, 872 1467362016, 1462222994, 1457068312, 1451898025, 1446712191, 873 1441510863, 1436294098, 1431061951, 1425814478, 1420551737, 874 1415273782, 1409980671, 1404672460, 1399349206, 1394010966, 875 1388657798, 1383289758, 1377906904, 1372509294, 1367096986, 876 1361670037, 1356228505, 1350772450, 1345301929, 1339817000, 877 1334317724, 1328804158, 1323276361, 1317734393, 1312178313, 878 1306608181, 1301024057, 1295425999, 1289814068, 1284188325, 879 1278548828, 1272895640, 1267228820, 1261548429, 1255854528, 880 1250147177, 1244426439, 1238692373, 1232945043, 1227184508, 881 1221410831, 1215624074, 1209824299, 1204011567, 1198185941, 882 1192347484, 1186496258, 1180632325, 1174755748, 1168866591, 883 1162964917, 1157050787, 1151124267, 1145185419, 1139234307, 884 1133270995, 1127295547, 1121308026, 1115308496, 1109297023, 885 1103273670, 1097238502, 1091191583, 1085132978, 1079062753, 886 1072980972, 1066887699, 1060783002, 1054666944, 1048539592, 887 1042401010, 1036251266, 1030090423, 1023918550, 1017735711, 888 1011541973, 1005337402, 999122065, 992896028, 986659358, 889 980412122, 974154386, 967886217, 961607684, 955318852, 890 949019790, 942710564, 936391243, 930061894, 923722585, 891 917373383, 911014357, 904645574, 898267104, 891879014, 892 885481373, 879074249, 872657710, 866231826, 859796666, 893 853352298, 846898791, 840436214, 833964638, 827484130, 894 820994760, 814496598, 807989714, 801474176, 794950056, 895 788417422, 781876345, 775326894, 768769141, 762203154, 896 755629005, 749046764, 742456501, 735858287, 729252193, 897 722638289, 716016646, 709387335, 702750427, 696105993, 898 689454104, 682794832, 676128248, 669454423, 662773428, 899 656085336, 649390218, 642688145, 635979190, 629263424, 900 622540918, 615811746, 609075979, 602333690, 595584950, 901 588829831, 582068407, 575300749, 568526931, 561747023, 902 554961100, 548169234, 541371497, 534567963, 527758704, 903 520943793, 514123303, 507297307, 500465878, 493629090, 904 486787016, 479939728, 473087301, 466229807, 459367320, 905 452499914, 445627662, 438750638, 431868915, 424982567, 906 418091668, 411196291, 404296511, 397392401, 390484035, 907 383571488, 376654833, 369734144, 362809495, 355880961, 908 348948616, 342012534, 335072790, 328129457, 321182610, 909 314232323, 307278671, 300321729, 293361570, 286398270, 910 279431902, 272462542, 265490265, 258515144, 251537254, 911 244556671, 237573469, 230587722, 223599506, 216608896, 912 209615966, 202620791, 195623446, 188624006, 181622546, 913 174619141, 167613866, 160606796, 153598006, 146587571, 914 139575567, 132562067, 125547148, 118530885, 111513352, 915 104494625, 97474778, 90453888, 83432030, 76409277, 916 69385707, 62361393, 55336412, 48310838, 41284746, 917 34258213, 27231312, 20204120, 13176712, 6149162, 918 -878453, -7906059, -14933580, -21960942, -28988068, 919 -36014884, -43041314, -50067283, -57092716, -64117537, 920 -71141672, -78165045, -85187581, -92209205, -99229841, 921 -106249414, -113267850, -120285073, -127301007, -134315578, 922 -141328711, -148340330, -155350361, -162358728, -169365356, 923 -176370170, -183373096, -190374058, -197372981, -204369791, 924 -211364411, -218356769, -225346788, -232334393, -239319511, 925 -246302065, -253281982, -260259186, -267233603, -274205159, 926 -281173778, -288139385, -295101907, -302061269, -309017396, 927 -315970213, -322919647, -329865622, -336808065, -343746901, 928 -350682056, -357613455, -364541025, -371464690, -378384377, 929 -385300013, -392211522, -399118830, -406021865, -412920551, 930 -419814815, -426704583, -433589782, -440470337, -447346176, 931 -454217223, -461083406, -467944652, -474800886, -481652035, 932 -488498026, -495338786, -502174241, -509004318, -515828944, 933 -522648046, -529461551, -536269386, -543071478, -549867754, 934 -556658141, -563442567, -570220959, -576993244, -583759350, 935 -590519205, -597272736, -604019870, -610760536, -617494660, 936 -624222173, -630943000, -637657070, -644364312, -651064652, 937 -657758021, -664444345, -671123554, -677795576, -684460338, 938 -691117771, -697767803, -704410362, -711045377, -717672778, 939 -724292493, -730904451, -737508582, -744104815, -750693079, 940 -757273304, -763845419, -770409354, -776965038, -783512402, 941 -790051375, -796581887, -803103868, -809617249, -816121959, 942 -822617929, -829105090, -835583372, -842052705, -848513021, 943 -854964249, -861406322, -867839170, -874262724, -880676915, 944 -887081675, -893476935, -899862626, -906238681, -912605031, 945 -918961607, -925308342, -931645168, -937972016, -944288820, 946 -950595511, -956892022, -963178285, -969454234, -975719800, 947 -981974918, -988219519, -994453537, -1000676905, -1006889557, 948 -1013091426, -1019282445, -1025462549, -1031631671, -1037789745, 949 -1043936705, -1050072485, -1056197020, -1062310244, -1068412091, 950 -1074502497, -1080581395, -1086648722, -1092704411, -1098748398, 951 -1104780618, -1110801008, -1116809501, -1122806034, -1128790543, 952 -1134762964, -1140723232, -1146671283, -1152607055, -1158530484, 953 -1164441505, -1170340057, -1176226074, -1182099496, -1187960258, 954 -1193808298, -1199643553, -1205465961, -1211275460, -1217071986, 955 -1222855479, -1228625876, -1234383115, -1240127136, -1245857875, 956 -1251575272, -1257279266, -1262969796, -1268646800, -1274310217, 957 -1279959989, -1285596052, -1291218348, -1296826816, -1302421396, 958 -1308002029, -1313568653, -1319121210, -1324659641, -1330183885, 959 -1335693885, -1341189580, -1346670912, -1352137822, -1357590252, 960 -1363028143, -1368451438, -1373860077, -1379254004, -1384633159, 961 -1389997487, -1395346928, -1400681427, -1406000925, -1411305366, 962 -1416594694, -1421868850, -1427127780, -1432371426, -1437599733, 963 -1442812644, -1448010104, -1453192057, -1458358447, -1463509220, 964 -1468644319, -1473763690, -1478867279, -1483955030, -1489026889, 965 -1494082802, -1499122714, -1504146572, -1509154322, -1514145910, 966 -1519121283, -1524080387, -1529023170, -1533949577, -1538859558, 967 -1543753058, -1548630027, -1553490410, -1558334157, -1563161216, 968 -1567971534, -1572765060, -1577541744, -1582301533, -1587044377, 969 -1591770225, -1596479027, -1601170732, -1605845289, -1610502649, 970 -1615142762, -1619765578, -1624371047, -1628959121, -1633529750, 971 -1638082885, -1642618478, -1647136479, -1651636841, -1656119516, 972 -1660584454, -1665031609, -1669460933, -1673872378, -1678265898, 973 -1682641444, -1686998971, -1691338432, -1695659779, -1699962968, 974 -1704247951, -1708514683, -1712763118, -1716993211, -1721204917, 975 -1725398189, -1729572984, -1733729257, -1737866963, -1741986057, 976 -1746086497, -1750168237, -1754231234, -1758275445, -1762300826, 977 -1766307335, -1770294927, -1774263561, -1778213194, -1782143784, 978 -1786055289, -1789947667, -1793820875, -1797674873, -1801509620, 979 -1805325074, -1809121194, -1812897940, -1816655271, -1820393147, 980 -1824111529, -1827810376, -1831489648, -1835149306, -1838789312, 981 -1842409625, -1846010208, -1849591022, -1853152028, -1856693188, 982 -1860214464, -1863715819, -1867197215, -1870658615, -1874099982, 983 -1877521279, -1880922469, -1884303515, -1887664383, -1891005035, 984 -1894325435, -1897625550, -1900905342, -1904164776, -1907403819, 985 -1910622435, -1913820590, -1916998250, -1920155379, -1923291946, 986 -1926407915, -1929503255, -1932577931, -1935631910, -1938665161, 987 -1941677650, -1944669345, -1947640214, -1950590226, -1953519348, 988 -1956427550, -1959314800, -1962181067, -1965026321, -1967850531, 989 -1970653667, -1973435699, -1976196596, -1978936331, -1981654873, 990 -1984352192, -1987028261, -1989683050, -1992316532, -1994928677, 991 -1997519459, -2000088848, -2002636818, -2005163342, -2007668391, 992 -2010151941, -2012613963, -2015054432, -2017473321, -2019870604, 993 -2022246257, -2024600252, -2026932566, -2029243173, -2031532049, 994 -2033799168, -2036044507, -2038268042, -2040469748, -2042649603, 995 -2044807583, -2046943664, -2049057824, -2051150040, -2053220291, 996 -2055268553, -2057294804, -2059299024, -2061281190, -2063241282, 997 -2065179277, -2067095157, -2068988899, -2070860485, -2072709893, 998 -2074537104, -2076342098, -2078124857, -2079885360, -2081623590, 999 -2083339527, -2085033153, -2086704450, -2088353400, -2089979985, 1000 -2091584189, -2093165993, -2094725382, -2096262337, -2097776843, 1001 -2099268884, -2100738443, -2102185505, -2103610054, -2105012075, 1002 -2106391553, -2107748474, -2109082822, -2110394584, -2111683744, 1003 -2112950291, -2114194210, -2115415487, -2116614110, -2117790065, 1004 -2118943341, -2120073924, -2121181804, -2122266967, -2123329402, 1005 -2124369098, -2125386044, -2126380229, -2127351642, -2128300272, 1006 -2129226111, -2130129147, -2131009371, -2131866773, -2132701345, 1007 -2133513078, -2134301962, -2135067990, -2135811153, -2136531442, 1008 -2137228852, -2137903373, -2138555000, -2139183723, -2139789539, 1009 -2140372438, -2140932416, -2141469466, -2141983583, -2142474761, 1010 -2142942995, -2143388280, -2143810610, -2144209982, -2144586392, 1011 -2144939834, -2145270306, -2145577804, -2145862324, -2146123864, 1012 -2146362421, -2146577992, -2146770575, -2146940167, -2147086768, 1013 -2147210375, -2147310987, -2147388603, -2147443222, -2147474844, 1014 2147482929, 2147425435, 2147275952, 2147034487, 2146701050, 1015 2146275656, 2145758322, 2145149071, 2144447929, 2143654926, 1016 2142770096, 2141793477, 2140725111, 2139565043, 2138313323, 1017 2136970005, 2135535146, 2134008809, 2132391057, 2130681961, 1018 2128881593, 2126990031, 2125007356, 2122933653, 2120769010, 1019 2118513521, 2116167282, 2113730393, 2111202959, 2108585087, 1020 2105876892, 2103078487, 2100189994, 2097211535, 2094143239, 1021 2090985237, 2087737664, 2084400659, 2080974365, 2077458929, 1022 2073854502, 2070161238, 2066379295, 2062508835, 2058550025, 1023 2054503033, 2050368032, 2046145201, 2041834720, 2037436773, 1024 2032951550, 2028379241, 2023720043, 2018974156, 2014141783, 1025 2009223131, 2004218410, 1999127836, 1993951625, 1988690000, 1026 1983343186, 1977911412, 1972394912, 1966793920, 1961108677, 1027 1955339428, 1949486417, 1943549898, 1937530123, 1931427351, 1028 1925241843, 1918973864, 1912623682, 1906191570, 1899677803, 1029 1893082661, 1886406424, 1879649381, 1872811820, 1865894033, 1030 1858896318, 1851818974, 1844662304, 1837426615, 1830112217, 1031 1822719423, 1815248550, 1807699917, 1800073849, 1792370671, 1032 1784590714, 1776734311, 1768801799, 1760793518, 1752709809, 1033 1744551021, 1736317502, 1728009604, 1719627685, 1711172102, 1034 1702643219, 1694041400, 1685367013, 1676620432, 1667802029, 1035 1658912184, 1649951276, 1640919689, 1631817811, 1622646032, 1036 1613404744, 1604094343, 1594715227, 1585267800, 1575752465, 1037 1566169630, 1556519705, 1546803104, 1537020244, 1527171542, 1038 1517257422, 1507278307, 1497234626, 1487126808, 1476955286, 1039 1466720497, 1456422878, 1446062871, 1435640919, 1425157469, 1040 1414612971, 1404007875, 1393342636, 1382617710, 1371833558, 1041 1360990642, 1350089425, 1339130374, 1328113960, 1317040654, 1042 1305910930, 1294725265, 1283484138, 1272188032, 1260837429, 1043 1249432816, 1237974681, 1226463516, 1214899813, 1203284068, 1044 1191616778, 1179898443, 1168129565, 1156310649, 1144442200, 1045 1132524727, 1120558740, 1108544752, 1096483278, 1084374834, 1046 1072219940, 1060019115, 1047772882, 1035481766, 1023146293, 1047 1010766993, 998344394, 985879030, 973371434, 960822142, 1048 948231691, 935600622, 922929474, 910218791, 897469118, 1049 884680999, 871854984, 858991622, 846091463, 833155061, 1050 820182969, 807175743, 794133941, 781058120, 767948841, 1051 754806666, 741632158, 728425880, 715188400, 701920283, 1052 688622098, 675294414, 661937804, 648552838, 635140090, 1053 621700135, 608233549, 594740907, 581222789, 567679774, 1054 554112440, 540521371, 526907147, 513270353, 499611571, 1055 485931388, 472230390, 458509162, 444768294, 431008373, 1056 417229989, 403433732, 389620194, 375789965, 361943639, 1057 348081809, 334205068, 320314011, 306409232, 292491328, 1058 278560894, 264618528, 250664827, 236700388, 222725809, 1059 208741690, 194748629, 180747225, 166738079, 152721790, 1060 138698959, 124670187, 110636075, 96597223, 82554233, 1061 68507707, 54458246, 40406452, 26352928, 12298274, 1062 -1756906, -15812011, -29866438, -43919586, -57970853, 1063 -72019637, -86065335, -100107347, -114145071, -128177904, 1064 -142205248, -156226499, -170241059, -184248325, -198247699, 1065 -212238581, -226220372, -240192472, -254154282, -268105206, 1066 -282044645, -295972002, -309886680, -323788084, -337675619, 1067 -351548688, -365406698, -379249055, -393075166, -406884440, 1068 -420676284, -434450107, -448205320, -461941333, -475657559, 1069 -489353409, -503028296, -516681636, -530312842, -543921332, 1070 -557506522, -571067830, -584604676, -598116479, -611602660, 1071 -625062643, -638495850, -651901706, -665279637, -678629069, 1072 -691949432, -705240153, -718500664, -731730397, -744928785, 1073 -758095263, -771229267, -784330234, -797397602, -810430813, 1074 -823429308, -836392529, -849319923, -862210934, -875065011, 1075 -887881603, -900660162, -913400139, -926100989, -938762167, 1076 -951383133, -963963344, -976502263, -988999351, -1001454074, 1077 -1013865898, -1026234291, -1038558724, -1050838668, -1063073598, 1078 -1075262990, -1087406320, -1099503070, -1111552721, -1123554757, 1079 -1135508663, -1147413928, -1159270041, -1171076495, -1182832785, 1080 -1194538405, -1206192856, -1217795637, -1229346252, -1240844206, 1081 -1252289006, -1263680162, -1275017186, -1286299593, -1297526899, 1082 -1308698624, -1319814288, -1330873416, -1341875533, -1352820169, 1083 -1363706855, -1374535124, -1385304512, -1396014559, -1406664805, 1084 -1417254794, -1427784073, -1438252190, -1448658697, -1459003149, 1085 -1469285102, -1479504115, -1489659751, -1499751576, -1509779156, 1086 -1519742062, -1529639867, -1539472148, -1549238483, -1558938453, 1087 -1568571644, -1578137643, -1587636039, -1597066426, -1606428400, 1088 -1615721561, -1624945509, -1634099849, -1643184191, -1652198144, 1089 -1661141322, -1670013342, -1678813825, -1687542393, -1696198672, 1090 -1704782292, -1713292884, -1721730085, -1730093532, -1738382868, 1091 -1746597738, -1754737789, -1762802673, -1770792044, -1778705561, 1092 -1786542883, -1794303676, -1801987607, -1809594347, -1817123570, 1093 -1824574954, -1831948179, -1839242929, -1846458892, -1853595759, 1094 -1860653224, -1867630985, -1874528743, -1881346202, -1888083070, 1095 -1894739060, -1901313885, -1907807264, -1914218919, -1920548575, 1096 -1926795962, -1932960811, -1939042858, -1945041843, -1950957509, 1097 -1956789602, -1962537873, -1968202076, -1973781967, -1979277308, 1098 -1984687864, -1990013401, -1995253694, -2000408516, -2005477648, 1099 -2010460871, -2015357973, -2020168744, -2024892978, -2029530472, 1100 -2034081027, -2038544449, -2042920547, -2047209133, -2051410023, 1101 -2055523038, -2059548001, -2063484740, -2067333086, -2071092874, 1102 -2074763944, -2078346137, -2081839301, -2085243286, -2088557947, 1103 -2091783140, -2094918728, -2097964577, -2100920556, -2103786539, 1104 -2106562402, -2109248028, -2111843300, -2114348108, -2116762344, 1105 -2119085905, -2121318692, -2123460608, -2125511562, -2127471467, 1106 -2129340237, -2131117794, -2132804061, -2134398966, -2135902440, 1107 -2137314419, -2138634843, -2139863654, -2141000801, -2142046235, 1108 -2142999911, -2143861787, -2144631828, -2145310000, -2145896274, 1109 -2146390624, -2146793031, -2147103476, -2147321946, -2147448433, 1110 2147480773, 2147250799, 2146652904, 2145687192, 2144353827, 1111 2142653038, 2140585116, 2138150417, 2135349356, 2132182414, 1112 2128650133, 2124753120, 2120492040, 2115867626, 2110880668, 1113 2105532022, 2099822604, 2093753392, 2087325426, 2080539807, 1114 2073397699, 2065900325, 2058048970, 2049844978, 2041289756, 1115 2032384769, 2023131544, 2013531666, 2003586779, 1993298588, 1116 1982668856, 1971699403, 1960392110, 1948748914, 1936771810, 1117 1924462850, 1911824143, 1898857855, 1885566207, 1871951478, 1118 1858015999, 1843762158, 1829192399, 1814309216, 1799115162, 1119 1783612838, 1767804901, 1751694060, 1735283075, 1718574758, 1120 1701571972, 1684277631, 1666694698, 1648826185, 1630675154, 1121 1612244715, 1593538026, 1574558293, 1555308768, 1535792748, 1122 1516013578, 1495974647, 1475679389, 1455131280, 1434333842, 1123 1413290638, 1392005275, 1370481398, 1348722696, 1326732898, 1124 1304515771, 1282075122, 1259414796, 1236538675, 1213450681, 1125 1190154767, 1166654927, 1142955186, 1119059606, 1094972281, 1126 1070697338, 1046238936, 1021601267, 996788551, 971805042, 1127 946655018, 921342790, 895872694, 870249095, 844476384, 1128 818558976, 792501312, 766307857, 739983099, 713531549, 1129 686957739, 660266222, 633461572, 606548381, 579531262, 1130 552414843, 525203770, 497902707, 470516330, 443049333, 1131 415506422, 387892316, 360211746, 332469456, 304670200, 1132 276818739, 248919847, 220978304, 192998897, 164986421, 1133 136945676, 108881465, 80798598, 52701887, 24596146, 1134 -3513810, -31623164, -59727099, -87820801, -115899455, 1135 -143958250, -171992378, -199997036, -227967426, -255898755, 1136 -283786237, -311625094, -339410555, -367137861, -394802258, 1137 -422399009, -449923384, -477370666, -504736154, -532015158, 1138 -559203003, -586295032, -613286603, -640173090, -666949886, 1139 -693612404, -720156076, -746576352, -772868706, -799028633, 1140 -825051651, -850933300, -876669146, -902254780, -927685817, 1141 -952957899, -978066697, -1003007909, -1027777260, -1052370507, 1142 -1076783436, -1101011863, -1125051638, -1148898640, -1172548785, 1143 -1195998020, -1219242327, -1242277723, -1265100260, -1287706030, 1144 -1310091157, -1332251808, -1354184184, -1375884527, -1397349119, 1145 -1418574283, -1439556382, -1460291820, -1480777044, -1501008545, 1146 -1520982856, -1540696555, -1560146263, -1579328647, -1598240423, 1147 -1616878347, -1635239228, -1653319919, -1671117323, -1688628389, 1148 -1705850117, -1722779556, -1739413807, -1755750017, -1771785389, 1149 -1787517174, -1802942678, -1818059257, -1832864320, -1847355332, 1150 -1861529809, -1875385322, -1888919498, -1902130017, -1915014616, 1151 -1927571087, -1939797279, -1951691096, -1963250501, -1974473513, 1152 -1985358210, -1995902725, -2006105253, -2015964045, -2025477412, 1153 -2034643724, -2043461410, -2051928960, -2060044922, -2067807906, 1154 -2075216581, -2082269679, -2088965991, -2095304370, -2101283728, 1155 -2106903043, -2112161350, -2117057750, -2121591402, -2125761531, 1156 -2129567422, -2133008422, -2136083942, -2138793455, -2141136497, 1157 -2143112666, -2144721624, -2145963095, -2146836866, -2147342788, 1158 2147472149, 2146552303, 2144161316, 2140300829, 2134973487, 1159 2128182940, 2119933843, 2110231849, 2099083608, 2086496759, 1160 2072479930, 2057042727, 2040195730, 2021950484, 2002319494, 1161 1981316215, 1958955040, 1935251296, 1910221227, 1883881987, 1162 1856251629, 1827349089, 1797194176, 1765807555, 1733210737, 1163 1699426064, 1664476689, 1628386565, 1591180426, 1552883771, 1164 1513522847, 1473124631, 1431716808, 1389327759, 1345986533, 1165 1301722835, 1256567002, 1210549980, 1163703308, 1116059092, 1166 1067649985, 1018509163, 968670307, 918167572, 867035571, 1167 815309347, 763024350, 710216415, 656921734, 603176830, 1168 549018540, 494483979, 439610524, 384435782, 328997567, 1169 273333873, 217482850, 161482775, 105372028, 49189064, 1170 -7027611, -63239471, -119407989, -175494670, -231461077, 1171 -287268852, -342879747, -398255649, -453358607, -508150855, 1172 -562594842, -616653255, -670289044, -723465451, -776146031, 1173 -828294679, -879875655, -930853609, -981193602, -1030861133, 1174 -1079822164, -1128043139, -1175491010, -1222133257, -1267937916, 1175 -1312873593, -1356909492, -1400015434, -1442161874, -1483319929, 1176 -1523461391, -1562558748, -1600585205, -1637514702, -1673321927, 1177 -1707982341, -1741472190, -1773768520, -1804849198, -1834692923, 1178 -1863279241, -1890588560, -1916602164, -1941302225, -1964671814, 1179 -1986694916, -2007356435, -2026642214, -2044539032, -2061034626, 1180 -2076117690, -2089777886, -2102005853, -2112793210, -2122132564, 1181 -2130017514, -2136442657, -2141403589, -2144896910, -2146920225, 1182 #else 1183 32767, 32767, 32767, 32766, 32765, 1184 32763, 32761, 32759, 32756, 32753, 1185 32750, 32746, 32742, 32738, 32733, 1186 32728, 32722, 32717, 32710, 32704, 1187 32697, 32690, 32682, 32674, 32666, 1188 32657, 32648, 32639, 32629, 32619, 1189 32609, 32598, 32587, 32576, 32564, 1190 32552, 32539, 32526, 32513, 32500, 1191 32486, 32472, 32457, 32442, 32427, 1192 32411, 32395, 32379, 32362, 32345, 1193 32328, 32310, 32292, 32274, 32255, 1194 32236, 32217, 32197, 32177, 32157, 1195 32136, 32115, 32093, 32071, 32049, 1196 32027, 32004, 31981, 31957, 31933, 1197 31909, 31884, 31859, 31834, 31809, 1198 31783, 31756, 31730, 31703, 31676, 1199 31648, 31620, 31592, 31563, 31534, 1200 31505, 31475, 31445, 31415, 31384, 1201 31353, 31322, 31290, 31258, 31226, 1202 31193, 31160, 31127, 31093, 31059, 1203 31025, 30990, 30955, 30920, 30884, 1204 30848, 30812, 30775, 30738, 30701, 1205 30663, 30625, 30587, 30548, 30509, 1206 30470, 30430, 30390, 30350, 30309, 1207 30269, 30227, 30186, 30144, 30102, 1208 30059, 30016, 29973, 29930, 29886, 1209 29842, 29797, 29752, 29707, 29662, 1210 29616, 29570, 29524, 29477, 29430, 1211 29383, 29335, 29287, 29239, 29190, 1212 29142, 29092, 29043, 28993, 28943, 1213 28892, 28842, 28791, 28739, 28688, 1214 28636, 28583, 28531, 28478, 28425, 1215 28371, 28317, 28263, 28209, 28154, 1216 28099, 28044, 27988, 27932, 27876, 1217 27820, 27763, 27706, 27648, 27591, 1218 27533, 27474, 27416, 27357, 27298, 1219 27238, 27178, 27118, 27058, 26997, 1220 26936, 26875, 26814, 26752, 26690, 1221 26628, 26565, 26502, 26439, 26375, 1222 26312, 26247, 26183, 26119, 26054, 1223 25988, 25923, 25857, 25791, 25725, 1224 25658, 25592, 25524, 25457, 25389, 1225 25322, 25253, 25185, 25116, 25047, 1226 24978, 24908, 24838, 24768, 24698, 1227 24627, 24557, 24485, 24414, 24342, 1228 24270, 24198, 24126, 24053, 23980, 1229 23907, 23834, 23760, 23686, 23612, 1230 23537, 23462, 23387, 23312, 23237, 1231 23161, 23085, 23009, 22932, 22856, 1232 22779, 22701, 22624, 22546, 22468, 1233 22390, 22312, 22233, 22154, 22075, 1234 21996, 21916, 21836, 21756, 21676, 1235 21595, 21515, 21434, 21352, 21271, 1236 21189, 21107, 21025, 20943, 20860, 1237 20777, 20694, 20611, 20528, 20444, 1238 20360, 20276, 20192, 20107, 20022, 1239 19937, 19852, 19767, 19681, 19595, 1240 19509, 19423, 19336, 19250, 19163, 1241 19076, 18988, 18901, 18813, 18725, 1242 18637, 18549, 18460, 18372, 18283, 1243 18194, 18104, 18015, 17925, 17835, 1244 17745, 17655, 17565, 17474, 17383, 1245 17292, 17201, 17110, 17018, 16927, 1246 16835, 16743, 16650, 16558, 16465, 1247 16372, 16279, 16186, 16093, 15999, 1248 15906, 15812, 15718, 15624, 15529, 1249 15435, 15340, 15245, 15150, 15055, 1250 14960, 14864, 14769, 14673, 14577, 1251 14481, 14385, 14288, 14192, 14095, 1252 13998, 13901, 13804, 13706, 13609, 1253 13511, 13414, 13316, 13218, 13119, 1254 13021, 12923, 12824, 12725, 12626, 1255 12527, 12428, 12329, 12230, 12130, 1256 12030, 11930, 11831, 11730, 11630, 1257 11530, 11430, 11329, 11228, 11128, 1258 11027, 10926, 10824, 10723, 10622, 1259 10520, 10419, 10317, 10215, 10113, 1260 10011, 9909, 9807, 9704, 9602, 1261 9499, 9397, 9294, 9191, 9088, 1262 8985, 8882, 8778, 8675, 8572, 1263 8468, 8364, 8261, 8157, 8053, 1264 7949, 7845, 7741, 7637, 7532, 1265 7428, 7323, 7219, 7114, 7009, 1266 6905, 6800, 6695, 6590, 6485, 1267 6380, 6274, 6169, 6064, 5958, 1268 5853, 5747, 5642, 5536, 5430, 1269 5325, 5219, 5113, 5007, 4901, 1270 4795, 4689, 4583, 4476, 4370, 1271 4264, 4157, 4051, 3945, 3838, 1272 3732, 3625, 3518, 3412, 3305, 1273 3198, 3092, 2985, 2878, 2771, 1274 2664, 2558, 2451, 2344, 2237, 1275 2130, 2023, 1916, 1809, 1702, 1276 1594, 1487, 1380, 1273, 1166, 1277 1059, 952, 844, 737, 630, 1278 523, 416, 308, 201, 94, 1279 -13, -121, -228, -335, -442, 1280 -550, -657, -764, -871, -978, 1281 -1086, -1193, -1300, -1407, -1514, 1282 -1621, -1728, -1835, -1942, -2049, 1283 -2157, -2263, -2370, -2477, -2584, 1284 -2691, -2798, -2905, -3012, -3118, 1285 -3225, -3332, -3439, -3545, -3652, 1286 -3758, -3865, -3971, -4078, -4184, 1287 -4290, -4397, -4503, -4609, -4715, 1288 -4821, -4927, -5033, -5139, -5245, 1289 -5351, -5457, -5562, -5668, -5774, 1290 -5879, -5985, -6090, -6195, -6301, 1291 -6406, -6511, -6616, -6721, -6826, 1292 -6931, -7036, -7140, -7245, -7349, 1293 -7454, -7558, -7663, -7767, -7871, 1294 -7975, -8079, -8183, -8287, -8390, 1295 -8494, -8597, -8701, -8804, -8907, 1296 -9011, -9114, -9217, -9319, -9422, 1297 -9525, -9627, -9730, -9832, -9934, 1298 -10037, -10139, -10241, -10342, -10444, 1299 -10546, -10647, -10748, -10850, -10951, 1300 -11052, -11153, -11253, -11354, -11455, 1301 -11555, -11655, -11756, -11856, -11955, 1302 -12055, -12155, -12254, -12354, -12453, 1303 -12552, -12651, -12750, -12849, -12947, 1304 -13046, -13144, -13242, -13340, -13438, 1305 -13536, -13633, -13731, -13828, -13925, 1306 -14022, -14119, -14216, -14312, -14409, 1307 -14505, -14601, -14697, -14793, -14888, 1308 -14984, -15079, -15174, -15269, -15364, 1309 -15459, -15553, -15647, -15741, -15835, 1310 -15929, -16023, -16116, -16210, -16303, 1311 -16396, -16488, -16581, -16673, -16766, 1312 -16858, -16949, -17041, -17133, -17224, 1313 -17315, -17406, -17497, -17587, -17678, 1314 -17768, -17858, -17948, -18037, -18127, 1315 -18216, -18305, -18394, -18483, -18571, 1316 -18659, -18747, -18835, -18923, -19010, 1317 -19098, -19185, -19271, -19358, -19444, 1318 -19531, -19617, -19702, -19788, -19873, 1319 -19959, -20043, -20128, -20213, -20297, 1320 -20381, -20465, -20549, -20632, -20715, 1321 -20798, -20881, -20963, -21046, -21128, 1322 -21210, -21291, -21373, -21454, -21535, 1323 -21616, -21696, -21776, -21856, -21936, 1324 -22016, -22095, -22174, -22253, -22331, 1325 -22410, -22488, -22566, -22643, -22721, 1326 -22798, -22875, -22951, -23028, -23104, 1327 -23180, -23256, -23331, -23406, -23481, 1328 -23556, -23630, -23704, -23778, -23852, 1329 -23925, -23998, -24071, -24144, -24216, 1330 -24288, -24360, -24432, -24503, -24574, 1331 -24645, -24716, -24786, -24856, -24926, 1332 -24995, -25064, -25133, -25202, -25270, 1333 -25339, -25406, -25474, -25541, -25608, 1334 -25675, -25742, -25808, -25874, -25939, 1335 -26005, -26070, -26135, -26199, -26264, 1336 -26327, -26391, -26455, -26518, -26581, 1337 -26643, -26705, -26767, -26829, -26891, 1338 -26952, -27013, -27073, -27133, -27193, 1339 -27253, -27312, -27372, -27430, -27489, 1340 -27547, -27605, -27663, -27720, -27777, 1341 -27834, -27890, -27946, -28002, -28058, 1342 -28113, -28168, -28223, -28277, -28331, 1343 -28385, -28438, -28491, -28544, -28596, 1344 -28649, -28701, -28752, -28803, -28854, 1345 -28905, -28955, -29006, -29055, -29105, 1346 -29154, -29203, -29251, -29299, -29347, 1347 -29395, -29442, -29489, -29535, -29582, 1348 -29628, -29673, -29719, -29764, -29808, 1349 -29853, -29897, -29941, -29984, -30027, 1350 -30070, -30112, -30154, -30196, -30238, 1351 -30279, -30320, -30360, -30400, -30440, 1352 -30480, -30519, -30558, -30596, -30635, 1353 -30672, -30710, -30747, -30784, -30821, 1354 -30857, -30893, -30929, -30964, -30999, 1355 -31033, -31068, -31102, -31135, -31168, 1356 -31201, -31234, -31266, -31298, -31330, 1357 -31361, -31392, -31422, -31453, -31483, 1358 -31512, -31541, -31570, -31599, -31627, 1359 -31655, -31682, -31710, -31737, -31763, 1360 -31789, -31815, -31841, -31866, -31891, 1361 -31915, -31939, -31963, -31986, -32010, 1362 -32032, -32055, -32077, -32099, -32120, 1363 -32141, -32162, -32182, -32202, -32222, 1364 -32241, -32260, -32279, -32297, -32315, 1365 -32333, -32350, -32367, -32383, -32399, 1366 -32415, -32431, -32446, -32461, -32475, 1367 -32489, -32503, -32517, -32530, -32542, 1368 -32555, -32567, -32579, -32590, -32601, 1369 -32612, -32622, -32632, -32641, -32651, 1370 -32659, -32668, -32676, -32684, -32692, 1371 -32699, -32706, -32712, -32718, -32724, 1372 -32729, -32734, -32739, -32743, -32747, 1373 -32751, -32754, -32757, -32760, -32762, 1374 -32764, -32765, -32767, -32767, -32767, 1375 32767, 32767, 32765, 32761, 32756, 1376 32750, 32742, 32732, 32722, 32710, 1377 32696, 32681, 32665, 32647, 32628, 1378 32608, 32586, 32562, 32538, 32512, 1379 32484, 32455, 32425, 32393, 32360, 1380 32326, 32290, 32253, 32214, 32174, 1381 32133, 32090, 32046, 32001, 31954, 1382 31906, 31856, 31805, 31753, 31700, 1383 31645, 31588, 31530, 31471, 31411, 1384 31349, 31286, 31222, 31156, 31089, 1385 31020, 30951, 30880, 30807, 30733, 1386 30658, 30582, 30504, 30425, 30345, 1387 30263, 30181, 30096, 30011, 29924, 1388 29836, 29747, 29656, 29564, 29471, 1389 29377, 29281, 29184, 29086, 28987, 1390 28886, 28784, 28681, 28577, 28471, 1391 28365, 28257, 28147, 28037, 27925, 1392 27812, 27698, 27583, 27467, 27349, 1393 27231, 27111, 26990, 26868, 26744, 1394 26620, 26494, 26367, 26239, 26110, 1395 25980, 25849, 25717, 25583, 25449, 1396 25313, 25176, 25038, 24900, 24760, 1397 24619, 24477, 24333, 24189, 24044, 1398 23898, 23751, 23602, 23453, 23303, 1399 23152, 22999, 22846, 22692, 22537, 1400 22380, 22223, 22065, 21906, 21746, 1401 21585, 21423, 21261, 21097, 20933, 1402 20767, 20601, 20434, 20265, 20096, 1403 19927, 19756, 19584, 19412, 19239, 1404 19065, 18890, 18714, 18538, 18361, 1405 18183, 18004, 17824, 17644, 17463, 1406 17281, 17098, 16915, 16731, 16546, 1407 16361, 16175, 15988, 15800, 15612, 1408 15423, 15234, 15043, 14852, 14661, 1409 14469, 14276, 14083, 13889, 13694, 1410 13499, 13303, 13107, 12910, 12713, 1411 12515, 12317, 12118, 11918, 11718, 1412 11517, 11316, 11115, 10913, 10710, 1413 10508, 10304, 10100, 9896, 9691, 1414 9486, 9281, 9075, 8869, 8662, 1415 8455, 8248, 8040, 7832, 7623, 1416 7415, 7206, 6996, 6787, 6577, 1417 6366, 6156, 5945, 5734, 5523, 1418 5311, 5100, 4888, 4675, 4463, 1419 4251, 4038, 3825, 3612, 3399, 1420 3185, 2972, 2758, 2544, 2330, 1421 2116, 1902, 1688, 1474, 1260, 1422 1045, 831, 617, 402, 188, 1423 -27, -241, -456, -670, -885, 1424 -1099, -1313, -1528, -1742, -1956, 1425 -2170, -2384, -2598, -2811, -3025, 1426 -3239, -3452, -3665, -3878, -4091, 1427 -4304, -4516, -4728, -4941, -5153, 1428 -5364, -5576, -5787, -5998, -6209, 1429 -6419, -6629, -6839, -7049, -7258, 1430 -7467, -7676, -7884, -8092, -8300, 1431 -8507, -8714, -8920, -9127, -9332, 1432 -9538, -9743, -9947, -10151, -10355, 1433 -10558, -10761, -10963, -11165, -11367, 1434 -11568, -11768, -11968, -12167, -12366, 1435 -12565, -12762, -12960, -13156, -13352, 1436 -13548, -13743, -13937, -14131, -14324, 1437 -14517, -14709, -14900, -15091, -15281, 1438 -15470, -15659, -15847, -16035, -16221, 1439 -16407, -16593, -16777, -16961, -17144, 1440 -17326, -17508, -17689, -17869, -18049, 1441 -18227, -18405, -18582, -18758, -18934, 1442 -19108, -19282, -19455, -19627, -19799, 1443 -19969, -20139, -20308, -20475, -20642, 1444 -20809, -20974, -21138, -21301, -21464, 1445 -21626, -21786, -21946, -22105, -22263, 1446 -22420, -22575, -22730, -22884, -23037, 1447 -23189, -23340, -23490, -23640, -23788, 1448 -23935, -24080, -24225, -24369, -24512, 1449 -24654, -24795, -24934, -25073, -25211, 1450 -25347, -25482, -25617, -25750, -25882, 1451 -26013, -26143, -26272, -26399, -26526, 1452 -26651, -26775, -26898, -27020, -27141, 1453 -27260, -27379, -27496, -27612, -27727, 1454 -27841, -27953, -28065, -28175, -28284, 1455 -28391, -28498, -28603, -28707, -28810, 1456 -28911, -29012, -29111, -29209, -29305, 1457 -29401, -29495, -29587, -29679, -29769, 1458 -29858, -29946, -30032, -30118, -30201, 1459 -30284, -30365, -30445, -30524, -30601, 1460 -30677, -30752, -30825, -30897, -30968, 1461 -31038, -31106, -31172, -31238, -31302, 1462 -31365, -31426, -31486, -31545, -31602, 1463 -31658, -31713, -31766, -31818, -31869, 1464 -31918, -31966, -32012, -32058, -32101, 1465 -32144, -32185, -32224, -32262, -32299, 1466 -32335, -32369, -32401, -32433, -32463, 1467 -32491, -32518, -32544, -32568, -32591, 1468 -32613, -32633, -32652, -32669, -32685, 1469 -32700, -32713, -32724, -32735, -32744, 1470 -32751, -32757, -32762, -32766, -32767, 1471 32767, 32764, 32755, 32741, 32720, 1472 32694, 32663, 32626, 32583, 32535, 1473 32481, 32421, 32356, 32286, 32209, 1474 32128, 32041, 31948, 31850, 31747, 1475 31638, 31523, 31403, 31278, 31148, 1476 31012, 30871, 30724, 30572, 30415, 1477 30253, 30086, 29913, 29736, 29553, 1478 29365, 29172, 28974, 28771, 28564, 1479 28351, 28134, 27911, 27684, 27452, 1480 27216, 26975, 26729, 26478, 26223, 1481 25964, 25700, 25432, 25159, 24882, 1482 24601, 24315, 24026, 23732, 23434, 1483 23133, 22827, 22517, 22204, 21886, 1484 21565, 21240, 20912, 20580, 20244, 1485 19905, 19563, 19217, 18868, 18516, 1486 18160, 17802, 17440, 17075, 16708, 1487 16338, 15964, 15588, 15210, 14829, 1488 14445, 14059, 13670, 13279, 12886, 1489 12490, 12093, 11693, 11291, 10888, 1490 10482, 10075, 9666, 9255, 8843, 1491 8429, 8014, 7597, 7180, 6760, 1492 6340, 5919, 5496, 5073, 4649, 1493 4224, 3798, 3372, 2945, 2517, 1494 2090, 1661, 1233, 804, 375, 1495 -54, -483, -911, -1340, -1768, 1496 -2197, -2624, -3052, -3479, -3905, 1497 -4330, -4755, -5179, -5602, -6024, 1498 -6445, -6865, -7284, -7702, -8118, 1499 -8533, -8946, -9358, -9768, -10177, 1500 -10584, -10989, -11392, -11793, -12192, 1501 -12589, -12984, -13377, -13767, -14155, 1502 -14541, -14924, -15305, -15683, -16058, 1503 -16430, -16800, -17167, -17531, -17892, 1504 -18249, -18604, -18956, -19304, -19649, 1505 -19990, -20329, -20663, -20994, -21322, 1506 -21646, -21966, -22282, -22595, -22904, 1507 -23208, -23509, -23806, -24099, -24387, 1508 -24672, -24952, -25228, -25499, -25766, 1509 -26029, -26288, -26541, -26791, -27035, 1510 -27275, -27511, -27741, -27967, -28188, 1511 -28405, -28616, -28823, -29024, -29221, 1512 -29412, -29599, -29780, -29957, -30128, 1513 -30294, -30455, -30611, -30761, -30906, 1514 -31046, -31181, -31310, -31434, -31552, 1515 -31665, -31773, -31875, -31972, -32063, 1516 -32149, -32229, -32304, -32373, -32437, 1517 -32495, -32547, -32594, -32635, -32671, 1518 -32701, -32726, -32745, -32758, -32766, 1519 32767, 32754, 32717, 32658, 32577, 1520 32473, 32348, 32200, 32029, 31837, 1521 31624, 31388, 31131, 30853, 30553, 1522 30232, 29891, 29530, 29148, 28746, 1523 28324, 27883, 27423, 26944, 26447, 1524 25931, 25398, 24847, 24279, 23695, 1525 23095, 22478, 21846, 21199, 20538, 1526 19863, 19174, 18472, 17757, 17030, 1527 16291, 15541, 14781, 14010, 13230, 1528 12441, 11643, 10837, 10024, 9204, 1529 8377, 7545, 6708, 5866, 5020, 1530 4171, 3319, 2464, 1608, 751, 1531 -107, -965, -1822, -2678, -3532, 1532 -4383, -5232, -6077, -6918, -7754, 1533 -8585, -9409, -10228, -11039, -11843, 1534 -12639, -13426, -14204, -14972, -15730, 1535 -16477, -17213, -17937, -18648, -19347, 1536 -20033, -20705, -21363, -22006, -22634, 1537 -23246, -23843, -24423, -24986, -25533, 1538 -26062, -26573, -27066, -27540, -27995, 1539 -28431, -28848, -29245, -29622, -29979, 1540 -30315, -30630, -30924, -31197, -31449, 1541 -31679, -31887, -32074, -32239, -32381, 1542 -32501, -32600, -32675, -32729, -32759, 1543 #endif 1544 }; 1545 #endif 1546 1547 static const CELTMode mode48000_960_120 = { 1548 48000, /* Fs */ 1549 120, /* overlap */ 1550 21, /* nbEBands */ 1551 21, /* effEBands */ 1552 {27853, 0, 4096, 8192, }, /* preemph */ 1553 eband5ms, /* eBands */ 1554 3, /* maxLM */ 1555 8, /* nbShortMdcts */ 1556 120, /* shortMdctSize */ 1557 11, /* nbAllocVectors */ 1558 band_allocation, /* allocVectors */ 1559 logN400, /* logN */ 1560 window120, /* window */ 1561 {1920, 3, {&fft_state48000_960_0, &fft_state48000_960_1, &fft_state48000_960_2, &fft_state48000_960_3, }, mdct_twiddles960}, /* mdct */ 1562 {392, cache_index50, cache_bits50, cache_caps50}, /* cache */ 1563 #ifdef ENABLE_QEXT 1564 {86, qext_cache_index50, qext_cache_bits50, qext_cache_caps50}, /* qext_cache */ 1565 #endif 1566 }; 1567 1568 #ifdef ENABLE_QEXT 1569 #ifndef DEF_WINDOW240 1570 #define DEF_WINDOW240 1571 static const celt_coef window240[240] = { 1572 #ifdef ENABLE_QEXT 1573 36124, 325113, 903042, 1769811, 2925272, 1574 4369225, 6101422, 8121563, 10429297, 13024223, 1575 15905885, 19073777, 22527339, 26265958, 30288963, 1576 34595631, 39185180, 44056771, 49209509, 54642435, 1577 60354533, 66344724, 72611866, 79154752, 85972112, 1578 93062609, 100424835, 108057317, 115958510, 124126796, 1579 132560487, 141257817, 150216948, 159435962, 168912864, 1580 178645581, 188631957, 198869754, 209356654, 220090250, 1581 231068053, 242287487, 253745886, 265440499, 277368483, 1582 289526906, 301912744, 314522883, 327354113, 340403136, 1583 353666556, 367140886, 380822544, 394707853, 408793044, 1584 423074251, 437547515, 452208783, 467053909, 482078654, 1585 497278684, 512649576, 528186815, 543885797, 559741828, 1586 575750127, 591905825, 608203972, 624639532, 641207388, 1587 657902345, 674719130, 691652394, 708696716, 725846605, 1588 743096501, 760440782, 777873759, 795389689, 812982769, 1589 830647145, 848376914, 866166126, 884008788, 901898872, 1590 919830310, 937797006, 955792839, 973811661, 991847308, 1591 1009893601, 1027944353, 1045993369, 1064034454, 1082061416, 1592 1100068075, 1118048258, 1135995815, 1153904614, 1171768555, 1593 1189581567, 1207337616, 1225030710, 1242654904, 1260204305, 1594 1277673075, 1295055437, 1312345681, 1329538165, 1346627326, 1595 1363607677, 1380473817, 1397220435, 1413842311, 1430334323, 1596 1446691453, 1462908786, 1478981520, 1494904965, 1510674550, 1597 1526285825, 1541734465, 1557016274, 1572127189, 1587063280, 1598 1601820758, 1616395971, 1630785416, 1644985731, 1658993707, 1599 1672806283, 1686420553, 1699833765, 1713043324, 1726046792, 1600 1738841892, 1751426506, 1763798678, 1775956615, 1787898686, 1601 1799623424, 1811129525, 1822415848, 1833481417, 1844325418, 1602 1854947198, 1865346267, 1875522297, 1885475119, 1895204720, 1603 1904711247, 1913995001, 1923056438, 1931896164, 1940514936, 1604 1948913657, 1957093375, 1965055281, 1972800706, 1980331118, 1605 1987648116, 1994753433, 2001648928, 2008336584, 2014818504, 1606 2021096911, 2027174137, 2033052626, 2038734929, 2044223696, 1607 2049521676, 2054631712, 2059556735, 2064299763, 2068863893, 1608 2073252301, 2077468232, 2081515002, 2085395988, 2089114627, 1609 2092674410, 2096078878, 2099331616, 2102436251, 2105396446, 1610 2108215896, 2110898322, 2113447469, 2115867100, 2118160991, 1611 2120332927, 2122386699, 2124326098, 2126154912, 2127876920, 1612 2129495889, 2131015570, 2132439692, 2133771963, 2135016059, 1613 2136175624, 2137254268, 2138255559, 2139183022, 2140040133, 1614 2140830320, 2141556955, 2142223351, 2142832762, 2143388377, 1615 2143893317, 2144350634, 2144763305, 2145134231, 2145466235, 1616 2145762059, 2146024357, 2146255701, 2146458570, 2146635355, 1617 2146788350, 2146919756, 2147031676, 2147126111, 2147204964, 1618 2147270033, 2147323012, 2147365487, 2147398940, 2147424741, 1619 2147444152, 2147458322, 2147468290, 2147474980, 2147479203, 1620 2147481655, 2147482918, 2147483458, 2147483623, 2147483647, 1621 #else 1622 1, 5, 14, 27, 45, 1623 67, 93, 124, 159, 199, 1624 243, 291, 344, 401, 462, 1625 528, 598, 672, 751, 834, 1626 921, 1012, 1108, 1208, 1312, 1627 1420, 1532, 1649, 1769, 1894, 1628 2023, 2155, 2292, 2433, 2577, 1629 2726, 2878, 3035, 3195, 3358, 1630 3526, 3697, 3872, 4050, 4232, 1631 4418, 4607, 4799, 4995, 5194, 1632 5397, 5602, 5811, 6023, 6238, 1633 6456, 6676, 6900, 7127, 7356, 1634 7588, 7822, 8059, 8299, 8541, 1635 8785, 9032, 9280, 9531, 9784, 1636 10039, 10295, 10554, 10814, 11076, 1637 11339, 11603, 11869, 12137, 12405, 1638 12675, 12945, 13217, 13489, 13762, 1639 14035, 14310, 14584, 14859, 15134, 1640 15410, 15685, 15961, 16236, 16511, 1641 16786, 17060, 17334, 17607, 17880, 1642 18152, 18423, 18692, 18961, 19229, 1643 19496, 19761, 20025, 20287, 20548, 1644 20807, 21064, 21320, 21574, 21825, 1645 22075, 22322, 22567, 22810, 23051, 1646 23289, 23525, 23758, 23989, 24217, 1647 24442, 24664, 24884, 25100, 25314, 1648 25525, 25733, 25937, 26139, 26337, 1649 26533, 26725, 26913, 27099, 27281, 1650 27460, 27636, 27808, 27977, 28142, 1651 28304, 28463, 28618, 28770, 28919, 1652 29064, 29205, 29344, 29478, 29610, 1653 29738, 29863, 29984, 30103, 30217, 1654 30329, 30438, 30543, 30645, 30744, 1655 30839, 30932, 31022, 31109, 31192, 1656 31273, 31351, 31426, 31499, 31568, 1657 31635, 31700, 31761, 31821, 31877, 1658 31932, 31984, 32033, 32081, 32126, 1659 32169, 32210, 32249, 32286, 32321, 1660 32354, 32385, 32415, 32443, 32469, 1661 32494, 32517, 32538, 32559, 32578, 1662 32595, 32612, 32627, 32641, 32654, 1663 32666, 32678, 32688, 32697, 32706, 1664 32713, 32720, 32726, 32732, 32737, 1665 32742, 32746, 32749, 32752, 32755, 1666 32757, 32759, 32761, 32763, 32764, 1667 32765, 32766, 32766, 32767, 32767, 1668 32767, 32767, 32767, 32767, 32767, 1669 32767, 32767, 32767, 32767, 32767, 1670 #endif 1671 }; 1672 #endif 1673 1674 #ifndef DEF_LOGN400 1675 #define DEF_LOGN400 1676 static const opus_int16 logN400[21] = { 1677 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, }; 1678 #endif 1679 1680 #ifndef DEF_PULSE_CACHE50 1681 #define DEF_PULSE_CACHE50 1682 static const opus_int16 cache_index50[105] = { 1683 -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41, 1684 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1685 41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41, 1686 41, 41, 41, 41, 41, 123, 123, 123, 123, 240, 240, 240, 266, 266, 305, 1687 318, 328, 336, 123, 123, 123, 123, 123, 123, 123, 123, 240, 240, 240, 240, 1688 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240, 1689 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387, 1690 }; 1691 static const unsigned char cache_bits50[392] = { 1692 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1693 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1694 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28, 1695 31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 49, 50, 1696 51, 52, 53, 54, 55, 55, 57, 58, 59, 60, 61, 62, 63, 63, 65, 1697 66, 67, 68, 69, 70, 71, 71, 40, 20, 33, 41, 48, 53, 57, 61, 1698 64, 66, 69, 71, 73, 75, 76, 78, 80, 82, 85, 87, 89, 91, 92, 1699 94, 96, 98, 101, 103, 105, 107, 108, 110, 112, 114, 117, 119, 121, 123, 1700 124, 126, 128, 40, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94, 1701 97, 100, 102, 105, 107, 111, 115, 118, 121, 124, 126, 129, 131, 135, 139, 1702 142, 145, 148, 150, 153, 155, 159, 163, 166, 169, 172, 174, 177, 179, 35, 1703 28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149, 1704 153, 159, 165, 171, 176, 180, 185, 189, 192, 199, 205, 211, 216, 220, 225, 1705 229, 232, 239, 245, 251, 21, 33, 58, 79, 97, 112, 125, 137, 148, 157, 1706 166, 174, 182, 189, 195, 201, 207, 217, 227, 235, 243, 251, 17, 35, 63, 1707 86, 106, 123, 139, 152, 165, 177, 187, 197, 206, 214, 222, 230, 237, 250, 1708 25, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180, 1709 185, 190, 200, 208, 215, 222, 229, 235, 240, 245, 255, 16, 36, 65, 89, 1710 110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250, 11, 41, 1711 74, 103, 128, 151, 172, 191, 209, 225, 241, 255, 9, 43, 79, 110, 138, 1712 163, 186, 207, 227, 246, 12, 39, 71, 99, 123, 144, 164, 182, 198, 214, 1713 228, 241, 253, 9, 44, 81, 113, 142, 168, 192, 214, 235, 255, 7, 49, 1714 90, 127, 160, 191, 220, 247, 6, 51, 95, 134, 170, 203, 234, 7, 47, 1715 87, 123, 155, 184, 212, 237, 6, 52, 97, 137, 174, 208, 240, 5, 57, 1716 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187, 1717 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127, 1718 182, 234, }; 1719 static const unsigned char cache_caps50[168] = { 1720 224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185, 1721 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240, 1722 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160, 1723 160, 160, 160, 160, 160, 185, 185, 185, 185, 193, 193, 193, 183, 183, 172, 1724 138, 64, 38, 240, 240, 240, 240, 240, 240, 240, 240, 207, 207, 207, 207, 1725 204, 204, 204, 193, 193, 180, 143, 66, 40, 185, 185, 185, 185, 185, 185, 1726 185, 185, 193, 193, 193, 193, 193, 193, 193, 183, 183, 172, 138, 65, 39, 1727 207, 207, 207, 207, 207, 207, 207, 207, 204, 204, 204, 204, 201, 201, 201, 1728 188, 188, 176, 141, 66, 40, 193, 193, 193, 193, 193, 193, 193, 193, 193, 1729 193, 193, 193, 194, 194, 194, 184, 184, 173, 139, 65, 39, 204, 204, 204, 1730 204, 204, 204, 204, 204, 201, 201, 201, 201, 198, 198, 198, 187, 187, 175, 1731 140, 66, 40, }; 1732 #endif 1733 1734 #ifdef ENABLE_QEXT 1735 # ifndef DEF_QEXT_PULSE_CACHE50 1736 # define DEF_QEXT_PULSE_CACHE50 1737 static const opus_int16 qext_cache_index50[70] = { 1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1739 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 61, 61, 1740 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 72, 72, 72, 1741 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 80, 80, 80, 80, 1742 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, }; 1743 static const unsigned char qext_cache_bits50[86] = { 1744 40, 26, 45, 59, 70, 79, 87, 94, 100, 105, 110, 114, 118, 122, 125, 1745 128, 131, 136, 141, 146, 150, 153, 157, 160, 163, 168, 173, 178, 182, 185, 1746 189, 192, 195, 200, 205, 210, 214, 217, 221, 224, 227, 19, 34, 61, 83, 1747 101, 118, 132, 145, 157, 167, 177, 186, 194, 202, 209, 216, 222, 234, 245, 1748 254, 10, 42, 77, 107, 133, 157, 179, 200, 219, 236, 253, 7, 50, 93, 1749 131, 165, 197, 227, 255, 5, 58, 109, 155, 197, 237, }; 1750 static const unsigned char qext_cache_caps50[112] = { 1751 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 171, 1752 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 163, 163, 1753 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 167, 167, 167, 1754 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 163, 163, 163, 163, 1755 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 166, 166, 166, 166, 166, 1756 166, 166, 166, 166, 166, 166, 166, 166, 166, 163, 163, 163, 163, 163, 163, 1757 163, 163, 163, 163, 163, 163, 163, 163, 165, 165, 165, 165, 165, 165, 165, 1758 165, 165, 165, 165, 165, 165, 165, }; 1759 # endif 1760 #endif 1761 1762 #ifndef FFT_TWIDDLES96000_1920 1763 #define FFT_TWIDDLES96000_1920 1764 static const kiss_twiddle_cpx fft_twiddles96000_1920[960] = { 1765 #ifdef ENABLE_QEXT 1766 {2147483647, 0}, {2147437652, -14055147}, 1767 {2147299668, -28109692}, {2147069700, -42163034}, 1768 {2146747759, -56214568}, {2146333858, -70263695}, 1769 {2145828016, -84309812}, {2145230253, -98352318}, 1770 {2144540596, -112390610}, {2143759074, -126424088}, 1771 {2142885721, -140452151}, {2141920573, -154474196}, 1772 {2140863673, -168489625}, {2139715065, -182497836}, 1773 {2138474799, -196498230}, {2137142927, -210490206}, 1774 {2135719508, -224473166}, {2134204601, -238446509}, 1775 {2132598273, -252409639}, {2130900591, -266361956}, 1776 {2129111628, -280302863}, {2127231461, -294231763}, 1777 {2125260170, -308148059}, {2123197841, -322051155}, 1778 {2121044561, -335940456}, {2118800422, -349815365}, 1779 {2116465521, -363675290}, {2114039958, -377519637}, 1780 {2111523836, -391347811}, {2108917263, -405159222}, 1781 {2106220352, -418953276}, {2103433217, -432729385}, 1782 {2100555978, -446486956}, {2097588758, -460225402}, 1783 {2094531684, -473944133}, {2091384888, -487642562}, 1784 {2088148504, -501320102}, {2084822670, -514976167}, 1785 {2081407530, -528610172}, {2077903229, -542221533}, 1786 {2074309917, -555809667}, {2070627749, -569373992}, 1787 {2066856882, -582913927}, {2062997478, -596428893}, 1788 {2059049702, -609918309}, {2055013723, -623381598}, 1789 {2050889714, -636818183}, {2046677852, -650227490}, 1790 {2042378317, -663608942}, {2037991293, -676961968}, 1791 {2033516969, -690285996}, {2028955535, -703580453}, 1792 {2024307188, -716844772}, {2019572126, -730078383}, 1793 {2014750553, -743280720}, {2009842674, -756451218}, 1794 {2004848700, -769589312}, {1999768845, -782694439}, 1795 {1994603327, -795766038}, {1989352366, -808803549}, 1796 {1984016189, -821806413}, {1978595022, -834774075}, 1797 {1973089100, -847705977}, {1967498656, -860601566}, 1798 {1961823932, -873460290}, {1956065170, -886281598}, 1799 {1950222616, -899064940}, {1944296521, -911809770}, 1800 {1938287139, -924515541}, {1932194727, -937181708}, 1801 {1926019547, -949807730}, {1919761862, -962393065}, 1802 {1913421941, -974937175}, {1907000055, -987439521}, 1803 {1900496480, -999899569}, {1893911494, -1012316784}, 1804 {1887245379, -1024690635}, {1880498421, -1037020592}, 1805 {1873670908, -1049306126}, {1866763134, -1061546712}, 1806 {1859775393, -1073741824}, {1852707986, -1085890941}, 1807 {1845561216, -1097993542}, {1838335387, -1110049108}, 1808 {1831030811, -1122057124}, {1823647799, -1134017074}, 1809 {1816186668, -1145928447}, {1808647737, -1157790732}, 1810 {1801031331, -1169603422}, {1793337774, -1181366009}, 1811 {1785567396, -1193077991}, {1777720531, -1204738865}, 1812 {1769797514, -1216348132}, {1761798685, -1227905295}, 1813 {1753724386, -1239409858}, {1745574963, -1250861329}, 1814 {1737350766, -1262259218}, {1729052147, -1273603035}, 1815 {1720679461, -1284892296}, {1712233066, -1296126516}, 1816 {1703713325, -1307305214}, {1695120603, -1318427912}, 1817 {1686455268, -1329494133}, {1677717690, -1340503402}, 1818 {1668908244, -1351455249}, {1660027308, -1362349204}, 1819 {1651075262, -1373184801}, {1642052490, -1383961574}, 1820 {1632959377, -1394679064}, {1623796314, -1405336810}, 1821 {1614563692, -1415934356}, {1605261909, -1426471249}, 1822 {1595891361, -1436947036}, {1586452450, -1447361268}, 1823 {1576945581, -1457713501}, {1567371161, -1468003290}, 1824 {1557729600, -1478230195}, {1548021312, -1488393778}, 1825 {1538246711, -1498493602}, {1528406216, -1508529236}, 1826 {1518500250, -1518500250}, {1508529236, -1528406216}, 1827 {1498493602, -1538246711}, {1488393778, -1548021312}, 1828 {1478230195, -1557729600}, {1468003290, -1567371161}, 1829 {1457713501, -1576945581}, {1447361268, -1586452450}, 1830 {1436947036, -1595891361}, {1426471249, -1605261909}, 1831 {1415934356, -1614563692}, {1405336810, -1623796314}, 1832 {1394679064, -1632959377}, {1383961574, -1642052490}, 1833 {1373184801, -1651075262}, {1362349204, -1660027308}, 1834 {1351455249, -1668908244}, {1340503402, -1677717690}, 1835 {1329494133, -1686455268}, {1318427912, -1695120603}, 1836 {1307305214, -1703713325}, {1296126516, -1712233066}, 1837 {1284892296, -1720679461}, {1273603035, -1729052147}, 1838 {1262259218, -1737350766}, {1250861329, -1745574963}, 1839 {1239409858, -1753724386}, {1227905295, -1761798685}, 1840 {1216348132, -1769797514}, {1204738865, -1777720531}, 1841 {1193077991, -1785567396}, {1181366009, -1793337774}, 1842 {1169603422, -1801031331}, {1157790732, -1808647737}, 1843 {1145928447, -1816186668}, {1134017074, -1823647799}, 1844 {1122057124, -1831030811}, {1110049108, -1838335387}, 1845 {1097993542, -1845561216}, {1085890941, -1852707986}, 1846 {1073741824, -1859775393}, {1061546712, -1866763134}, 1847 {1049306126, -1873670908}, {1037020592, -1880498421}, 1848 {1024690635, -1887245379}, {1012316784, -1893911494}, 1849 {999899569, -1900496480}, {987439521, -1907000055}, 1850 {974937175, -1913421941}, {962393065, -1919761862}, 1851 {949807730, -1926019547}, {937181708, -1932194727}, 1852 {924515541, -1938287139}, {911809770, -1944296521}, 1853 {899064940, -1950222616}, {886281598, -1956065170}, 1854 {873460290, -1961823932}, {860601566, -1967498656}, 1855 {847705977, -1973089100}, {834774075, -1978595022}, 1856 {821806413, -1984016189}, {808803549, -1989352366}, 1857 {795766038, -1994603327}, {782694439, -1999768845}, 1858 {769589312, -2004848700}, {756451218, -2009842674}, 1859 {743280720, -2014750553}, {730078383, -2019572126}, 1860 {716844772, -2024307188}, {703580453, -2028955535}, 1861 {690285996, -2033516969}, {676961968, -2037991293}, 1862 {663608942, -2042378317}, {650227490, -2046677852}, 1863 {636818183, -2050889714}, {623381598, -2055013723}, 1864 {609918309, -2059049702}, {596428893, -2062997478}, 1865 {582913927, -2066856882}, {569373992, -2070627749}, 1866 {555809667, -2074309917}, {542221533, -2077903229}, 1867 {528610172, -2081407530}, {514976167, -2084822670}, 1868 {501320102, -2088148504}, {487642562, -2091384888}, 1869 {473944133, -2094531684}, {460225402, -2097588758}, 1870 {446486956, -2100555978}, {432729385, -2103433217}, 1871 {418953276, -2106220352}, {405159222, -2108917263}, 1872 {391347811, -2111523836}, {377519637, -2114039958}, 1873 {363675290, -2116465521}, {349815365, -2118800422}, 1874 {335940456, -2121044561}, {322051155, -2123197841}, 1875 {308148059, -2125260170}, {294231763, -2127231461}, 1876 {280302863, -2129111628}, {266361956, -2130900591}, 1877 {252409639, -2132598273}, {238446509, -2134204601}, 1878 {224473166, -2135719508}, {210490206, -2137142927}, 1879 {196498230, -2138474799}, {182497836, -2139715065}, 1880 {168489625, -2140863673}, {154474196, -2141920573}, 1881 {140452151, -2142885721}, {126424088, -2143759074}, 1882 {112390610, -2144540596}, {98352318, -2145230253}, 1883 {84309812, -2145828016}, {70263695, -2146333858}, 1884 {56214568, -2146747759}, {42163034, -2147069700}, 1885 {28109692, -2147299668}, {14055147, -2147437652}, 1886 {0, -2147483648}, {-14055147, -2147437652}, 1887 {-28109692, -2147299668}, {-42163034, -2147069700}, 1888 {-56214568, -2146747759}, {-70263695, -2146333858}, 1889 {-84309812, -2145828016}, {-98352318, -2145230253}, 1890 {-112390610, -2144540596}, {-126424088, -2143759074}, 1891 {-140452151, -2142885721}, {-154474196, -2141920573}, 1892 {-168489625, -2140863673}, {-182497836, -2139715065}, 1893 {-196498230, -2138474799}, {-210490206, -2137142927}, 1894 {-224473166, -2135719508}, {-238446509, -2134204601}, 1895 {-252409639, -2132598273}, {-266361956, -2130900591}, 1896 {-280302863, -2129111628}, {-294231763, -2127231461}, 1897 {-308148059, -2125260170}, {-322051155, -2123197841}, 1898 {-335940456, -2121044561}, {-349815365, -2118800422}, 1899 {-363675290, -2116465521}, {-377519637, -2114039958}, 1900 {-391347811, -2111523836}, {-405159222, -2108917263}, 1901 {-418953276, -2106220352}, {-432729385, -2103433217}, 1902 {-446486956, -2100555978}, {-460225402, -2097588758}, 1903 {-473944133, -2094531684}, {-487642562, -2091384888}, 1904 {-501320102, -2088148504}, {-514976167, -2084822670}, 1905 {-528610172, -2081407530}, {-542221533, -2077903229}, 1906 {-555809667, -2074309917}, {-569373992, -2070627749}, 1907 {-582913927, -2066856882}, {-596428893, -2062997478}, 1908 {-609918309, -2059049702}, {-623381598, -2055013723}, 1909 {-636818183, -2050889714}, {-650227490, -2046677852}, 1910 {-663608942, -2042378317}, {-676961968, -2037991293}, 1911 {-690285996, -2033516969}, {-703580453, -2028955535}, 1912 {-716844772, -2024307188}, {-730078383, -2019572126}, 1913 {-743280720, -2014750553}, {-756451218, -2009842674}, 1914 {-769589312, -2004848700}, {-782694439, -1999768845}, 1915 {-795766038, -1994603327}, {-808803549, -1989352366}, 1916 {-821806413, -1984016189}, {-834774075, -1978595022}, 1917 {-847705977, -1973089100}, {-860601566, -1967498656}, 1918 {-873460290, -1961823932}, {-886281598, -1956065170}, 1919 {-899064940, -1950222616}, {-911809770, -1944296521}, 1920 {-924515541, -1938287139}, {-937181708, -1932194727}, 1921 {-949807730, -1926019547}, {-962393065, -1919761862}, 1922 {-974937175, -1913421941}, {-987439521, -1907000055}, 1923 {-999899569, -1900496480}, {-1012316784, -1893911494}, 1924 {-1024690635, -1887245379}, {-1037020592, -1880498421}, 1925 {-1049306126, -1873670908}, {-1061546712, -1866763134}, 1926 {-1073741824, -1859775393}, {-1085890941, -1852707986}, 1927 {-1097993542, -1845561216}, {-1110049108, -1838335387}, 1928 {-1122057124, -1831030811}, {-1134017074, -1823647799}, 1929 {-1145928447, -1816186668}, {-1157790732, -1808647737}, 1930 {-1169603422, -1801031331}, {-1181366009, -1793337774}, 1931 {-1193077991, -1785567396}, {-1204738865, -1777720531}, 1932 {-1216348132, -1769797514}, {-1227905295, -1761798685}, 1933 {-1239409858, -1753724386}, {-1250861329, -1745574963}, 1934 {-1262259218, -1737350766}, {-1273603035, -1729052147}, 1935 {-1284892296, -1720679461}, {-1296126516, -1712233066}, 1936 {-1307305214, -1703713325}, {-1318427912, -1695120603}, 1937 {-1329494133, -1686455268}, {-1340503402, -1677717690}, 1938 {-1351455249, -1668908244}, {-1362349204, -1660027308}, 1939 {-1373184801, -1651075262}, {-1383961574, -1642052490}, 1940 {-1394679064, -1632959377}, {-1405336810, -1623796314}, 1941 {-1415934356, -1614563692}, {-1426471249, -1605261909}, 1942 {-1436947036, -1595891361}, {-1447361268, -1586452450}, 1943 {-1457713501, -1576945581}, {-1468003290, -1567371161}, 1944 {-1478230195, -1557729600}, {-1488393778, -1548021312}, 1945 {-1498493602, -1538246711}, {-1508529236, -1528406216}, 1946 {-1518500250, -1518500250}, {-1528406216, -1508529236}, 1947 {-1538246711, -1498493602}, {-1548021312, -1488393778}, 1948 {-1557729600, -1478230195}, {-1567371161, -1468003290}, 1949 {-1576945581, -1457713501}, {-1586452450, -1447361268}, 1950 {-1595891361, -1436947036}, {-1605261909, -1426471249}, 1951 {-1614563692, -1415934356}, {-1623796314, -1405336810}, 1952 {-1632959377, -1394679064}, {-1642052490, -1383961574}, 1953 {-1651075262, -1373184801}, {-1660027308, -1362349204}, 1954 {-1668908244, -1351455249}, {-1677717690, -1340503402}, 1955 {-1686455268, -1329494133}, {-1695120603, -1318427912}, 1956 {-1703713325, -1307305214}, {-1712233066, -1296126516}, 1957 {-1720679461, -1284892296}, {-1729052147, -1273603035}, 1958 {-1737350766, -1262259218}, {-1745574963, -1250861329}, 1959 {-1753724386, -1239409858}, {-1761798685, -1227905295}, 1960 {-1769797514, -1216348132}, {-1777720531, -1204738865}, 1961 {-1785567396, -1193077991}, {-1793337774, -1181366009}, 1962 {-1801031331, -1169603422}, {-1808647737, -1157790732}, 1963 {-1816186668, -1145928447}, {-1823647799, -1134017074}, 1964 {-1831030811, -1122057124}, {-1838335387, -1110049108}, 1965 {-1845561216, -1097993542}, {-1852707986, -1085890941}, 1966 {-1859775393, -1073741824}, {-1866763134, -1061546712}, 1967 {-1873670908, -1049306126}, {-1880498421, -1037020592}, 1968 {-1887245379, -1024690635}, {-1893911494, -1012316784}, 1969 {-1900496480, -999899569}, {-1907000055, -987439521}, 1970 {-1913421941, -974937175}, {-1919761862, -962393065}, 1971 {-1926019547, -949807730}, {-1932194727, -937181708}, 1972 {-1938287139, -924515541}, {-1944296521, -911809770}, 1973 {-1950222616, -899064940}, {-1956065170, -886281598}, 1974 {-1961823932, -873460290}, {-1967498656, -860601566}, 1975 {-1973089100, -847705977}, {-1978595022, -834774075}, 1976 {-1984016189, -821806413}, {-1989352366, -808803549}, 1977 {-1994603327, -795766038}, {-1999768845, -782694439}, 1978 {-2004848700, -769589312}, {-2009842674, -756451218}, 1979 {-2014750553, -743280720}, {-2019572126, -730078383}, 1980 {-2024307188, -716844772}, {-2028955535, -703580453}, 1981 {-2033516969, -690285996}, {-2037991293, -676961968}, 1982 {-2042378317, -663608942}, {-2046677852, -650227490}, 1983 {-2050889714, -636818183}, {-2055013723, -623381598}, 1984 {-2059049702, -609918309}, {-2062997478, -596428893}, 1985 {-2066856882, -582913927}, {-2070627749, -569373992}, 1986 {-2074309917, -555809667}, {-2077903229, -542221533}, 1987 {-2081407530, -528610172}, {-2084822670, -514976167}, 1988 {-2088148504, -501320102}, {-2091384888, -487642562}, 1989 {-2094531684, -473944133}, {-2097588758, -460225402}, 1990 {-2100555978, -446486956}, {-2103433217, -432729385}, 1991 {-2106220352, -418953276}, {-2108917263, -405159222}, 1992 {-2111523836, -391347811}, {-2114039958, -377519637}, 1993 {-2116465521, -363675290}, {-2118800422, -349815365}, 1994 {-2121044561, -335940456}, {-2123197841, -322051155}, 1995 {-2125260170, -308148059}, {-2127231461, -294231763}, 1996 {-2129111628, -280302863}, {-2130900591, -266361956}, 1997 {-2132598273, -252409639}, {-2134204601, -238446509}, 1998 {-2135719508, -224473166}, {-2137142927, -210490206}, 1999 {-2138474799, -196498230}, {-2139715065, -182497836}, 2000 {-2140863673, -168489625}, {-2141920573, -154474196}, 2001 {-2142885721, -140452151}, {-2143759074, -126424088}, 2002 {-2144540596, -112390610}, {-2145230253, -98352318}, 2003 {-2145828016, -84309812}, {-2146333858, -70263695}, 2004 {-2146747759, -56214568}, {-2147069700, -42163034}, 2005 {-2147299668, -28109692}, {-2147437652, -14055147}, 2006 {-2147483648, 0}, {-2147437652, 14055147}, 2007 {-2147299668, 28109692}, {-2147069700, 42163034}, 2008 {-2146747759, 56214568}, {-2146333858, 70263695}, 2009 {-2145828016, 84309812}, {-2145230253, 98352318}, 2010 {-2144540596, 112390610}, {-2143759074, 126424088}, 2011 {-2142885721, 140452151}, {-2141920573, 154474196}, 2012 {-2140863673, 168489625}, {-2139715065, 182497836}, 2013 {-2138474799, 196498230}, {-2137142927, 210490206}, 2014 {-2135719508, 224473166}, {-2134204601, 238446509}, 2015 {-2132598273, 252409639}, {-2130900591, 266361956}, 2016 {-2129111628, 280302863}, {-2127231461, 294231763}, 2017 {-2125260170, 308148059}, {-2123197841, 322051155}, 2018 {-2121044561, 335940456}, {-2118800422, 349815365}, 2019 {-2116465521, 363675290}, {-2114039958, 377519637}, 2020 {-2111523836, 391347811}, {-2108917263, 405159222}, 2021 {-2106220352, 418953276}, {-2103433217, 432729385}, 2022 {-2100555978, 446486956}, {-2097588758, 460225402}, 2023 {-2094531684, 473944133}, {-2091384888, 487642562}, 2024 {-2088148504, 501320102}, {-2084822670, 514976167}, 2025 {-2081407530, 528610172}, {-2077903229, 542221533}, 2026 {-2074309917, 555809667}, {-2070627749, 569373992}, 2027 {-2066856882, 582913927}, {-2062997478, 596428893}, 2028 {-2059049702, 609918309}, {-2055013723, 623381598}, 2029 {-2050889714, 636818183}, {-2046677852, 650227490}, 2030 {-2042378317, 663608942}, {-2037991293, 676961968}, 2031 {-2033516969, 690285996}, {-2028955535, 703580453}, 2032 {-2024307188, 716844772}, {-2019572126, 730078383}, 2033 {-2014750553, 743280720}, {-2009842674, 756451218}, 2034 {-2004848700, 769589312}, {-1999768845, 782694439}, 2035 {-1994603327, 795766038}, {-1989352366, 808803549}, 2036 {-1984016189, 821806413}, {-1978595022, 834774075}, 2037 {-1973089100, 847705977}, {-1967498656, 860601566}, 2038 {-1961823932, 873460290}, {-1956065170, 886281598}, 2039 {-1950222616, 899064940}, {-1944296521, 911809770}, 2040 {-1938287139, 924515541}, {-1932194727, 937181708}, 2041 {-1926019547, 949807730}, {-1919761862, 962393065}, 2042 {-1913421941, 974937175}, {-1907000055, 987439521}, 2043 {-1900496480, 999899569}, {-1893911494, 1012316784}, 2044 {-1887245379, 1024690635}, {-1880498421, 1037020592}, 2045 {-1873670908, 1049306126}, {-1866763134, 1061546712}, 2046 {-1859775393, 1073741824}, {-1852707986, 1085890941}, 2047 {-1845561216, 1097993542}, {-1838335387, 1110049108}, 2048 {-1831030811, 1122057124}, {-1823647799, 1134017074}, 2049 {-1816186668, 1145928447}, {-1808647737, 1157790732}, 2050 {-1801031331, 1169603422}, {-1793337774, 1181366009}, 2051 {-1785567396, 1193077991}, {-1777720531, 1204738865}, 2052 {-1769797514, 1216348132}, {-1761798685, 1227905295}, 2053 {-1753724386, 1239409858}, {-1745574963, 1250861329}, 2054 {-1737350766, 1262259218}, {-1729052147, 1273603035}, 2055 {-1720679461, 1284892296}, {-1712233066, 1296126516}, 2056 {-1703713325, 1307305214}, {-1695120603, 1318427912}, 2057 {-1686455268, 1329494133}, {-1677717690, 1340503402}, 2058 {-1668908244, 1351455249}, {-1660027308, 1362349204}, 2059 {-1651075262, 1373184801}, {-1642052490, 1383961574}, 2060 {-1632959377, 1394679064}, {-1623796314, 1405336810}, 2061 {-1614563692, 1415934356}, {-1605261909, 1426471249}, 2062 {-1595891361, 1436947036}, {-1586452450, 1447361268}, 2063 {-1576945581, 1457713501}, {-1567371161, 1468003290}, 2064 {-1557729600, 1478230195}, {-1548021312, 1488393778}, 2065 {-1538246711, 1498493602}, {-1528406216, 1508529236}, 2066 {-1518500250, 1518500250}, {-1508529236, 1528406216}, 2067 {-1498493602, 1538246711}, {-1488393778, 1548021312}, 2068 {-1478230195, 1557729600}, {-1468003290, 1567371161}, 2069 {-1457713501, 1576945581}, {-1447361268, 1586452450}, 2070 {-1436947036, 1595891361}, {-1426471249, 1605261909}, 2071 {-1415934356, 1614563692}, {-1405336810, 1623796314}, 2072 {-1394679064, 1632959377}, {-1383961574, 1642052490}, 2073 {-1373184801, 1651075262}, {-1362349204, 1660027308}, 2074 {-1351455249, 1668908244}, {-1340503402, 1677717690}, 2075 {-1329494133, 1686455268}, {-1318427912, 1695120603}, 2076 {-1307305214, 1703713325}, {-1296126516, 1712233066}, 2077 {-1284892296, 1720679461}, {-1273603035, 1729052147}, 2078 {-1262259218, 1737350766}, {-1250861329, 1745574963}, 2079 {-1239409858, 1753724386}, {-1227905295, 1761798685}, 2080 {-1216348132, 1769797514}, {-1204738865, 1777720531}, 2081 {-1193077991, 1785567396}, {-1181366009, 1793337774}, 2082 {-1169603422, 1801031331}, {-1157790732, 1808647737}, 2083 {-1145928447, 1816186668}, {-1134017074, 1823647799}, 2084 {-1122057124, 1831030811}, {-1110049108, 1838335387}, 2085 {-1097993542, 1845561216}, {-1085890941, 1852707986}, 2086 {-1073741824, 1859775393}, {-1061546712, 1866763134}, 2087 {-1049306126, 1873670908}, {-1037020592, 1880498421}, 2088 {-1024690635, 1887245379}, {-1012316784, 1893911494}, 2089 {-999899569, 1900496480}, {-987439521, 1907000055}, 2090 {-974937175, 1913421941}, {-962393065, 1919761862}, 2091 {-949807730, 1926019547}, {-937181708, 1932194727}, 2092 {-924515541, 1938287139}, {-911809770, 1944296521}, 2093 {-899064940, 1950222616}, {-886281598, 1956065170}, 2094 {-873460290, 1961823932}, {-860601566, 1967498656}, 2095 {-847705977, 1973089100}, {-834774075, 1978595022}, 2096 {-821806413, 1984016189}, {-808803549, 1989352366}, 2097 {-795766038, 1994603327}, {-782694439, 1999768845}, 2098 {-769589312, 2004848700}, {-756451218, 2009842674}, 2099 {-743280720, 2014750553}, {-730078383, 2019572126}, 2100 {-716844772, 2024307188}, {-703580453, 2028955535}, 2101 {-690285996, 2033516969}, {-676961968, 2037991293}, 2102 {-663608942, 2042378317}, {-650227490, 2046677852}, 2103 {-636818183, 2050889714}, {-623381598, 2055013723}, 2104 {-609918309, 2059049702}, {-596428893, 2062997478}, 2105 {-582913927, 2066856882}, {-569373992, 2070627749}, 2106 {-555809667, 2074309917}, {-542221533, 2077903229}, 2107 {-528610172, 2081407530}, {-514976167, 2084822670}, 2108 {-501320102, 2088148504}, {-487642562, 2091384888}, 2109 {-473944133, 2094531684}, {-460225402, 2097588758}, 2110 {-446486956, 2100555978}, {-432729385, 2103433217}, 2111 {-418953276, 2106220352}, {-405159222, 2108917263}, 2112 {-391347811, 2111523836}, {-377519637, 2114039958}, 2113 {-363675290, 2116465521}, {-349815365, 2118800422}, 2114 {-335940456, 2121044561}, {-322051155, 2123197841}, 2115 {-308148059, 2125260170}, {-294231763, 2127231461}, 2116 {-280302863, 2129111628}, {-266361956, 2130900591}, 2117 {-252409639, 2132598273}, {-238446509, 2134204601}, 2118 {-224473166, 2135719508}, {-210490206, 2137142927}, 2119 {-196498230, 2138474799}, {-182497836, 2139715065}, 2120 {-168489625, 2140863673}, {-154474196, 2141920573}, 2121 {-140452151, 2142885721}, {-126424088, 2143759074}, 2122 {-112390610, 2144540596}, {-98352318, 2145230253}, 2123 {-84309812, 2145828016}, {-70263695, 2146333858}, 2124 {-56214568, 2146747759}, {-42163034, 2147069700}, 2125 {-28109692, 2147299668}, {-14055147, 2147437652}, 2126 {0, 2147483647}, {14055147, 2147437652}, 2127 {28109692, 2147299668}, {42163034, 2147069700}, 2128 {56214568, 2146747759}, {70263695, 2146333858}, 2129 {84309812, 2145828016}, {98352318, 2145230253}, 2130 {112390610, 2144540596}, {126424088, 2143759074}, 2131 {140452151, 2142885721}, {154474196, 2141920573}, 2132 {168489625, 2140863673}, {182497836, 2139715065}, 2133 {196498230, 2138474799}, {210490206, 2137142927}, 2134 {224473166, 2135719508}, {238446509, 2134204601}, 2135 {252409639, 2132598273}, {266361956, 2130900591}, 2136 {280302863, 2129111628}, {294231763, 2127231461}, 2137 {308148059, 2125260170}, {322051155, 2123197841}, 2138 {335940456, 2121044561}, {349815365, 2118800422}, 2139 {363675290, 2116465521}, {377519637, 2114039958}, 2140 {391347811, 2111523836}, {405159222, 2108917263}, 2141 {418953276, 2106220352}, {432729385, 2103433217}, 2142 {446486956, 2100555978}, {460225402, 2097588758}, 2143 {473944133, 2094531684}, {487642562, 2091384888}, 2144 {501320102, 2088148504}, {514976167, 2084822670}, 2145 {528610172, 2081407530}, {542221533, 2077903229}, 2146 {555809667, 2074309917}, {569373992, 2070627749}, 2147 {582913927, 2066856882}, {596428893, 2062997478}, 2148 {609918309, 2059049702}, {623381598, 2055013723}, 2149 {636818183, 2050889714}, {650227490, 2046677852}, 2150 {663608942, 2042378317}, {676961968, 2037991293}, 2151 {690285996, 2033516969}, {703580453, 2028955535}, 2152 {716844772, 2024307188}, {730078383, 2019572126}, 2153 {743280720, 2014750553}, {756451218, 2009842674}, 2154 {769589312, 2004848700}, {782694439, 1999768845}, 2155 {795766038, 1994603327}, {808803549, 1989352366}, 2156 {821806413, 1984016189}, {834774075, 1978595022}, 2157 {847705977, 1973089100}, {860601566, 1967498656}, 2158 {873460290, 1961823932}, {886281598, 1956065170}, 2159 {899064940, 1950222616}, {911809770, 1944296521}, 2160 {924515541, 1938287139}, {937181708, 1932194727}, 2161 {949807730, 1926019547}, {962393065, 1919761862}, 2162 {974937175, 1913421941}, {987439521, 1907000055}, 2163 {999899569, 1900496480}, {1012316784, 1893911494}, 2164 {1024690635, 1887245379}, {1037020592, 1880498421}, 2165 {1049306126, 1873670908}, {1061546712, 1866763134}, 2166 {1073741824, 1859775393}, {1085890941, 1852707986}, 2167 {1097993542, 1845561216}, {1110049108, 1838335387}, 2168 {1122057124, 1831030811}, {1134017074, 1823647799}, 2169 {1145928447, 1816186668}, {1157790732, 1808647737}, 2170 {1169603422, 1801031331}, {1181366009, 1793337774}, 2171 {1193077991, 1785567396}, {1204738865, 1777720531}, 2172 {1216348132, 1769797514}, {1227905295, 1761798685}, 2173 {1239409858, 1753724386}, {1250861329, 1745574963}, 2174 {1262259218, 1737350766}, {1273603035, 1729052147}, 2175 {1284892296, 1720679461}, {1296126516, 1712233066}, 2176 {1307305214, 1703713325}, {1318427912, 1695120603}, 2177 {1329494133, 1686455268}, {1340503402, 1677717690}, 2178 {1351455249, 1668908244}, {1362349204, 1660027308}, 2179 {1373184801, 1651075262}, {1383961574, 1642052490}, 2180 {1394679064, 1632959377}, {1405336810, 1623796314}, 2181 {1415934356, 1614563692}, {1426471249, 1605261909}, 2182 {1436947036, 1595891361}, {1447361268, 1586452450}, 2183 {1457713501, 1576945581}, {1468003290, 1567371161}, 2184 {1478230195, 1557729600}, {1488393778, 1548021312}, 2185 {1498493602, 1538246711}, {1508529236, 1528406216}, 2186 {1518500250, 1518500250}, {1528406216, 1508529236}, 2187 {1538246711, 1498493602}, {1548021312, 1488393778}, 2188 {1557729600, 1478230195}, {1567371161, 1468003290}, 2189 {1576945581, 1457713501}, {1586452450, 1447361268}, 2190 {1595891361, 1436947036}, {1605261909, 1426471249}, 2191 {1614563692, 1415934356}, {1623796314, 1405336810}, 2192 {1632959377, 1394679064}, {1642052490, 1383961574}, 2193 {1651075262, 1373184801}, {1660027308, 1362349204}, 2194 {1668908244, 1351455249}, {1677717690, 1340503402}, 2195 {1686455268, 1329494133}, {1695120603, 1318427912}, 2196 {1703713325, 1307305214}, {1712233066, 1296126516}, 2197 {1720679461, 1284892296}, {1729052147, 1273603035}, 2198 {1737350766, 1262259218}, {1745574963, 1250861329}, 2199 {1753724386, 1239409858}, {1761798685, 1227905295}, 2200 {1769797514, 1216348132}, {1777720531, 1204738865}, 2201 {1785567396, 1193077991}, {1793337774, 1181366009}, 2202 {1801031331, 1169603422}, {1808647737, 1157790732}, 2203 {1816186668, 1145928447}, {1823647799, 1134017074}, 2204 {1831030811, 1122057124}, {1838335387, 1110049108}, 2205 {1845561216, 1097993542}, {1852707986, 1085890941}, 2206 {1859775393, 1073741824}, {1866763134, 1061546712}, 2207 {1873670908, 1049306126}, {1880498421, 1037020592}, 2208 {1887245379, 1024690635}, {1893911494, 1012316784}, 2209 {1900496480, 999899569}, {1907000055, 987439521}, 2210 {1913421941, 974937175}, {1919761862, 962393065}, 2211 {1926019547, 949807730}, {1932194727, 937181708}, 2212 {1938287139, 924515541}, {1944296521, 911809770}, 2213 {1950222616, 899064940}, {1956065170, 886281598}, 2214 {1961823932, 873460290}, {1967498656, 860601566}, 2215 {1973089100, 847705977}, {1978595022, 834774075}, 2216 {1984016189, 821806413}, {1989352366, 808803549}, 2217 {1994603327, 795766038}, {1999768845, 782694439}, 2218 {2004848700, 769589312}, {2009842674, 756451218}, 2219 {2014750553, 743280720}, {2019572126, 730078383}, 2220 {2024307188, 716844772}, {2028955535, 703580453}, 2221 {2033516969, 690285996}, {2037991293, 676961968}, 2222 {2042378317, 663608942}, {2046677852, 650227490}, 2223 {2050889714, 636818183}, {2055013723, 623381598}, 2224 {2059049702, 609918309}, {2062997478, 596428893}, 2225 {2066856882, 582913927}, {2070627749, 569373992}, 2226 {2074309917, 555809667}, {2077903229, 542221533}, 2227 {2081407530, 528610172}, {2084822670, 514976167}, 2228 {2088148504, 501320102}, {2091384888, 487642562}, 2229 {2094531684, 473944133}, {2097588758, 460225402}, 2230 {2100555978, 446486956}, {2103433217, 432729385}, 2231 {2106220352, 418953276}, {2108917263, 405159222}, 2232 {2111523836, 391347811}, {2114039958, 377519637}, 2233 {2116465521, 363675290}, {2118800422, 349815365}, 2234 {2121044561, 335940456}, {2123197841, 322051155}, 2235 {2125260170, 308148059}, {2127231461, 294231763}, 2236 {2129111628, 280302863}, {2130900591, 266361956}, 2237 {2132598273, 252409639}, {2134204601, 238446509}, 2238 {2135719508, 224473166}, {2137142927, 210490206}, 2239 {2138474799, 196498230}, {2139715065, 182497836}, 2240 {2140863673, 168489625}, {2141920573, 154474196}, 2241 {2142885721, 140452151}, {2143759074, 126424088}, 2242 {2144540596, 112390610}, {2145230253, 98352318}, 2243 {2145828016, 84309812}, {2146333858, 70263695}, 2244 {2146747759, 56214568}, {2147069700, 42163034}, 2245 {2147299668, 28109692}, {2147437652, 14055147}, 2246 #else 2247 {32767, 0}, {32767, -214}, 2248 {32765, -429}, {32762, -643}, 2249 {32757, -858}, {32750, -1072}, 2250 {32743, -1286}, {32734, -1501}, 2251 {32723, -1715}, {32711, -1929}, 2252 {32698, -2143}, {32683, -2357}, 2253 {32667, -2571}, {32649, -2785}, 2254 {32631, -2998}, {32610, -3212}, 2255 {32588, -3425}, {32565, -3638}, 2256 {32541, -3851}, {32515, -4064}, 2257 {32488, -4277}, {32459, -4490}, 2258 {32429, -4702}, {32397, -4914}, 2259 {32365, -5126}, {32330, -5338}, 2260 {32295, -5549}, {32258, -5760}, 2261 {32219, -5971}, {32180, -6182}, 2262 {32138, -6393}, {32096, -6603}, 2263 {32052, -6813}, {32007, -7022}, 2264 {31960, -7232}, {31912, -7441}, 2265 {31863, -7650}, {31812, -7858}, 2266 {31760, -8066}, {31706, -8274}, 2267 {31651, -8481}, {31595, -8688}, 2268 {31538, -8895}, {31479, -9101}, 2269 {31419, -9307}, {31357, -9512}, 2270 {31294, -9717}, {31230, -9922}, 2271 {31164, -10126}, {31097, -10330}, 2272 {31029, -10533}, {30959, -10736}, 2273 {30888, -10938}, {30816, -11140}, 2274 {30743, -11342}, {30668, -11543}, 2275 {30592, -11743}, {30514, -11943}, 2276 {30435, -12142}, {30355, -12341}, 2277 {30274, -12540}, {30191, -12738}, 2278 {30107, -12935}, {30022, -13132}, 2279 {29935, -13328}, {29847, -13524}, 2280 {29758, -13719}, {29668, -13913}, 2281 {29576, -14107}, {29483, -14300}, 2282 {29389, -14493}, {29293, -14685}, 2283 {29197, -14876}, {29099, -15067}, 2284 {28999, -15257}, {28899, -15447}, 2285 {28797, -15636}, {28694, -15824}, 2286 {28590, -16011}, {28485, -16198}, 2287 {28378, -16384}, {28270, -16569}, 2288 {28161, -16754}, {28051, -16938}, 2289 {27939, -17121}, {27827, -17304}, 2290 {27713, -17485}, {27598, -17666}, 2291 {27482, -17847}, {27364, -18026}, 2292 {27246, -18205}, {27126, -18383}, 2293 {27005, -18560}, {26883, -18736}, 2294 {26760, -18912}, {26635, -19087}, 2295 {26510, -19261}, {26383, -19434}, 2296 {26255, -19606}, {26127, -19777}, 2297 {25997, -19948}, {25865, -20118}, 2298 {25733, -20286}, {25600, -20454}, 2299 {25466, -20622}, {25330, -20788}, 2300 {25193, -20953}, {25056, -21118}, 2301 {24917, -21281}, {24777, -21444}, 2302 {24636, -21605}, {24494, -21766}, 2303 {24351, -21926}, {24207, -22085}, 2304 {24062, -22243}, {23916, -22400}, 2305 {23769, -22556}, {23621, -22711}, 2306 {23472, -22865}, {23322, -23018}, 2307 {23170, -23170}, {23018, -23322}, 2308 {22865, -23472}, {22711, -23621}, 2309 {22556, -23769}, {22400, -23916}, 2310 {22243, -24062}, {22085, -24207}, 2311 {21926, -24351}, {21766, -24494}, 2312 {21605, -24636}, {21444, -24777}, 2313 {21281, -24917}, {21118, -25056}, 2314 {20953, -25193}, {20788, -25330}, 2315 {20622, -25466}, {20454, -25600}, 2316 {20286, -25733}, {20118, -25865}, 2317 {19948, -25997}, {19777, -26127}, 2318 {19606, -26255}, {19434, -26383}, 2319 {19261, -26510}, {19087, -26635}, 2320 {18912, -26760}, {18736, -26883}, 2321 {18560, -27005}, {18383, -27126}, 2322 {18205, -27246}, {18026, -27364}, 2323 {17847, -27482}, {17666, -27598}, 2324 {17485, -27713}, {17304, -27827}, 2325 {17121, -27939}, {16938, -28051}, 2326 {16754, -28161}, {16569, -28270}, 2327 {16384, -28378}, {16198, -28485}, 2328 {16011, -28590}, {15824, -28694}, 2329 {15636, -28797}, {15447, -28899}, 2330 {15257, -28999}, {15067, -29099}, 2331 {14876, -29197}, {14685, -29293}, 2332 {14493, -29389}, {14300, -29483}, 2333 {14107, -29576}, {13913, -29668}, 2334 {13719, -29758}, {13524, -29847}, 2335 {13328, -29935}, {13132, -30022}, 2336 {12935, -30107}, {12738, -30191}, 2337 {12540, -30274}, {12341, -30355}, 2338 {12142, -30435}, {11943, -30514}, 2339 {11743, -30592}, {11543, -30668}, 2340 {11342, -30743}, {11140, -30816}, 2341 {10938, -30888}, {10736, -30959}, 2342 {10533, -31029}, {10330, -31097}, 2343 {10126, -31164}, {9922, -31230}, 2344 {9717, -31294}, {9512, -31357}, 2345 {9307, -31419}, {9101, -31479}, 2346 {8895, -31538}, {8688, -31595}, 2347 {8481, -31651}, {8274, -31706}, 2348 {8066, -31760}, {7858, -31812}, 2349 {7650, -31863}, {7441, -31912}, 2350 {7232, -31960}, {7022, -32007}, 2351 {6813, -32052}, {6603, -32096}, 2352 {6393, -32138}, {6182, -32180}, 2353 {5971, -32219}, {5760, -32258}, 2354 {5549, -32295}, {5338, -32330}, 2355 {5126, -32365}, {4914, -32397}, 2356 {4702, -32429}, {4490, -32459}, 2357 {4277, -32488}, {4064, -32515}, 2358 {3851, -32541}, {3638, -32565}, 2359 {3425, -32588}, {3212, -32610}, 2360 {2998, -32631}, {2785, -32649}, 2361 {2571, -32667}, {2357, -32683}, 2362 {2143, -32698}, {1929, -32711}, 2363 {1715, -32723}, {1501, -32734}, 2364 {1286, -32743}, {1072, -32750}, 2365 {858, -32757}, {643, -32762}, 2366 {429, -32765}, {214, -32767}, 2367 {0, -32767}, {-214, -32767}, 2368 {-429, -32765}, {-643, -32762}, 2369 {-858, -32757}, {-1072, -32750}, 2370 {-1286, -32743}, {-1501, -32734}, 2371 {-1715, -32723}, {-1929, -32711}, 2372 {-2143, -32698}, {-2357, -32683}, 2373 {-2571, -32667}, {-2785, -32649}, 2374 {-2998, -32631}, {-3212, -32610}, 2375 {-3425, -32588}, {-3638, -32565}, 2376 {-3851, -32541}, {-4064, -32515}, 2377 {-4277, -32488}, {-4490, -32459}, 2378 {-4702, -32429}, {-4914, -32397}, 2379 {-5126, -32365}, {-5338, -32330}, 2380 {-5549, -32295}, {-5760, -32258}, 2381 {-5971, -32219}, {-6182, -32180}, 2382 {-6393, -32138}, {-6603, -32096}, 2383 {-6813, -32052}, {-7022, -32007}, 2384 {-7232, -31960}, {-7441, -31912}, 2385 {-7650, -31863}, {-7858, -31812}, 2386 {-8066, -31760}, {-8274, -31706}, 2387 {-8481, -31651}, {-8688, -31595}, 2388 {-8895, -31538}, {-9101, -31479}, 2389 {-9307, -31419}, {-9512, -31357}, 2390 {-9717, -31294}, {-9922, -31230}, 2391 {-10126, -31164}, {-10330, -31097}, 2392 {-10533, -31029}, {-10736, -30959}, 2393 {-10938, -30888}, {-11140, -30816}, 2394 {-11342, -30743}, {-11543, -30668}, 2395 {-11743, -30592}, {-11943, -30514}, 2396 {-12142, -30435}, {-12341, -30355}, 2397 {-12540, -30274}, {-12738, -30191}, 2398 {-12935, -30107}, {-13132, -30022}, 2399 {-13328, -29935}, {-13524, -29847}, 2400 {-13719, -29758}, {-13913, -29668}, 2401 {-14107, -29576}, {-14300, -29483}, 2402 {-14493, -29389}, {-14685, -29293}, 2403 {-14876, -29197}, {-15067, -29099}, 2404 {-15257, -28999}, {-15447, -28899}, 2405 {-15636, -28797}, {-15824, -28694}, 2406 {-16011, -28590}, {-16198, -28485}, 2407 {-16384, -28378}, {-16569, -28270}, 2408 {-16754, -28161}, {-16938, -28051}, 2409 {-17121, -27939}, {-17304, -27827}, 2410 {-17485, -27713}, {-17666, -27598}, 2411 {-17847, -27482}, {-18026, -27364}, 2412 {-18205, -27246}, {-18383, -27126}, 2413 {-18560, -27005}, {-18736, -26883}, 2414 {-18912, -26760}, {-19087, -26635}, 2415 {-19261, -26510}, {-19434, -26383}, 2416 {-19606, -26255}, {-19777, -26127}, 2417 {-19948, -25997}, {-20118, -25865}, 2418 {-20286, -25733}, {-20454, -25600}, 2419 {-20622, -25466}, {-20788, -25330}, 2420 {-20953, -25193}, {-21118, -25056}, 2421 {-21281, -24917}, {-21444, -24777}, 2422 {-21605, -24636}, {-21766, -24494}, 2423 {-21926, -24351}, {-22085, -24207}, 2424 {-22243, -24062}, {-22400, -23916}, 2425 {-22556, -23769}, {-22711, -23621}, 2426 {-22865, -23472}, {-23018, -23322}, 2427 {-23170, -23170}, {-23322, -23018}, 2428 {-23472, -22865}, {-23621, -22711}, 2429 {-23769, -22556}, {-23916, -22400}, 2430 {-24062, -22243}, {-24207, -22085}, 2431 {-24351, -21926}, {-24494, -21766}, 2432 {-24636, -21605}, {-24777, -21444}, 2433 {-24917, -21281}, {-25056, -21118}, 2434 {-25193, -20953}, {-25330, -20788}, 2435 {-25466, -20622}, {-25600, -20454}, 2436 {-25733, -20286}, {-25865, -20118}, 2437 {-25997, -19948}, {-26127, -19777}, 2438 {-26255, -19606}, {-26383, -19434}, 2439 {-26510, -19261}, {-26635, -19087}, 2440 {-26760, -18912}, {-26883, -18736}, 2441 {-27005, -18560}, {-27126, -18383}, 2442 {-27246, -18205}, {-27364, -18026}, 2443 {-27482, -17847}, {-27598, -17666}, 2444 {-27713, -17485}, {-27827, -17304}, 2445 {-27939, -17121}, {-28051, -16938}, 2446 {-28161, -16754}, {-28270, -16569}, 2447 {-28378, -16384}, {-28485, -16198}, 2448 {-28590, -16011}, {-28694, -15824}, 2449 {-28797, -15636}, {-28899, -15447}, 2450 {-28999, -15257}, {-29099, -15067}, 2451 {-29197, -14876}, {-29293, -14685}, 2452 {-29389, -14493}, {-29483, -14300}, 2453 {-29576, -14107}, {-29668, -13913}, 2454 {-29758, -13719}, {-29847, -13524}, 2455 {-29935, -13328}, {-30022, -13132}, 2456 {-30107, -12935}, {-30191, -12738}, 2457 {-30274, -12540}, {-30355, -12341}, 2458 {-30435, -12142}, {-30514, -11943}, 2459 {-30592, -11743}, {-30668, -11543}, 2460 {-30743, -11342}, {-30816, -11140}, 2461 {-30888, -10938}, {-30959, -10736}, 2462 {-31029, -10533}, {-31097, -10330}, 2463 {-31164, -10126}, {-31230, -9922}, 2464 {-31294, -9717}, {-31357, -9512}, 2465 {-31419, -9307}, {-31479, -9101}, 2466 {-31538, -8895}, {-31595, -8688}, 2467 {-31651, -8481}, {-31706, -8274}, 2468 {-31760, -8066}, {-31812, -7858}, 2469 {-31863, -7650}, {-31912, -7441}, 2470 {-31960, -7232}, {-32007, -7022}, 2471 {-32052, -6813}, {-32096, -6603}, 2472 {-32138, -6393}, {-32180, -6182}, 2473 {-32219, -5971}, {-32258, -5760}, 2474 {-32295, -5549}, {-32330, -5338}, 2475 {-32365, -5126}, {-32397, -4914}, 2476 {-32429, -4702}, {-32459, -4490}, 2477 {-32488, -4277}, {-32515, -4064}, 2478 {-32541, -3851}, {-32565, -3638}, 2479 {-32588, -3425}, {-32610, -3212}, 2480 {-32631, -2998}, {-32649, -2785}, 2481 {-32667, -2571}, {-32683, -2357}, 2482 {-32698, -2143}, {-32711, -1929}, 2483 {-32723, -1715}, {-32734, -1501}, 2484 {-32743, -1286}, {-32750, -1072}, 2485 {-32757, -858}, {-32762, -643}, 2486 {-32765, -429}, {-32767, -214}, 2487 {-32767, 0}, {-32767, 214}, 2488 {-32765, 429}, {-32762, 643}, 2489 {-32757, 858}, {-32750, 1072}, 2490 {-32743, 1286}, {-32734, 1501}, 2491 {-32723, 1715}, {-32711, 1929}, 2492 {-32698, 2143}, {-32683, 2357}, 2493 {-32667, 2571}, {-32649, 2785}, 2494 {-32631, 2998}, {-32610, 3212}, 2495 {-32588, 3425}, {-32565, 3638}, 2496 {-32541, 3851}, {-32515, 4064}, 2497 {-32488, 4277}, {-32459, 4490}, 2498 {-32429, 4702}, {-32397, 4914}, 2499 {-32365, 5126}, {-32330, 5338}, 2500 {-32295, 5549}, {-32258, 5760}, 2501 {-32219, 5971}, {-32180, 6182}, 2502 {-32138, 6393}, {-32096, 6603}, 2503 {-32052, 6813}, {-32007, 7022}, 2504 {-31960, 7232}, {-31912, 7441}, 2505 {-31863, 7650}, {-31812, 7858}, 2506 {-31760, 8066}, {-31706, 8274}, 2507 {-31651, 8481}, {-31595, 8688}, 2508 {-31538, 8895}, {-31479, 9101}, 2509 {-31419, 9307}, {-31357, 9512}, 2510 {-31294, 9717}, {-31230, 9922}, 2511 {-31164, 10126}, {-31097, 10330}, 2512 {-31029, 10533}, {-30959, 10736}, 2513 {-30888, 10938}, {-30816, 11140}, 2514 {-30743, 11342}, {-30668, 11543}, 2515 {-30592, 11743}, {-30514, 11943}, 2516 {-30435, 12142}, {-30355, 12341}, 2517 {-30274, 12540}, {-30191, 12738}, 2518 {-30107, 12935}, {-30022, 13132}, 2519 {-29935, 13328}, {-29847, 13524}, 2520 {-29758, 13719}, {-29668, 13913}, 2521 {-29576, 14107}, {-29483, 14300}, 2522 {-29389, 14493}, {-29293, 14685}, 2523 {-29197, 14876}, {-29099, 15067}, 2524 {-28999, 15257}, {-28899, 15447}, 2525 {-28797, 15636}, {-28694, 15824}, 2526 {-28590, 16011}, {-28485, 16198}, 2527 {-28378, 16384}, {-28270, 16569}, 2528 {-28161, 16754}, {-28051, 16938}, 2529 {-27939, 17121}, {-27827, 17304}, 2530 {-27713, 17485}, {-27598, 17666}, 2531 {-27482, 17847}, {-27364, 18026}, 2532 {-27246, 18205}, {-27126, 18383}, 2533 {-27005, 18560}, {-26883, 18736}, 2534 {-26760, 18912}, {-26635, 19087}, 2535 {-26510, 19261}, {-26383, 19434}, 2536 {-26255, 19606}, {-26127, 19777}, 2537 {-25997, 19948}, {-25865, 20118}, 2538 {-25733, 20286}, {-25600, 20454}, 2539 {-25466, 20622}, {-25330, 20788}, 2540 {-25193, 20953}, {-25056, 21118}, 2541 {-24917, 21281}, {-24777, 21444}, 2542 {-24636, 21605}, {-24494, 21766}, 2543 {-24351, 21926}, {-24207, 22085}, 2544 {-24062, 22243}, {-23916, 22400}, 2545 {-23769, 22556}, {-23621, 22711}, 2546 {-23472, 22865}, {-23322, 23018}, 2547 {-23170, 23170}, {-23018, 23322}, 2548 {-22865, 23472}, {-22711, 23621}, 2549 {-22556, 23769}, {-22400, 23916}, 2550 {-22243, 24062}, {-22085, 24207}, 2551 {-21926, 24351}, {-21766, 24494}, 2552 {-21605, 24636}, {-21444, 24777}, 2553 {-21281, 24917}, {-21118, 25056}, 2554 {-20953, 25193}, {-20788, 25330}, 2555 {-20622, 25466}, {-20454, 25600}, 2556 {-20286, 25733}, {-20118, 25865}, 2557 {-19948, 25997}, {-19777, 26127}, 2558 {-19606, 26255}, {-19434, 26383}, 2559 {-19261, 26510}, {-19087, 26635}, 2560 {-18912, 26760}, {-18736, 26883}, 2561 {-18560, 27005}, {-18383, 27126}, 2562 {-18205, 27246}, {-18026, 27364}, 2563 {-17847, 27482}, {-17666, 27598}, 2564 {-17485, 27713}, {-17304, 27827}, 2565 {-17121, 27939}, {-16938, 28051}, 2566 {-16754, 28161}, {-16569, 28270}, 2567 {-16384, 28378}, {-16198, 28485}, 2568 {-16011, 28590}, {-15824, 28694}, 2569 {-15636, 28797}, {-15447, 28899}, 2570 {-15257, 28999}, {-15067, 29099}, 2571 {-14876, 29197}, {-14685, 29293}, 2572 {-14493, 29389}, {-14300, 29483}, 2573 {-14107, 29576}, {-13913, 29668}, 2574 {-13719, 29758}, {-13524, 29847}, 2575 {-13328, 29935}, {-13132, 30022}, 2576 {-12935, 30107}, {-12738, 30191}, 2577 {-12540, 30274}, {-12341, 30355}, 2578 {-12142, 30435}, {-11943, 30514}, 2579 {-11743, 30592}, {-11543, 30668}, 2580 {-11342, 30743}, {-11140, 30816}, 2581 {-10938, 30888}, {-10736, 30959}, 2582 {-10533, 31029}, {-10330, 31097}, 2583 {-10126, 31164}, {-9922, 31230}, 2584 {-9717, 31294}, {-9512, 31357}, 2585 {-9307, 31419}, {-9101, 31479}, 2586 {-8895, 31538}, {-8688, 31595}, 2587 {-8481, 31651}, {-8274, 31706}, 2588 {-8066, 31760}, {-7858, 31812}, 2589 {-7650, 31863}, {-7441, 31912}, 2590 {-7232, 31960}, {-7022, 32007}, 2591 {-6813, 32052}, {-6603, 32096}, 2592 {-6393, 32138}, {-6182, 32180}, 2593 {-5971, 32219}, {-5760, 32258}, 2594 {-5549, 32295}, {-5338, 32330}, 2595 {-5126, 32365}, {-4914, 32397}, 2596 {-4702, 32429}, {-4490, 32459}, 2597 {-4277, 32488}, {-4064, 32515}, 2598 {-3851, 32541}, {-3638, 32565}, 2599 {-3425, 32588}, {-3212, 32610}, 2600 {-2998, 32631}, {-2785, 32649}, 2601 {-2571, 32667}, {-2357, 32683}, 2602 {-2143, 32698}, {-1929, 32711}, 2603 {-1715, 32723}, {-1501, 32734}, 2604 {-1286, 32743}, {-1072, 32750}, 2605 {-858, 32757}, {-643, 32762}, 2606 {-429, 32765}, {-214, 32767}, 2607 {0, 32767}, {214, 32767}, 2608 {429, 32765}, {643, 32762}, 2609 {858, 32757}, {1072, 32750}, 2610 {1286, 32743}, {1501, 32734}, 2611 {1715, 32723}, {1929, 32711}, 2612 {2143, 32698}, {2357, 32683}, 2613 {2571, 32667}, {2785, 32649}, 2614 {2998, 32631}, {3212, 32610}, 2615 {3425, 32588}, {3638, 32565}, 2616 {3851, 32541}, {4064, 32515}, 2617 {4277, 32488}, {4490, 32459}, 2618 {4702, 32429}, {4914, 32397}, 2619 {5126, 32365}, {5338, 32330}, 2620 {5549, 32295}, {5760, 32258}, 2621 {5971, 32219}, {6182, 32180}, 2622 {6393, 32138}, {6603, 32096}, 2623 {6813, 32052}, {7022, 32007}, 2624 {7232, 31960}, {7441, 31912}, 2625 {7650, 31863}, {7858, 31812}, 2626 {8066, 31760}, {8274, 31706}, 2627 {8481, 31651}, {8688, 31595}, 2628 {8895, 31538}, {9101, 31479}, 2629 {9307, 31419}, {9512, 31357}, 2630 {9717, 31294}, {9922, 31230}, 2631 {10126, 31164}, {10330, 31097}, 2632 {10533, 31029}, {10736, 30959}, 2633 {10938, 30888}, {11140, 30816}, 2634 {11342, 30743}, {11543, 30668}, 2635 {11743, 30592}, {11943, 30514}, 2636 {12142, 30435}, {12341, 30355}, 2637 {12540, 30274}, {12738, 30191}, 2638 {12935, 30107}, {13132, 30022}, 2639 {13328, 29935}, {13524, 29847}, 2640 {13719, 29758}, {13913, 29668}, 2641 {14107, 29576}, {14300, 29483}, 2642 {14493, 29389}, {14685, 29293}, 2643 {14876, 29197}, {15067, 29099}, 2644 {15257, 28999}, {15447, 28899}, 2645 {15636, 28797}, {15824, 28694}, 2646 {16011, 28590}, {16198, 28485}, 2647 {16384, 28378}, {16569, 28270}, 2648 {16754, 28161}, {16938, 28051}, 2649 {17121, 27939}, {17304, 27827}, 2650 {17485, 27713}, {17666, 27598}, 2651 {17847, 27482}, {18026, 27364}, 2652 {18205, 27246}, {18383, 27126}, 2653 {18560, 27005}, {18736, 26883}, 2654 {18912, 26760}, {19087, 26635}, 2655 {19261, 26510}, {19434, 26383}, 2656 {19606, 26255}, {19777, 26127}, 2657 {19948, 25997}, {20118, 25865}, 2658 {20286, 25733}, {20454, 25600}, 2659 {20622, 25466}, {20788, 25330}, 2660 {20953, 25193}, {21118, 25056}, 2661 {21281, 24917}, {21444, 24777}, 2662 {21605, 24636}, {21766, 24494}, 2663 {21926, 24351}, {22085, 24207}, 2664 {22243, 24062}, {22400, 23916}, 2665 {22556, 23769}, {22711, 23621}, 2666 {22865, 23472}, {23018, 23322}, 2667 {23170, 23170}, {23322, 23018}, 2668 {23472, 22865}, {23621, 22711}, 2669 {23769, 22556}, {23916, 22400}, 2670 {24062, 22243}, {24207, 22085}, 2671 {24351, 21926}, {24494, 21766}, 2672 {24636, 21605}, {24777, 21444}, 2673 {24917, 21281}, {25056, 21118}, 2674 {25193, 20953}, {25330, 20788}, 2675 {25466, 20622}, {25600, 20454}, 2676 {25733, 20286}, {25865, 20118}, 2677 {25997, 19948}, {26127, 19777}, 2678 {26255, 19606}, {26383, 19434}, 2679 {26510, 19261}, {26635, 19087}, 2680 {26760, 18912}, {26883, 18736}, 2681 {27005, 18560}, {27126, 18383}, 2682 {27246, 18205}, {27364, 18026}, 2683 {27482, 17847}, {27598, 17666}, 2684 {27713, 17485}, {27827, 17304}, 2685 {27939, 17121}, {28051, 16938}, 2686 {28161, 16754}, {28270, 16569}, 2687 {28378, 16384}, {28485, 16198}, 2688 {28590, 16011}, {28694, 15824}, 2689 {28797, 15636}, {28899, 15447}, 2690 {28999, 15257}, {29099, 15067}, 2691 {29197, 14876}, {29293, 14685}, 2692 {29389, 14493}, {29483, 14300}, 2693 {29576, 14107}, {29668, 13913}, 2694 {29758, 13719}, {29847, 13524}, 2695 {29935, 13328}, {30022, 13132}, 2696 {30107, 12935}, {30191, 12738}, 2697 {30274, 12540}, {30355, 12341}, 2698 {30435, 12142}, {30514, 11943}, 2699 {30592, 11743}, {30668, 11543}, 2700 {30743, 11342}, {30816, 11140}, 2701 {30888, 10938}, {30959, 10736}, 2702 {31029, 10533}, {31097, 10330}, 2703 {31164, 10126}, {31230, 9922}, 2704 {31294, 9717}, {31357, 9512}, 2705 {31419, 9307}, {31479, 9101}, 2706 {31538, 8895}, {31595, 8688}, 2707 {31651, 8481}, {31706, 8274}, 2708 {31760, 8066}, {31812, 7858}, 2709 {31863, 7650}, {31912, 7441}, 2710 {31960, 7232}, {32007, 7022}, 2711 {32052, 6813}, {32096, 6603}, 2712 {32138, 6393}, {32180, 6182}, 2713 {32219, 5971}, {32258, 5760}, 2714 {32295, 5549}, {32330, 5338}, 2715 {32365, 5126}, {32397, 4914}, 2716 {32429, 4702}, {32459, 4490}, 2717 {32488, 4277}, {32515, 4064}, 2718 {32541, 3851}, {32565, 3638}, 2719 {32588, 3425}, {32610, 3212}, 2720 {32631, 2998}, {32649, 2785}, 2721 {32667, 2571}, {32683, 2357}, 2722 {32698, 2143}, {32711, 1929}, 2723 {32723, 1715}, {32734, 1501}, 2724 {32743, 1286}, {32750, 1072}, 2725 {32757, 858}, {32762, 643}, 2726 {32765, 429}, {32767, 214}, 2727 #endif 2728 }; 2729 #ifndef FFT_BITREV960 2730 #define FFT_BITREV960 2731 static const opus_int16 fft_bitrev960[960] = { 2732 0, 192, 384, 576, 768, 64, 256, 448, 640, 832, 128, 320, 512, 704, 896, 2733 16, 208, 400, 592, 784, 80, 272, 464, 656, 848, 144, 336, 528, 720, 912, 2734 32, 224, 416, 608, 800, 96, 288, 480, 672, 864, 160, 352, 544, 736, 928, 2735 48, 240, 432, 624, 816, 112, 304, 496, 688, 880, 176, 368, 560, 752, 944, 2736 4, 196, 388, 580, 772, 68, 260, 452, 644, 836, 132, 324, 516, 708, 900, 2737 20, 212, 404, 596, 788, 84, 276, 468, 660, 852, 148, 340, 532, 724, 916, 2738 36, 228, 420, 612, 804, 100, 292, 484, 676, 868, 164, 356, 548, 740, 932, 2739 52, 244, 436, 628, 820, 116, 308, 500, 692, 884, 180, 372, 564, 756, 948, 2740 8, 200, 392, 584, 776, 72, 264, 456, 648, 840, 136, 328, 520, 712, 904, 2741 24, 216, 408, 600, 792, 88, 280, 472, 664, 856, 152, 344, 536, 728, 920, 2742 40, 232, 424, 616, 808, 104, 296, 488, 680, 872, 168, 360, 552, 744, 936, 2743 56, 248, 440, 632, 824, 120, 312, 504, 696, 888, 184, 376, 568, 760, 952, 2744 12, 204, 396, 588, 780, 76, 268, 460, 652, 844, 140, 332, 524, 716, 908, 2745 28, 220, 412, 604, 796, 92, 284, 476, 668, 860, 156, 348, 540, 732, 924, 2746 44, 236, 428, 620, 812, 108, 300, 492, 684, 876, 172, 364, 556, 748, 940, 2747 60, 252, 444, 636, 828, 124, 316, 508, 700, 892, 188, 380, 572, 764, 956, 2748 1, 193, 385, 577, 769, 65, 257, 449, 641, 833, 129, 321, 513, 705, 897, 2749 17, 209, 401, 593, 785, 81, 273, 465, 657, 849, 145, 337, 529, 721, 913, 2750 33, 225, 417, 609, 801, 97, 289, 481, 673, 865, 161, 353, 545, 737, 929, 2751 49, 241, 433, 625, 817, 113, 305, 497, 689, 881, 177, 369, 561, 753, 945, 2752 5, 197, 389, 581, 773, 69, 261, 453, 645, 837, 133, 325, 517, 709, 901, 2753 21, 213, 405, 597, 789, 85, 277, 469, 661, 853, 149, 341, 533, 725, 917, 2754 37, 229, 421, 613, 805, 101, 293, 485, 677, 869, 165, 357, 549, 741, 933, 2755 53, 245, 437, 629, 821, 117, 309, 501, 693, 885, 181, 373, 565, 757, 949, 2756 9, 201, 393, 585, 777, 73, 265, 457, 649, 841, 137, 329, 521, 713, 905, 2757 25, 217, 409, 601, 793, 89, 281, 473, 665, 857, 153, 345, 537, 729, 921, 2758 41, 233, 425, 617, 809, 105, 297, 489, 681, 873, 169, 361, 553, 745, 937, 2759 57, 249, 441, 633, 825, 121, 313, 505, 697, 889, 185, 377, 569, 761, 953, 2760 13, 205, 397, 589, 781, 77, 269, 461, 653, 845, 141, 333, 525, 717, 909, 2761 29, 221, 413, 605, 797, 93, 285, 477, 669, 861, 157, 349, 541, 733, 925, 2762 45, 237, 429, 621, 813, 109, 301, 493, 685, 877, 173, 365, 557, 749, 941, 2763 61, 253, 445, 637, 829, 125, 317, 509, 701, 893, 189, 381, 573, 765, 957, 2764 2, 194, 386, 578, 770, 66, 258, 450, 642, 834, 130, 322, 514, 706, 898, 2765 18, 210, 402, 594, 786, 82, 274, 466, 658, 850, 146, 338, 530, 722, 914, 2766 34, 226, 418, 610, 802, 98, 290, 482, 674, 866, 162, 354, 546, 738, 930, 2767 50, 242, 434, 626, 818, 114, 306, 498, 690, 882, 178, 370, 562, 754, 946, 2768 6, 198, 390, 582, 774, 70, 262, 454, 646, 838, 134, 326, 518, 710, 902, 2769 22, 214, 406, 598, 790, 86, 278, 470, 662, 854, 150, 342, 534, 726, 918, 2770 38, 230, 422, 614, 806, 102, 294, 486, 678, 870, 166, 358, 550, 742, 934, 2771 54, 246, 438, 630, 822, 118, 310, 502, 694, 886, 182, 374, 566, 758, 950, 2772 10, 202, 394, 586, 778, 74, 266, 458, 650, 842, 138, 330, 522, 714, 906, 2773 26, 218, 410, 602, 794, 90, 282, 474, 666, 858, 154, 346, 538, 730, 922, 2774 42, 234, 426, 618, 810, 106, 298, 490, 682, 874, 170, 362, 554, 746, 938, 2775 58, 250, 442, 634, 826, 122, 314, 506, 698, 890, 186, 378, 570, 762, 954, 2776 14, 206, 398, 590, 782, 78, 270, 462, 654, 846, 142, 334, 526, 718, 910, 2777 30, 222, 414, 606, 798, 94, 286, 478, 670, 862, 158, 350, 542, 734, 926, 2778 46, 238, 430, 622, 814, 110, 302, 494, 686, 878, 174, 366, 558, 750, 942, 2779 62, 254, 446, 638, 830, 126, 318, 510, 702, 894, 190, 382, 574, 766, 958, 2780 3, 195, 387, 579, 771, 67, 259, 451, 643, 835, 131, 323, 515, 707, 899, 2781 19, 211, 403, 595, 787, 83, 275, 467, 659, 851, 147, 339, 531, 723, 915, 2782 35, 227, 419, 611, 803, 99, 291, 483, 675, 867, 163, 355, 547, 739, 931, 2783 51, 243, 435, 627, 819, 115, 307, 499, 691, 883, 179, 371, 563, 755, 947, 2784 7, 199, 391, 583, 775, 71, 263, 455, 647, 839, 135, 327, 519, 711, 903, 2785 23, 215, 407, 599, 791, 87, 279, 471, 663, 855, 151, 343, 535, 727, 919, 2786 39, 231, 423, 615, 807, 103, 295, 487, 679, 871, 167, 359, 551, 743, 935, 2787 55, 247, 439, 631, 823, 119, 311, 503, 695, 887, 183, 375, 567, 759, 951, 2788 11, 203, 395, 587, 779, 75, 267, 459, 651, 843, 139, 331, 523, 715, 907, 2789 27, 219, 411, 603, 795, 91, 283, 475, 667, 859, 155, 347, 539, 731, 923, 2790 43, 235, 427, 619, 811, 107, 299, 491, 683, 875, 171, 363, 555, 747, 939, 2791 59, 251, 443, 635, 827, 123, 315, 507, 699, 891, 187, 379, 571, 763, 955, 2792 15, 207, 399, 591, 783, 79, 271, 463, 655, 847, 143, 335, 527, 719, 911, 2793 31, 223, 415, 607, 799, 95, 287, 479, 671, 863, 159, 351, 543, 735, 927, 2794 47, 239, 431, 623, 815, 111, 303, 495, 687, 879, 175, 367, 559, 751, 943, 2795 63, 255, 447, 639, 831, 127, 319, 511, 703, 895, 191, 383, 575, 767, 959, 2796 }; 2797 #endif 2798 2799 #ifndef FFT_BITREV480 2800 #define FFT_BITREV480 2801 static const opus_int16 fft_bitrev480[480] = { 2802 0, 96, 192, 288, 384, 32, 128, 224, 320, 416, 64, 160, 256, 352, 448, 2803 8, 104, 200, 296, 392, 40, 136, 232, 328, 424, 72, 168, 264, 360, 456, 2804 16, 112, 208, 304, 400, 48, 144, 240, 336, 432, 80, 176, 272, 368, 464, 2805 24, 120, 216, 312, 408, 56, 152, 248, 344, 440, 88, 184, 280, 376, 472, 2806 4, 100, 196, 292, 388, 36, 132, 228, 324, 420, 68, 164, 260, 356, 452, 2807 12, 108, 204, 300, 396, 44, 140, 236, 332, 428, 76, 172, 268, 364, 460, 2808 20, 116, 212, 308, 404, 52, 148, 244, 340, 436, 84, 180, 276, 372, 468, 2809 28, 124, 220, 316, 412, 60, 156, 252, 348, 444, 92, 188, 284, 380, 476, 2810 1, 97, 193, 289, 385, 33, 129, 225, 321, 417, 65, 161, 257, 353, 449, 2811 9, 105, 201, 297, 393, 41, 137, 233, 329, 425, 73, 169, 265, 361, 457, 2812 17, 113, 209, 305, 401, 49, 145, 241, 337, 433, 81, 177, 273, 369, 465, 2813 25, 121, 217, 313, 409, 57, 153, 249, 345, 441, 89, 185, 281, 377, 473, 2814 5, 101, 197, 293, 389, 37, 133, 229, 325, 421, 69, 165, 261, 357, 453, 2815 13, 109, 205, 301, 397, 45, 141, 237, 333, 429, 77, 173, 269, 365, 461, 2816 21, 117, 213, 309, 405, 53, 149, 245, 341, 437, 85, 181, 277, 373, 469, 2817 29, 125, 221, 317, 413, 61, 157, 253, 349, 445, 93, 189, 285, 381, 477, 2818 2, 98, 194, 290, 386, 34, 130, 226, 322, 418, 66, 162, 258, 354, 450, 2819 10, 106, 202, 298, 394, 42, 138, 234, 330, 426, 74, 170, 266, 362, 458, 2820 18, 114, 210, 306, 402, 50, 146, 242, 338, 434, 82, 178, 274, 370, 466, 2821 26, 122, 218, 314, 410, 58, 154, 250, 346, 442, 90, 186, 282, 378, 474, 2822 6, 102, 198, 294, 390, 38, 134, 230, 326, 422, 70, 166, 262, 358, 454, 2823 14, 110, 206, 302, 398, 46, 142, 238, 334, 430, 78, 174, 270, 366, 462, 2824 22, 118, 214, 310, 406, 54, 150, 246, 342, 438, 86, 182, 278, 374, 470, 2825 30, 126, 222, 318, 414, 62, 158, 254, 350, 446, 94, 190, 286, 382, 478, 2826 3, 99, 195, 291, 387, 35, 131, 227, 323, 419, 67, 163, 259, 355, 451, 2827 11, 107, 203, 299, 395, 43, 139, 235, 331, 427, 75, 171, 267, 363, 459, 2828 19, 115, 211, 307, 403, 51, 147, 243, 339, 435, 83, 179, 275, 371, 467, 2829 27, 123, 219, 315, 411, 59, 155, 251, 347, 443, 91, 187, 283, 379, 475, 2830 7, 103, 199, 295, 391, 39, 135, 231, 327, 423, 71, 167, 263, 359, 455, 2831 15, 111, 207, 303, 399, 47, 143, 239, 335, 431, 79, 175, 271, 367, 463, 2832 23, 119, 215, 311, 407, 55, 151, 247, 343, 439, 87, 183, 279, 375, 471, 2833 31, 127, 223, 319, 415, 63, 159, 255, 351, 447, 95, 191, 287, 383, 479, 2834 }; 2835 #endif 2836 2837 #ifndef FFT_BITREV240 2838 #define FFT_BITREV240 2839 static const opus_int16 fft_bitrev240[240] = { 2840 0, 48, 96, 144, 192, 16, 64, 112, 160, 208, 32, 80, 128, 176, 224, 2841 4, 52, 100, 148, 196, 20, 68, 116, 164, 212, 36, 84, 132, 180, 228, 2842 8, 56, 104, 152, 200, 24, 72, 120, 168, 216, 40, 88, 136, 184, 232, 2843 12, 60, 108, 156, 204, 28, 76, 124, 172, 220, 44, 92, 140, 188, 236, 2844 1, 49, 97, 145, 193, 17, 65, 113, 161, 209, 33, 81, 129, 177, 225, 2845 5, 53, 101, 149, 197, 21, 69, 117, 165, 213, 37, 85, 133, 181, 229, 2846 9, 57, 105, 153, 201, 25, 73, 121, 169, 217, 41, 89, 137, 185, 233, 2847 13, 61, 109, 157, 205, 29, 77, 125, 173, 221, 45, 93, 141, 189, 237, 2848 2, 50, 98, 146, 194, 18, 66, 114, 162, 210, 34, 82, 130, 178, 226, 2849 6, 54, 102, 150, 198, 22, 70, 118, 166, 214, 38, 86, 134, 182, 230, 2850 10, 58, 106, 154, 202, 26, 74, 122, 170, 218, 42, 90, 138, 186, 234, 2851 14, 62, 110, 158, 206, 30, 78, 126, 174, 222, 46, 94, 142, 190, 238, 2852 3, 51, 99, 147, 195, 19, 67, 115, 163, 211, 35, 83, 131, 179, 227, 2853 7, 55, 103, 151, 199, 23, 71, 119, 167, 215, 39, 87, 135, 183, 231, 2854 11, 59, 107, 155, 203, 27, 75, 123, 171, 219, 43, 91, 139, 187, 235, 2855 15, 63, 111, 159, 207, 31, 79, 127, 175, 223, 47, 95, 143, 191, 239, 2856 }; 2857 #endif 2858 2859 #ifndef FFT_BITREV120 2860 #define FFT_BITREV120 2861 static const opus_int16 fft_bitrev120[120] = { 2862 0, 24, 48, 72, 96, 8, 32, 56, 80, 104, 16, 40, 64, 88, 112, 2863 4, 28, 52, 76, 100, 12, 36, 60, 84, 108, 20, 44, 68, 92, 116, 2864 1, 25, 49, 73, 97, 9, 33, 57, 81, 105, 17, 41, 65, 89, 113, 2865 5, 29, 53, 77, 101, 13, 37, 61, 85, 109, 21, 45, 69, 93, 117, 2866 2, 26, 50, 74, 98, 10, 34, 58, 82, 106, 18, 42, 66, 90, 114, 2867 6, 30, 54, 78, 102, 14, 38, 62, 86, 110, 22, 46, 70, 94, 118, 2868 3, 27, 51, 75, 99, 11, 35, 59, 83, 107, 19, 43, 67, 91, 115, 2869 7, 31, 55, 79, 103, 15, 39, 63, 87, 111, 23, 47, 71, 95, 119, 2870 }; 2871 #endif 2872 2873 #ifndef FFT_STATE96000_1920_0 2874 #define FFT_STATE96000_1920_0 2875 static const kiss_fft_state fft_state96000_1920_0 = { 2876 960, /* nfft */ 2877 #ifdef ENABLE_QEXT 2878 572662306, /* scale */ 2879 #else 2880 17476, /* scale */ 2881 #endif 2882 9, /* scale_shift */ 2883 -1, /* shift */ 2884 {5, 192, 3, 64, 4, 16, 4, 4, 4, 1, 0, 0, 0, 0, 0, 0, }, /* factors */ 2885 fft_bitrev960, /* bitrev */ 2886 fft_twiddles96000_1920, /* bitrev */ 2887 #ifdef OVERRIDE_FFT 2888 (arch_fft_state *)&cfg_arch_960, 2889 #else 2890 NULL, 2891 #endif 2892 }; 2893 #endif 2894 2895 #ifndef FFT_STATE96000_1920_1 2896 #define FFT_STATE96000_1920_1 2897 static const kiss_fft_state fft_state96000_1920_1 = { 2898 480, /* nfft */ 2899 #ifdef ENABLE_QEXT 2900 572662306, /* scale */ 2901 #else 2902 17476, /* scale */ 2903 #endif 2904 8, /* scale_shift */ 2905 1, /* shift */ 2906 {5, 96, 3, 32, 4, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, }, /* factors */ 2907 fft_bitrev480, /* bitrev */ 2908 fft_twiddles96000_1920, /* bitrev */ 2909 #ifdef OVERRIDE_FFT 2910 (arch_fft_state *)&cfg_arch_480, 2911 #else 2912 NULL, 2913 #endif 2914 }; 2915 #endif 2916 2917 #ifndef FFT_STATE96000_1920_2 2918 #define FFT_STATE96000_1920_2 2919 static const kiss_fft_state fft_state96000_1920_2 = { 2920 240, /* nfft */ 2921 #ifdef ENABLE_QEXT 2922 572662306, /* scale */ 2923 #else 2924 17476, /* scale */ 2925 #endif 2926 7, /* scale_shift */ 2927 2, /* shift */ 2928 {5, 48, 3, 16, 4, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ 2929 fft_bitrev240, /* bitrev */ 2930 fft_twiddles96000_1920, /* bitrev */ 2931 #ifdef OVERRIDE_FFT 2932 (arch_fft_state *)&cfg_arch_240, 2933 #else 2934 NULL, 2935 #endif 2936 }; 2937 #endif 2938 2939 #ifndef FFT_STATE96000_1920_3 2940 #define FFT_STATE96000_1920_3 2941 static const kiss_fft_state fft_state96000_1920_3 = { 2942 120, /* nfft */ 2943 #ifdef ENABLE_QEXT 2944 572662306, /* scale */ 2945 #else 2946 17476, /* scale */ 2947 #endif 2948 6, /* scale_shift */ 2949 3, /* shift */ 2950 {5, 24, 3, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */ 2951 fft_bitrev120, /* bitrev */ 2952 fft_twiddles96000_1920, /* bitrev */ 2953 #ifdef OVERRIDE_FFT 2954 (arch_fft_state *)&cfg_arch_120, 2955 #else 2956 NULL, 2957 #endif 2958 }; 2959 #endif 2960 2961 #endif 2962 2963 #ifndef MDCT_TWIDDLES1920 2964 #define MDCT_TWIDDLES1920 2965 static const celt_coef mdct_twiddles1920[3600] = { 2966 #ifdef ENABLE_QEXT 2967 2147483603, 2147480010, 2147470667, 2147455575, 2147434733, 2968 2147408142, 2147375802, 2147337712, 2147293874, 2147244286, 2969 2147188950, 2147127865, 2147061032, 2146988450, 2146910120, 2970 2146826042, 2146736216, 2146640643, 2146539323, 2146432256, 2971 2146319442, 2146200882, 2146076576, 2145946524, 2145810727, 2972 2145669185, 2145521898, 2145368867, 2145210092, 2145045574, 2973 2144875313, 2144699310, 2144517564, 2144330077, 2144136849, 2974 2143937880, 2143733172, 2143522724, 2143306537, 2143084612, 2975 2142856949, 2142623549, 2142384413, 2142139541, 2141888933, 2976 2141632592, 2141370516, 2141102708, 2140829167, 2140549894, 2977 2140264890, 2139974157, 2139677694, 2139375502, 2139067583, 2978 2138753936, 2138434564, 2138109466, 2137778644, 2137442099, 2979 2137099831, 2136751841, 2136398131, 2136038701, 2135673552, 2980 2135302685, 2134926101, 2134543801, 2134155787, 2133762059, 2981 2133362618, 2132957466, 2132546603, 2132130030, 2131707749, 2982 2131279761, 2130846067, 2130406668, 2129961565, 2129510759, 2983 2129054253, 2128592046, 2128124140, 2127650537, 2127171237, 2984 2126686242, 2126195553, 2125699172, 2125197100, 2124689338, 2985 2124175888, 2123656750, 2123131927, 2122601420, 2122065230, 2986 2121523358, 2120975806, 2120422576, 2119863669, 2119299086, 2987 2118728830, 2118152901, 2117571301, 2116984031, 2116391094, 2988 2115792491, 2115188222, 2114578291, 2113962699, 2113341447, 2989 2112714537, 2112081970, 2111443749, 2110799875, 2110150349, 2990 2109495174, 2108834352, 2108167883, 2107495770, 2106818015, 2991 2106134619, 2105445584, 2104750913, 2104050606, 2103344666, 2992 2102633095, 2101915895, 2101193067, 2100464614, 2099730537, 2993 2098990838, 2098245520, 2097494584, 2096738032, 2095975867, 2994 2095208091, 2094434705, 2093655711, 2092871112, 2092080910, 2995 2091285107, 2090483704, 2089676705, 2088864111, 2088045925, 2996 2087222148, 2086392783, 2085557833, 2084717298, 2083871182, 2997 2083019487, 2082162216, 2081299369, 2080430950, 2079556962, 2998 2078677406, 2077792284, 2076901600, 2076005355, 2075103552, 2999 2074196194, 2073283282, 2072364819, 2071440808, 2070511251, 3000 2069576151, 2068635510, 2067689330, 2066737615, 2065780367, 3001 2064817587, 2063849280, 2062875447, 2061896091, 2060911215, 3002 2059920821, 2058924912, 2057923491, 2056916560, 2055904122, 3003 2054886179, 2053862736, 2052833793, 2051799354, 2050759422, 3004 2049714000, 2048663090, 2047606695, 2046544818, 2045477461, 3005 2044404629, 2043326323, 2042242546, 2041153301, 2040058592, 3006 2038958421, 2037852791, 2036741705, 2035625166, 2034503177, 3007 2033375742, 2032242862, 2031104541, 2029960782, 2028811589, 3008 2027656964, 2026496910, 2025331431, 2024160529, 2022984208, 3009 2021802471, 2020615320, 2019422760, 2018224794, 2017021424, 3010 2015812654, 2014598487, 2013378926, 2012153975, 2010923636, 3011 2009687914, 2008446811, 2007200332, 2005948478, 2004691253, 3012 2003428662, 2002160707, 2000887391, 1999608718, 1998324692, 3013 1997035316, 1995740593, 1994440527, 1993135121, 1991824379, 3014 1990508304, 1989186900, 1987860170, 1986528118, 1985190748, 3015 1983848063, 1982500066, 1981146762, 1979788153, 1978424244, 3016 1977055038, 1975680539, 1974300751, 1972915676, 1971525320, 3017 1970129685, 1968728776, 1967322596, 1965911148, 1964494438, 3018 1963072467, 1961645241, 1960212764, 1958775038, 1957332067, 3019 1955883857, 1954430410, 1952971730, 1951507822, 1950038689, 3020 1948564335, 1947084764, 1945599980, 1944109987, 1942614790, 3021 1941114391, 1939608795, 1938098007, 1936582029, 1935060867, 3022 1933534524, 1932003004, 1930466312, 1928924452, 1927377427, 3023 1925825242, 1924267900, 1922705408, 1921137767, 1919564983, 3024 1917987059, 1916404001, 1914815812, 1913222496, 1911624058, 3025 1910020502, 1908411833, 1906798054, 1905179170, 1903555185, 3026 1901926103, 1900291930, 1898652669, 1897008325, 1895358902, 3027 1893704404, 1892044837, 1890380204, 1888710510, 1887035759, 3028 1885355956, 1883671105, 1881981211, 1880286279, 1878586312, 3029 1876881316, 1875171295, 1873456254, 1871736196, 1870011128, 3030 1868281053, 1866545976, 1864805901, 1863060834, 1861310779, 3031 1859555741, 1857795724, 1856030734, 1854260774, 1852485850, 3032 1850705966, 1848921127, 1847131338, 1845336604, 1843536929, 3033 1841732318, 1839922777, 1838108310, 1836288921, 1834464616, 3034 1832635400, 1830801277, 1828962253, 1827118332, 1825269519, 3035 1823415819, 1821557238, 1819693779, 1817825449, 1815952252, 3036 1814074193, 1812191278, 1810303510, 1808410896, 1806513440, 3037 1804611147, 1802704023, 1800792073, 1798875302, 1796953714, 3038 1795027315, 1793096111, 1791160105, 1789219305, 1787273714, 3039 1785323338, 1783368182, 1781408251, 1779443552, 1777474088, 3040 1775499865, 1773520888, 1771537164, 1769548696, 1767555491, 3041 1765557554, 1763554889, 1761547504, 1759535401, 1757518588, 3042 1755497070, 1753470852, 1751439939, 1749404337, 1747364051, 3043 1745319087, 1743269451, 1741215147, 1739156181, 1737092559, 3044 1735024287, 1732951369, 1730873811, 1728791620, 1726704800, 3045 1724613357, 1722517297, 1720416625, 1718311347, 1716201468, 3046 1714086995, 1711967933, 1709844287, 1707716063, 1705583268, 3047 1703445906, 1701303983, 1699157505, 1697006479, 1694850909, 3048 1692690801, 1690526161, 1688356996, 1686183310, 1684005110, 3049 1681822401, 1679635189, 1677443481, 1675247281, 1673046596, 3050 1670841433, 1668631795, 1666417691, 1664199124, 1661976103, 3051 1659748631, 1657516716, 1655280364, 1653039579, 1650794369, 3052 1648544739, 1646290696, 1644032245, 1641769393, 1639502145, 3053 1637230507, 1634954486, 1632674088, 1630389319, 1628100184, 3054 1625806691, 1623508845, 1621206653, 1618900119, 1616589252, 3055 1614274057, 1611954539, 1609630706, 1607302564, 1604970118, 3056 1602633375, 1600292342, 1597947024, 1595597428, 1593243560, 3057 1590885426, 1588523033, 1586156387, 1583785495, 1581410362, 3058 1579030995, 1576647401, 1574259586, 1571867556, 1569471317, 3059 1567070877, 1564666241, 1562257416, 1559844408, 1557427224, 3060 1555005871, 1552580354, 1550150681, 1547716857, 1545278889, 3061 1542836785, 1540390550, 1537940190, 1535485713, 1533027126, 3062 1530564434, 1528097644, 1525626762, 1523151797, 1520672753, 3063 1518189638, 1515702459, 1513211221, 1510715932, 1508216599, 3064 1505713227, 1503205824, 1500694397, 1498178952, 1495659496, 3065 1493136035, 1490608577, 1488077129, 1485541696, 1483002286, 3066 1480458905, 1477911561, 1475360260, 1472805009, 1470245815, 3067 1467682684, 1465115624, 1462544642, 1459969744, 1457390937, 3068 1454808228, 1452221624, 1449631133, 1447036760, 1444438513, 3069 1441836399, 1439230424, 1436620597, 1434006923, 1431389409, 3070 1428768064, 1426142893, 1423513904, 1420881104, 1418244500, 3071 1415604099, 1412959907, 1410311933, 1407660183, 1405004664, 3072 1402345384, 1399682349, 1397015567, 1394345044, 1391670789, 3073 1388992807, 1386311107, 1383625695, 1380936579, 1378243766, 3074 1375547262, 1372847076, 1370143215, 1367435685, 1364724494, 3075 1362009649, 1359291158, 1356569027, 1353843265, 1351113878, 3076 1348380873, 1345644259, 1342904042, 1340160229, 1337412829, 3077 1334661848, 1331907293, 1329149173, 1326387494, 1323622264, 3078 1320853490, 1318081180, 1315305341, 1312525981, 1309743106, 3079 1306956725, 1304166845, 1301373473, 1298576617, 1295776285, 3080 1292972483, 1290165219, 1287354501, 1284540337, 1281722734, 3081 1278901699, 1276077240, 1273249364, 1270418080, 1267583394, 3082 1264745315, 1261903850, 1259059006, 1256210791, 1253359213, 3083 1250504279, 1247645998, 1244784376, 1241919421, 1239051142, 3084 1236179545, 1233304638, 1230426430, 1227544927, 1224660138, 3085 1221772070, 1218880731, 1215986128, 1213088271, 1210187165, 3086 1207282819, 1204375241, 1201464439, 1198550419, 1195633191, 3087 1192712762, 1189789140, 1186862332, 1183932347, 1180999192, 3088 1178062875, 1175123404, 1172180786, 1169235031, 1166286145, 3089 1163334137, 1160379014, 1157420784, 1154459456, 1151495036, 3090 1148527534, 1145556957, 1142583313, 1139606610, 1136626856, 3091 1133644058, 1130658226, 1127669367, 1124677488, 1121682598, 3092 1118684705, 1115683818, 1112679943, 1109673089, 1106663264, 3093 1103650476, 1100634734, 1097616045, 1094594417, 1091569858, 3094 1088542378, 1085511982, 1082478681, 1079442481, 1076403392, 3095 1073361420, 1070316575, 1067268864, 1064218296, 1061164879, 3096 1058108621, 1055049529, 1051987613, 1048922881, 1045855340, 3097 1042784999, 1039711867, 1036635950, 1033557259, 1030475800, 3098 1027391582, 1024304614, 1021214903, 1018122458, 1015027288, 3099 1011929400, 1008828802, 1005725504, 1002619513, 999510838, 3100 996399486, 993285468, 990168789, 987049460, 983927488, 3101 980802882, 977675650, 974545800, 971413342, 968278282, 3102 965140630, 962000395, 958857583, 955712205, 952564267, 3103 949413780, 946260750, 943105188, 939947100, 936786495, 3104 933623383, 930457771, 927289668, 924119082, 920946022, 3105 917770497, 914592514, 911412082, 908229211, 905043908, 3106 901856182, 898666041, 895473494, 892278550, 889081217, 3107 885881504, 882679419, 879474970, 876268167, 873059018, 3108 869847532, 866633717, 863417581, 860199134, 856978384, 3109 853755339, 850530009, 847302402, 844072526, 840840390, 3110 837606003, 834369373, 831130510, 827889422, 824646117, 3111 821400604, 818152892, 814902989, 811650905, 808396648, 3112 805140227, 801881649, 798620925, 795358063, 792093072, 3113 788825960, 785556735, 782285408, 779011986, 775736479, 3114 772458895, 769179242, 765897531, 762613768, 759327964, 3115 756040127, 752750266, 749458390, 746164507, 742868626, 3116 739570757, 736270907, 732969086, 729665303, 726359567, 3117 723051885, 719742268, 716430724, 713117261, 709801890, 3118 706484618, 703165455, 699844409, 696521489, 693196705, 3119 689870064, 686541577, 683211252, 679879097, 676545122, 3120 673209336, 669871748, 666532366, 663191199, 659848257, 3121 656503549, 653157082, 649808867, 646458913, 643107227, 3122 639753820, 636398700, 633041876, 629683357, 626323153, 3123 622961271, 619597722, 616232514, 612865656, 609497157, 3124 606127026, 602755273, 599381905, 596006934, 592630366, 3125 589252212, 585872480, 582491179, 579108320, 575723909, 3126 572337957, 568950473, 565561466, 562170945, 558778918, 3127 555385395, 551990386, 548593898, 545195942, 541796526, 3128 538395660, 534993352, 531589612, 528184449, 524777871, 3129 521369889, 517960510, 514549745, 511137603, 507724092, 3130 504309221, 500893000, 497475439, 494056545, 490636329, 3131 487214799, 483791965, 480367835, 476942419, 473515727, 3132 470087766, 466658548, 463228079, 459796371, 456363431, 3133 452929270, 449493896, 446057319, 442619547, 439180590, 3134 435740458, 432299159, 428856702, 425413098, 421968354, 3135 418522481, 415075487, 411627382, 408178175, 404727875, 3136 401276491, 397824033, 394370510, 390915931, 387460306, 3137 384003643, 380545952, 377087242, 373627523, 370166803, 3138 366705093, 363242400, 359778735, 356314107, 352848525, 3139 349381998, 345914536, 342446148, 338976842, 335506630, 3140 332035519, 328563519, 325090639, 321616889, 318142278, 3141 314666815, 311190510, 307713372, 304235410, 300756633, 3142 297277051, 293796673, 290315508, 286833567, 283350857, 3143 279867389, 276383171, 272898214, 269412525, 265926116, 3144 262438995, 258951170, 255462653, 251973452, 248483576, 3145 244993035, 241501838, 238009994, 234517513, 231024404, 3146 227530677, 224036341, 220541404, 217045878, 213549770, 3147 210053090, 206555848, 203058053, 199559715, 196060842, 3148 192561444, 189061531, 185561111, 182060195, 178558791, 3149 175056909, 171554559, 168051749, 164548489, 161044789, 3150 157540658, 154036105, 150531139, 147025770, 143520008, 3151 140013862, 136507340, 133000453, 129493210, 125985621, 3152 122477694, 118969439, 115460866, 111951983, 108442801, 3153 104933329, 101423575, 97913550, 94403263, 90892723, 3154 87381940, 83870923, 80359681, 76848224, 73336562, 3155 69824703, 66312657, 62800433, 59288042, 55775491, 3156 52262792, 48749952, 45236982, 41723891, 38210688, 3157 34697383, 31183985, 27670503, 24156947, 20643327, 3158 17129651, 13615930, 10102172, 6588387, 3074584, 3159 -439226, -3953036, -7466835, -10980614, -14494364, 3160 -18008075, -21521738, -25035343, -28548881, -32062342, 3161 -35575718, -39088999, -42602174, -46115236, -49628175, 3162 -53140980, -56653643, -60166155, -63678505, -67190685, 3163 -70702685, -74214496, -77726108, -81237512, -84748698, 3164 -88259658, -91770381, -95280859, -98791081, -102301039, 3165 -105810723, -109320124, -112829232, -116338038, -119846533, 3166 -123354707, -126862550, -130370054, -133877209, -137384005, 3167 -140890434, -144396485, -147902150, -151407418, -154912282, 3168 -158416730, -161920755, -165424346, -168927494, -172430190, 3169 -175932424, -179434187, -182935470, -186436263, -189936557, 3170 -193436342, -196935610, -200434350, -203932553, -207430211, 3171 -210927313, -214423851, -217919814, -221415194, -224909981, 3172 -228404166, -231897740, -235390693, -238883015, -242374698, 3173 -245865732, -249356108, -252845816, -256334847, -259823192, 3174 -263310841, -266797785, -270284015, -273769522, -277254295, 3175 -280738326, -284221606, -287704124, -291185873, -294666841, 3176 -298147021, -301626403, -305104977, -308582734, -312059665, 3177 -315535760, -319011011, -322485408, -325958941, -329431602, 3178 -332903380, -336374268, -339844254, -343313331, -346781489, 3179 -350248718, -353715010, -357180354, -360644742, -364108165, 3180 -367570613, -371032077, -374492547, -377952015, -381410471, 3181 -384867905, -388324310, -391779674, -395233990, -398687248, 3182 -402139438, -405590552, -409040579, -412489512, -415937340, 3183 -419384055, -422829646, -426274106, -429717424, -433159592, 3184 -436600601, -440040440, -443479101, -446916575, -450352853, 3185 -453787924, -457221781, -460654414, -464085813, -467515970, 3186 -470944875, -474372519, -477798893, -481223988, -484647795, 3187 -488070304, -491491506, -494911393, -498329954, -501747182, 3188 -505163066, -508577597, -511990767, -515402566, -518812985, 3189 -522222016, -525629648, -529035873, -532440681, -535844064, 3190 -539246012, -542646517, -546045568, -549443158, -552839277, 3191 -556233916, -559627065, -563018716, -566408860, -569797488, 3192 -573184589, -576570157, -579954180, -583336651, -586717560, 3193 -590096899, -593474657, -596850827, -600225398, -603598363, 3194 -606969711, -610339435, -613707524, -617073971, -620438765, 3195 -623801898, -627163361, -630523145, -633881241, -637237640, 3196 -640592333, -643945310, -647296564, -650646085, -653993863, 3197 -657339891, -660684159, -664026658, -667367379, -670706313, 3198 -674043452, -677378786, -680712307, -684044005, -687373872, 3199 -690701898, -694028075, -697352394, -700674846, -703995422, 3200 -707314114, -710630911, -713945806, -717258790, -720569853, 3201 -723878987, -727186183, -730491433, -733794726, -737096055, 3202 -740395410, -743692783, -746988165, -750281547, -753572921, 3203 -756862277, -760149606, -763434901, -766718151, -769999349, 3204 -773278485, -776555551, -779830538, -783103437, -786374239, 3205 -789642936, -792909519, -796173979, -799436307, -802696495, 3206 -805954534, -809210416, -812464130, -815715670, -818965026, 3207 -822212189, -825457150, -828699902, -831940435, -835178741, 3208 -838414810, -841648635, -844880207, -848109516, -851336555, 3209 -854561315, -857783787, -861003962, -864221832, -867437388, 3210 -870650622, -873861525, -877070088, -880276304, -883480162, 3211 -886681655, -889880774, -893077511, -896271856, -899463802, 3212 -902653340, -905840461, -909025157, -912207419, -915387239, 3213 -918564609, -921739519, -924911961, -928081927, -931249408, 3214 -934414396, -937576882, -940736858, -943894315, -947049246, 3215 -950201640, -953351491, -956498790, -959643527, -962785695, 3216 -965925286, -969062291, -972196701, -975328508, -978457704, 3217 -981584280, -984708228, -987829540, -990948208, -994064222, 3218 -997177575, -1000288258, -1003396263, -1006501581, -1009604205, 3219 -1012704126, -1015801336, -1018895826, -1021987588, -1025076613, 3220 -1028162895, -1031246424, -1034327191, -1037405190, -1040480411, 3221 -1043552847, -1046622488, -1049689328, -1052753357, -1055814567, 3222 -1058872951, -1061928500, -1064981206, -1068031060, -1071078055, 3223 -1074122183, -1077163435, -1080201802, -1083237278, -1086269854, 3224 -1089299521, -1092326272, -1095350099, -1098370993, -1101388946, 3225 -1104403951, -1107415998, -1110425081, -1113431191, -1116434320, 3226 -1119434460, -1122431603, -1125425740, -1128416865, -1131404968, 3227 -1134390043, -1137372080, -1140351072, -1143327011, -1146299889, 3228 -1149269698, -1152236431, -1155200078, -1158160632, -1161118086, 3229 -1164072431, -1167023660, -1169971764, -1172916735, -1175858567, 3230 -1178797250, -1181732777, -1184665141, -1187594332, -1190520344, 3231 -1193443169, -1196362799, -1199279225, -1202192441, -1205102438, 3232 -1208009209, -1210912745, -1213813040, -1216710085, -1219603872, 3233 -1222494394, -1225381643, -1228265611, -1231146291, -1234023675, 3234 -1236897754, -1239768523, -1242635972, -1245500094, -1248360882, 3235 -1251218327, -1254072422, -1256923160, -1259770533, -1262614533, 3236 -1265455153, -1268292384, -1271126220, -1273956653, -1276783675, 3237 -1279607279, -1282427457, -1285244201, -1288057504, -1290867359, 3238 -1293673758, -1296476693, -1299276157, -1302072143, -1304864643, 3239 -1307653649, -1310439154, -1313221151, -1315999631, -1318774589, 3240 -1321546016, -1324313904, -1327078247, -1329839037, -1332596266, 3241 -1335349928, -1338100015, -1340846519, -1343589433, -1346328751, 3242 -1349064463, -1351796564, -1354525046, -1357249901, -1359971122, 3243 -1362688702, -1365402634, -1368112911, -1370819524, -1373522468, 3244 -1376221734, -1378917315, -1381609205, -1384297396, -1386981880, 3245 -1389662652, -1392339702, -1395013025, -1397682613, -1400348459, 3246 -1403010556, -1405668897, -1408323474, -1410974281, -1413621310, 3247 -1416264555, -1418904007, -1421539661, -1424171509, -1426799544, 3248 -1429423759, -1432044147, -1434660701, -1437273414, -1439882279, 3249 -1442487289, -1445088437, -1447685717, -1450279120, -1452868640, 3250 -1455454271, -1458036005, -1460613835, -1463187755, -1465757757, 3251 -1468323835, -1470885982, -1473444191, -1475998456, -1478548768, 3252 -1481095122, -1483637511, -1486175927, -1488710365, -1491240816, 3253 -1493767276, -1496289736, -1498808190, -1501322631, -1503833053, 3254 -1506339448, -1508841811, -1511340134, -1513834411, -1516324634, 3255 -1518810798, -1521292896, -1523770921, -1526244866, -1528714725, 3256 -1531180491, -1533642158, -1536099718, -1538553166, -1541002495, 3257 -1543447698, -1545888769, -1548325701, -1550758488, -1553187123, 3258 -1555611600, -1558031911, -1560448052, -1562860014, -1565267793, 3259 -1567671380, -1570070771, -1572465958, -1574856935, -1577243696, 3260 -1579626234, -1582004542, -1584378616, -1586748447, -1589114030, 3261 -1591475359, -1593832427, -1596185227, -1598533754, -1600878002, 3262 -1603217963, -1605553632, -1607885003, -1610212069, -1612534823, 3263 -1614853261, -1617167375, -1619477159, -1621782608, -1624083714, 3264 -1626380473, -1628672877, -1630960921, -1633244598, -1635523902, 3265 -1637798828, -1640069368, -1642335518, -1644597271, -1646854620, 3266 -1649107561, -1651356086, -1653600190, -1655839867, -1658075111, 3267 -1660305916, -1662532275, -1664754184, -1666971635, -1669184624, 3268 -1671393143, -1673597188, -1675796752, -1677991829, -1680182414, 3269 -1682368500, -1684550083, -1686727155, -1688899711, -1691067746, 3270 -1693231253, -1695390227, -1697544662, -1699694551, -1701839891, 3271 -1703980674, -1706116895, -1708248548, -1710375628, -1712498128, 3272 -1714616044, -1716729369, -1718838098, -1720942225, -1723041744, 3273 -1725136651, -1727226938, -1729312602, -1731393635, -1733470033, 3274 -1735541790, -1737608901, -1739671359, -1741729160, -1743782298, 3275 -1745830767, -1747874561, -1749913677, -1751948107, -1753977847, 3276 -1756002891, -1758023233, -1760038869, -1762049792, -1764055998, 3277 -1766057481, -1768054236, -1770046258, -1772033540, -1774016078, 3278 -1775993866, -1777966900, -1779935173, -1781898681, -1783857419, 3279 -1785811380, -1787760560, -1789704954, -1791644556, -1793579362, 3280 -1795509366, -1797434562, -1799354946, -1801270513, -1803181257, 3281 -1805087174, -1806988258, -1808884503, -1810775906, -1812662462, 3282 -1814544164, -1816421007, -1818292988, -1820160101, -1822022340, 3283 -1823879702, -1825732180, -1827579771, -1829422468, -1831260267, 3284 -1833093164, -1834921153, -1836744229, -1838562388, -1840375624, 3285 -1842183933, -1843987310, -1845785751, -1847579249, -1849367801, 3286 -1851151401, -1852930046, -1854703729, -1856472447, -1858236195, 3287 -1859994968, -1861748761, -1863497569, -1865241388, -1866980214, 3288 -1868714041, -1870442864, -1872166681, -1873885484, -1875599271, 3289 -1877308036, -1879011776, -1880710484, -1882404157, -1884092791, 3290 -1885776380, -1887454920, -1889128407, -1890796837, -1892460204, 3291 -1894118504, -1895771734, -1897419887, -1899062961, -1900700951, 3292 -1902333851, -1903961659, -1905584369, -1907201977, -1908814479, 3293 -1910421871, -1912024148, -1913621306, -1915213340, -1916800247, 3294 -1918382022, -1919958661, -1921530159, -1923096514, -1924657719, 3295 -1926213771, -1927764667, -1929310401, -1930850970, -1932386369, 3296 -1933916595, -1935441643, -1936961510, -1938476190, -1939985681, 3297 -1941489978, -1942989077, -1944482974, -1945971664, -1947455145, 3298 -1948933412, -1950406461, -1951874289, -1953336890, -1954794262, 3299 -1956246401, -1957693301, -1959134961, -1960571375, -1962002540, 3300 -1963428453, -1964849109, -1966264504, -1967674635, -1969079498, 3301 -1970479089, -1971873404, -1973262440, -1974646194, -1976024660, 3302 -1977397836, -1978765718, -1980128302, -1981485585, -1982837563, 3303 -1984184232, -1985525589, -1986861630, -1988192351, -1989517750, 3304 -1990837822, -1992152564, -1993461973, -1994766044, -1996064775, 3305 -1997358161, -1998646200, -1999928888, -2001206222, -2002478198, 3306 -2003744813, -2005006063, -2006261945, -2007512455, -2008757591, 3307 -2009997349, -2011231726, -2012460718, -2013684322, -2014902534, 3308 -2016115352, -2017322773, -2018524792, -2019721407, -2020912615, 3309 -2022098413, -2023278796, -2024453763, -2025623309, -2026787432, 3310 -2027946129, -2029099397, -2030247232, -2031389631, -2032526592, 3311 -2033658111, -2034784185, -2035904812, -2037019988, -2038129710, 3312 -2039233976, -2040332782, -2041426125, -2042514003, -2043596412, 3313 -2044673350, -2045744814, -2046810801, -2047871308, -2048926332, 3314 -2049975870, -2051019920, -2052058479, -2053091544, -2054119112, 3315 -2055141181, -2056157747, -2057168809, -2058174363, -2059174406, 3316 -2060168936, -2061157951, -2062141448, -2063119423, -2064091875, 3317 -2065058800, -2066020197, -2066976063, -2067926394, -2068871190, 3318 -2069810446, -2070744160, -2071672331, -2072594955, -2073512030, 3319 -2074423554, -2075329524, -2076229937, -2077124792, -2078014086, 3320 -2078897817, -2079775981, -2080648577, -2081515603, -2082377056, 3321 -2083232934, -2084083234, -2084927955, -2085767094, -2086600648, 3322 -2087428616, -2088250996, -2089067784, -2089878979, -2090684580, 3323 -2091484582, -2092278986, -2093067787, -2093850985, -2094628577, 3324 -2095400561, -2096166935, -2096927697, -2097682844, -2098432376, 3325 -2099176290, -2099914583, -2100647254, -2101374302, -2102095723, 3326 -2102811516, -2103521679, -2104226211, -2104925109, -2105618372, 3327 -2106305997, -2106987983, -2107664327, -2108335029, -2109000087, 3328 -2109659498, -2110313260, -2110961373, -2111603834, -2112240642, 3329 -2112871795, -2113497290, -2114117128, -2114731305, -2115339820, 3330 -2115942673, -2116539860, -2117131380, -2117717232, -2118297415, 3331 -2118871926, -2119440764, -2120003928, -2120561416, -2121113227, 3332 -2121659358, -2122199810, -2122734579, -2123263666, -2123787068, 3333 -2124304784, -2124816812, -2125323152, -2125823801, -2126318759, 3334 -2126808025, -2127291596, -2127769472, -2128241651, -2128708132, 3335 -2129168914, -2129623995, -2130073375, -2130517052, -2130955025, 3336 -2131387293, -2131813854, -2132234708, -2132649854, -2133059289, 3337 -2133463014, -2133861027, -2134253326, -2134639912, -2135020783, 3338 -2135395937, -2135765375, -2136129094, -2136487095, -2136839375, 3339 -2137185934, -2137526772, -2137861886, -2138191277, -2138514944, 3340 -2138832885, -2139145099, -2139451587, -2139752346, -2140047377, 3341 -2140336678, -2140620249, -2140898089, -2141170197, -2141436573, 3342 -2141697215, -2141952123, -2142201296, -2142444735, -2142682437, 3343 -2142914403, -2143140631, -2143361122, -2143575874, -2143784887, 3344 -2143988161, -2144185694, -2144377487, -2144563539, -2144743849, 3345 -2144918417, -2145087242, -2145250325, -2145407663, -2145559258, 3346 -2145705109, -2145845215, -2145979576, -2146108191, -2146231061, 3347 -2146348185, -2146459562, -2146565192, -2146665076, -2146759212, 3348 -2146847600, -2146930241, -2147007134, -2147078279, -2147143675, 3349 -2147203323, -2147257222, -2147305372, -2147347773, -2147384426, 3350 -2147415329, -2147440482, -2147459887, -2147473542, -2147481447, 3351 2147483468, 2147469095, 2147431723, 2147371355, 2147287990, 3352 2147181629, 2147052273, 2146899924, 2146724584, 2146526254, 3353 2146304937, 2146060634, 2145793349, 2145503083, 2145189842, 3354 2144853627, 2144494442, 2144112292, 2143707180, 2143279110, 3355 2142828088, 2142354118, 2141857204, 2141337354, 2140794571, 3356 2140228862, 2139640233, 2139028690, 2138394240, 2137736889, 3357 2137056645, 2136353515, 2135627506, 2134878626, 2134106884, 3358 2133312286, 2132494843, 2131654563, 2130791454, 2129905526, 3359 2128996788, 2128065251, 2127110924, 2126133817, 2125133941, 3360 2124111307, 2123065925, 2121997806, 2120906963, 2119793407, 3361 2118657149, 2117498202, 2116316578, 2115112291, 2113885352, 3362 2112635775, 2111363574, 2110068761, 2108751352, 2107411359, 3363 2106048798, 2104663683, 2103256028, 2101825849, 2100373162, 3364 2098897981, 2097400322, 2095880202, 2094337637, 2092772643, 3365 2091185237, 2089575437, 2087943258, 2086288720, 2084611839, 3366 2082912633, 2081191122, 2079447322, 2077681253, 2075892934, 3367 2074082383, 2072249621, 2070394667, 2068517540, 2066618262, 3368 2064696851, 2062753329, 2060787717, 2058800036, 2056790306, 3369 2054758550, 2052704789, 2050629045, 2048531340, 2046411698, 3370 2044270140, 2042106689, 2039921369, 2037714204, 2035485216, 3371 2033234429, 2030961869, 2028667558, 2026351522, 2024013785, 3372 2021654373, 2019273310, 2016870623, 2014446336, 2012000477, 3373 2009533071, 2007044144, 2004533723, 2002001835, 1999448508, 3374 1996873768, 1994277643, 1991660161, 1989021350, 1986361238, 3375 1983679853, 1980977226, 1978253383, 1975508355, 1972742171, 3376 1969954860, 1967146453, 1964316979, 1961466469, 1958594953, 3377 1955702462, 1952789027, 1949854680, 1946899451, 1943923372, 3378 1940926475, 1937908793, 1934870357, 1931811201, 1928731356, 3379 1925630856, 1922509734, 1919368023, 1916205758, 1913022972, 3380 1909819698, 1906595972, 1903351828, 1900087301, 1896802425, 3381 1893497236, 1890171769, 1886826060, 1883460144, 1880074058, 3382 1876667838, 1873241521, 1869795142, 1866328740, 1862842350, 3383 1859336011, 1855809760, 1852263635, 1848697674, 1845111914, 3384 1841506395, 1837881155, 1834236233, 1830571667, 1826887497, 3385 1823183763, 1819460504, 1815717761, 1811955572, 1808173978, 3386 1804373021, 1800552740, 1796713177, 1792854372, 1788976368, 3387 1785079205, 1781162925, 1777227570, 1773273182, 1769299805, 3388 1765307479, 1761296249, 1757266156, 1753217244, 1749149557, 3389 1745063138, 1740958031, 1736834279, 1732691928, 1728531020, 3390 1724351602, 1720153717, 1715937410, 1711702727, 1707449714, 3391 1703178415, 1698888876, 1694581143, 1690255263, 1685911282, 3392 1681549245, 1677169201, 1672771196, 1668355276, 1663921490, 3393 1659469885, 1655000508, 1650513407, 1646008631, 1641486227, 3394 1636946244, 1632388731, 1627813736, 1623221309, 1618611498, 3395 1613984353, 1609339924, 1604678260, 1599999411, 1595303428, 3396 1590590360, 1585860258, 1581113173, 1576349155, 1571568256, 3397 1566770527, 1561956018, 1557124783, 1552276872, 1547412337, 3398 1542531231, 1537633606, 1532719513, 1527789007, 1522842139, 3399 1517878963, 1512899531, 1507903898, 1502892116, 1497864239, 3400 1492820322, 1487760417, 1482684580, 1477592864, 1472485325, 3401 1467362016, 1462222994, 1457068312, 1451898025, 1446712191, 3402 1441510863, 1436294098, 1431061951, 1425814478, 1420551737, 3403 1415273782, 1409980671, 1404672460, 1399349206, 1394010966, 3404 1388657798, 1383289758, 1377906904, 1372509294, 1367096986, 3405 1361670037, 1356228505, 1350772450, 1345301929, 1339817000, 3406 1334317724, 1328804158, 1323276361, 1317734393, 1312178313, 3407 1306608181, 1301024057, 1295425999, 1289814068, 1284188325, 3408 1278548828, 1272895640, 1267228820, 1261548429, 1255854528, 3409 1250147177, 1244426439, 1238692373, 1232945043, 1227184508, 3410 1221410831, 1215624074, 1209824299, 1204011567, 1198185941, 3411 1192347484, 1186496258, 1180632325, 1174755748, 1168866591, 3412 1162964917, 1157050787, 1151124267, 1145185419, 1139234307, 3413 1133270995, 1127295547, 1121308026, 1115308496, 1109297023, 3414 1103273670, 1097238502, 1091191583, 1085132978, 1079062753, 3415 1072980972, 1066887699, 1060783002, 1054666944, 1048539592, 3416 1042401010, 1036251266, 1030090423, 1023918550, 1017735711, 3417 1011541973, 1005337402, 999122065, 992896028, 986659358, 3418 980412122, 974154386, 967886217, 961607684, 955318852, 3419 949019790, 942710564, 936391243, 930061894, 923722585, 3420 917373383, 911014357, 904645574, 898267104, 891879014, 3421 885481373, 879074249, 872657710, 866231826, 859796666, 3422 853352298, 846898791, 840436214, 833964638, 827484130, 3423 820994760, 814496598, 807989714, 801474176, 794950056, 3424 788417422, 781876345, 775326894, 768769141, 762203154, 3425 755629005, 749046764, 742456501, 735858287, 729252193, 3426 722638289, 716016646, 709387335, 702750427, 696105993, 3427 689454104, 682794832, 676128248, 669454423, 662773428, 3428 656085336, 649390218, 642688145, 635979190, 629263424, 3429 622540918, 615811746, 609075979, 602333690, 595584950, 3430 588829831, 582068407, 575300749, 568526931, 561747023, 3431 554961100, 548169234, 541371497, 534567963, 527758704, 3432 520943793, 514123303, 507297307, 500465878, 493629090, 3433 486787016, 479939728, 473087301, 466229807, 459367320, 3434 452499914, 445627662, 438750638, 431868915, 424982567, 3435 418091668, 411196291, 404296511, 397392401, 390484035, 3436 383571488, 376654833, 369734144, 362809495, 355880961, 3437 348948616, 342012534, 335072790, 328129457, 321182610, 3438 314232323, 307278671, 300321729, 293361570, 286398270, 3439 279431902, 272462542, 265490265, 258515144, 251537254, 3440 244556671, 237573469, 230587722, 223599506, 216608896, 3441 209615966, 202620791, 195623446, 188624006, 181622546, 3442 174619141, 167613866, 160606796, 153598006, 146587571, 3443 139575567, 132562067, 125547148, 118530885, 111513352, 3444 104494625, 97474778, 90453888, 83432030, 76409277, 3445 69385707, 62361393, 55336412, 48310838, 41284746, 3446 34258213, 27231312, 20204120, 13176712, 6149162, 3447 -878453, -7906059, -14933580, -21960942, -28988068, 3448 -36014884, -43041314, -50067283, -57092716, -64117537, 3449 -71141672, -78165045, -85187581, -92209205, -99229841, 3450 -106249414, -113267850, -120285073, -127301007, -134315578, 3451 -141328711, -148340330, -155350361, -162358728, -169365356, 3452 -176370170, -183373096, -190374058, -197372981, -204369791, 3453 -211364411, -218356769, -225346788, -232334393, -239319511, 3454 -246302065, -253281982, -260259186, -267233603, -274205159, 3455 -281173778, -288139385, -295101907, -302061269, -309017396, 3456 -315970213, -322919647, -329865622, -336808065, -343746901, 3457 -350682056, -357613455, -364541025, -371464690, -378384377, 3458 -385300013, -392211522, -399118830, -406021865, -412920551, 3459 -419814815, -426704583, -433589782, -440470337, -447346176, 3460 -454217223, -461083406, -467944652, -474800886, -481652035, 3461 -488498026, -495338786, -502174241, -509004318, -515828944, 3462 -522648046, -529461551, -536269386, -543071478, -549867754, 3463 -556658141, -563442567, -570220959, -576993244, -583759350, 3464 -590519205, -597272736, -604019870, -610760536, -617494660, 3465 -624222173, -630943000, -637657070, -644364312, -651064652, 3466 -657758021, -664444345, -671123554, -677795576, -684460338, 3467 -691117771, -697767803, -704410362, -711045377, -717672778, 3468 -724292493, -730904451, -737508582, -744104815, -750693079, 3469 -757273304, -763845419, -770409354, -776965038, -783512402, 3470 -790051375, -796581887, -803103868, -809617249, -816121959, 3471 -822617929, -829105090, -835583372, -842052705, -848513021, 3472 -854964249, -861406322, -867839170, -874262724, -880676915, 3473 -887081675, -893476935, -899862626, -906238681, -912605031, 3474 -918961607, -925308342, -931645168, -937972016, -944288820, 3475 -950595511, -956892022, -963178285, -969454234, -975719800, 3476 -981974918, -988219519, -994453537, -1000676905, -1006889557, 3477 -1013091426, -1019282445, -1025462549, -1031631671, -1037789745, 3478 -1043936705, -1050072485, -1056197020, -1062310244, -1068412091, 3479 -1074502497, -1080581395, -1086648722, -1092704411, -1098748398, 3480 -1104780618, -1110801008, -1116809501, -1122806034, -1128790543, 3481 -1134762964, -1140723232, -1146671283, -1152607055, -1158530484, 3482 -1164441505, -1170340057, -1176226074, -1182099496, -1187960258, 3483 -1193808298, -1199643553, -1205465961, -1211275460, -1217071986, 3484 -1222855479, -1228625876, -1234383115, -1240127136, -1245857875, 3485 -1251575272, -1257279266, -1262969796, -1268646800, -1274310217, 3486 -1279959989, -1285596052, -1291218348, -1296826816, -1302421396, 3487 -1308002029, -1313568653, -1319121210, -1324659641, -1330183885, 3488 -1335693885, -1341189580, -1346670912, -1352137822, -1357590252, 3489 -1363028143, -1368451438, -1373860077, -1379254004, -1384633159, 3490 -1389997487, -1395346928, -1400681427, -1406000925, -1411305366, 3491 -1416594694, -1421868850, -1427127780, -1432371426, -1437599733, 3492 -1442812644, -1448010104, -1453192057, -1458358447, -1463509220, 3493 -1468644319, -1473763690, -1478867279, -1483955030, -1489026889, 3494 -1494082802, -1499122714, -1504146572, -1509154322, -1514145910, 3495 -1519121283, -1524080387, -1529023170, -1533949577, -1538859558, 3496 -1543753058, -1548630027, -1553490410, -1558334157, -1563161216, 3497 -1567971534, -1572765060, -1577541744, -1582301533, -1587044377, 3498 -1591770225, -1596479027, -1601170732, -1605845289, -1610502649, 3499 -1615142762, -1619765578, -1624371047, -1628959121, -1633529750, 3500 -1638082885, -1642618478, -1647136479, -1651636841, -1656119516, 3501 -1660584454, -1665031609, -1669460933, -1673872378, -1678265898, 3502 -1682641444, -1686998971, -1691338432, -1695659779, -1699962968, 3503 -1704247951, -1708514683, -1712763118, -1716993211, -1721204917, 3504 -1725398189, -1729572984, -1733729257, -1737866963, -1741986057, 3505 -1746086497, -1750168237, -1754231234, -1758275445, -1762300826, 3506 -1766307335, -1770294927, -1774263561, -1778213194, -1782143784, 3507 -1786055289, -1789947667, -1793820875, -1797674873, -1801509620, 3508 -1805325074, -1809121194, -1812897940, -1816655271, -1820393147, 3509 -1824111529, -1827810376, -1831489648, -1835149306, -1838789312, 3510 -1842409625, -1846010208, -1849591022, -1853152028, -1856693188, 3511 -1860214464, -1863715819, -1867197215, -1870658615, -1874099982, 3512 -1877521279, -1880922469, -1884303515, -1887664383, -1891005035, 3513 -1894325435, -1897625550, -1900905342, -1904164776, -1907403819, 3514 -1910622435, -1913820590, -1916998250, -1920155379, -1923291946, 3515 -1926407915, -1929503255, -1932577931, -1935631910, -1938665161, 3516 -1941677650, -1944669345, -1947640214, -1950590226, -1953519348, 3517 -1956427550, -1959314800, -1962181067, -1965026321, -1967850531, 3518 -1970653667, -1973435699, -1976196596, -1978936331, -1981654873, 3519 -1984352192, -1987028261, -1989683050, -1992316532, -1994928677, 3520 -1997519459, -2000088848, -2002636818, -2005163342, -2007668391, 3521 -2010151941, -2012613963, -2015054432, -2017473321, -2019870604, 3522 -2022246257, -2024600252, -2026932566, -2029243173, -2031532049, 3523 -2033799168, -2036044507, -2038268042, -2040469748, -2042649603, 3524 -2044807583, -2046943664, -2049057824, -2051150040, -2053220291, 3525 -2055268553, -2057294804, -2059299024, -2061281190, -2063241282, 3526 -2065179277, -2067095157, -2068988899, -2070860485, -2072709893, 3527 -2074537104, -2076342098, -2078124857, -2079885360, -2081623590, 3528 -2083339527, -2085033153, -2086704450, -2088353400, -2089979985, 3529 -2091584189, -2093165993, -2094725382, -2096262337, -2097776843, 3530 -2099268884, -2100738443, -2102185505, -2103610054, -2105012075, 3531 -2106391553, -2107748474, -2109082822, -2110394584, -2111683744, 3532 -2112950291, -2114194210, -2115415487, -2116614110, -2117790065, 3533 -2118943341, -2120073924, -2121181804, -2122266967, -2123329402, 3534 -2124369098, -2125386044, -2126380229, -2127351642, -2128300272, 3535 -2129226111, -2130129147, -2131009371, -2131866773, -2132701345, 3536 -2133513078, -2134301962, -2135067990, -2135811153, -2136531442, 3537 -2137228852, -2137903373, -2138555000, -2139183723, -2139789539, 3538 -2140372438, -2140932416, -2141469466, -2141983583, -2142474761, 3539 -2142942995, -2143388280, -2143810610, -2144209982, -2144586392, 3540 -2144939834, -2145270306, -2145577804, -2145862324, -2146123864, 3541 -2146362421, -2146577992, -2146770575, -2146940167, -2147086768, 3542 -2147210375, -2147310987, -2147388603, -2147443222, -2147474844, 3543 2147482929, 2147425435, 2147275952, 2147034487, 2146701050, 3544 2146275656, 2145758322, 2145149071, 2144447929, 2143654926, 3545 2142770096, 2141793477, 2140725111, 2139565043, 2138313323, 3546 2136970005, 2135535146, 2134008809, 2132391057, 2130681961, 3547 2128881593, 2126990031, 2125007356, 2122933653, 2120769010, 3548 2118513521, 2116167282, 2113730393, 2111202959, 2108585087, 3549 2105876892, 2103078487, 2100189994, 2097211535, 2094143239, 3550 2090985237, 2087737664, 2084400659, 2080974365, 2077458929, 3551 2073854502, 2070161238, 2066379295, 2062508835, 2058550025, 3552 2054503033, 2050368032, 2046145201, 2041834720, 2037436773, 3553 2032951550, 2028379241, 2023720043, 2018974156, 2014141783, 3554 2009223131, 2004218410, 1999127836, 1993951625, 1988690000, 3555 1983343186, 1977911412, 1972394912, 1966793920, 1961108677, 3556 1955339428, 1949486417, 1943549898, 1937530123, 1931427351, 3557 1925241843, 1918973864, 1912623682, 1906191570, 1899677803, 3558 1893082661, 1886406424, 1879649381, 1872811820, 1865894033, 3559 1858896318, 1851818974, 1844662304, 1837426615, 1830112217, 3560 1822719423, 1815248550, 1807699917, 1800073849, 1792370671, 3561 1784590714, 1776734311, 1768801799, 1760793518, 1752709809, 3562 1744551021, 1736317502, 1728009604, 1719627685, 1711172102, 3563 1702643219, 1694041400, 1685367013, 1676620432, 1667802029, 3564 1658912184, 1649951276, 1640919689, 1631817811, 1622646032, 3565 1613404744, 1604094343, 1594715227, 1585267800, 1575752465, 3566 1566169630, 1556519705, 1546803104, 1537020244, 1527171542, 3567 1517257422, 1507278307, 1497234626, 1487126808, 1476955286, 3568 1466720497, 1456422878, 1446062871, 1435640919, 1425157469, 3569 1414612971, 1404007875, 1393342636, 1382617710, 1371833558, 3570 1360990642, 1350089425, 1339130374, 1328113960, 1317040654, 3571 1305910930, 1294725265, 1283484138, 1272188032, 1260837429, 3572 1249432816, 1237974681, 1226463516, 1214899813, 1203284068, 3573 1191616778, 1179898443, 1168129565, 1156310649, 1144442200, 3574 1132524727, 1120558740, 1108544752, 1096483278, 1084374834, 3575 1072219940, 1060019115, 1047772882, 1035481766, 1023146293, 3576 1010766993, 998344394, 985879030, 973371434, 960822142, 3577 948231691, 935600622, 922929474, 910218791, 897469118, 3578 884680999, 871854984, 858991622, 846091463, 833155061, 3579 820182969, 807175743, 794133941, 781058120, 767948841, 3580 754806666, 741632158, 728425880, 715188400, 701920283, 3581 688622098, 675294414, 661937804, 648552838, 635140090, 3582 621700135, 608233549, 594740907, 581222789, 567679774, 3583 554112440, 540521371, 526907147, 513270353, 499611571, 3584 485931388, 472230390, 458509162, 444768294, 431008373, 3585 417229989, 403433732, 389620194, 375789965, 361943639, 3586 348081809, 334205068, 320314011, 306409232, 292491328, 3587 278560894, 264618528, 250664827, 236700388, 222725809, 3588 208741690, 194748629, 180747225, 166738079, 152721790, 3589 138698959, 124670187, 110636075, 96597223, 82554233, 3590 68507707, 54458246, 40406452, 26352928, 12298274, 3591 -1756906, -15812011, -29866438, -43919586, -57970853, 3592 -72019637, -86065335, -100107347, -114145071, -128177904, 3593 -142205248, -156226499, -170241059, -184248325, -198247699, 3594 -212238581, -226220372, -240192472, -254154282, -268105206, 3595 -282044645, -295972002, -309886680, -323788084, -337675619, 3596 -351548688, -365406698, -379249055, -393075166, -406884440, 3597 -420676284, -434450107, -448205320, -461941333, -475657559, 3598 -489353409, -503028296, -516681636, -530312842, -543921332, 3599 -557506522, -571067830, -584604676, -598116479, -611602660, 3600 -625062643, -638495850, -651901706, -665279637, -678629069, 3601 -691949432, -705240153, -718500664, -731730397, -744928785, 3602 -758095263, -771229267, -784330234, -797397602, -810430813, 3603 -823429308, -836392529, -849319923, -862210934, -875065011, 3604 -887881603, -900660162, -913400139, -926100989, -938762167, 3605 -951383133, -963963344, -976502263, -988999351, -1001454074, 3606 -1013865898, -1026234291, -1038558724, -1050838668, -1063073598, 3607 -1075262990, -1087406320, -1099503070, -1111552721, -1123554757, 3608 -1135508663, -1147413928, -1159270041, -1171076495, -1182832785, 3609 -1194538405, -1206192856, -1217795637, -1229346252, -1240844206, 3610 -1252289006, -1263680162, -1275017186, -1286299593, -1297526899, 3611 -1308698624, -1319814288, -1330873416, -1341875533, -1352820169, 3612 -1363706855, -1374535124, -1385304512, -1396014559, -1406664805, 3613 -1417254794, -1427784073, -1438252190, -1448658697, -1459003149, 3614 -1469285102, -1479504115, -1489659751, -1499751576, -1509779156, 3615 -1519742062, -1529639867, -1539472148, -1549238483, -1558938453, 3616 -1568571644, -1578137643, -1587636039, -1597066426, -1606428400, 3617 -1615721561, -1624945509, -1634099849, -1643184191, -1652198144, 3618 -1661141322, -1670013342, -1678813825, -1687542393, -1696198672, 3619 -1704782292, -1713292884, -1721730085, -1730093532, -1738382868, 3620 -1746597738, -1754737789, -1762802673, -1770792044, -1778705561, 3621 -1786542883, -1794303676, -1801987607, -1809594347, -1817123570, 3622 -1824574954, -1831948179, -1839242929, -1846458892, -1853595759, 3623 -1860653224, -1867630985, -1874528743, -1881346202, -1888083070, 3624 -1894739060, -1901313885, -1907807264, -1914218919, -1920548575, 3625 -1926795962, -1932960811, -1939042858, -1945041843, -1950957509, 3626 -1956789602, -1962537873, -1968202076, -1973781967, -1979277308, 3627 -1984687864, -1990013401, -1995253694, -2000408516, -2005477648, 3628 -2010460871, -2015357973, -2020168744, -2024892978, -2029530472, 3629 -2034081027, -2038544449, -2042920547, -2047209133, -2051410023, 3630 -2055523038, -2059548001, -2063484740, -2067333086, -2071092874, 3631 -2074763944, -2078346137, -2081839301, -2085243286, -2088557947, 3632 -2091783140, -2094918728, -2097964577, -2100920556, -2103786539, 3633 -2106562402, -2109248028, -2111843300, -2114348108, -2116762344, 3634 -2119085905, -2121318692, -2123460608, -2125511562, -2127471467, 3635 -2129340237, -2131117794, -2132804061, -2134398966, -2135902440, 3636 -2137314419, -2138634843, -2139863654, -2141000801, -2142046235, 3637 -2142999911, -2143861787, -2144631828, -2145310000, -2145896274, 3638 -2146390624, -2146793031, -2147103476, -2147321946, -2147448433, 3639 2147480773, 2147250799, 2146652904, 2145687192, 2144353827, 3640 2142653038, 2140585116, 2138150417, 2135349356, 2132182414, 3641 2128650133, 2124753120, 2120492040, 2115867626, 2110880668, 3642 2105532022, 2099822604, 2093753392, 2087325426, 2080539807, 3643 2073397699, 2065900325, 2058048970, 2049844978, 2041289756, 3644 2032384769, 2023131544, 2013531666, 2003586779, 1993298588, 3645 1982668856, 1971699403, 1960392110, 1948748914, 1936771810, 3646 1924462850, 1911824143, 1898857855, 1885566207, 1871951478, 3647 1858015999, 1843762158, 1829192399, 1814309216, 1799115162, 3648 1783612838, 1767804901, 1751694060, 1735283075, 1718574758, 3649 1701571972, 1684277631, 1666694698, 1648826185, 1630675154, 3650 1612244715, 1593538026, 1574558293, 1555308768, 1535792748, 3651 1516013578, 1495974647, 1475679389, 1455131280, 1434333842, 3652 1413290638, 1392005275, 1370481398, 1348722696, 1326732898, 3653 1304515771, 1282075122, 1259414796, 1236538675, 1213450681, 3654 1190154767, 1166654927, 1142955186, 1119059606, 1094972281, 3655 1070697338, 1046238936, 1021601267, 996788551, 971805042, 3656 946655018, 921342790, 895872694, 870249095, 844476384, 3657 818558976, 792501312, 766307857, 739983099, 713531549, 3658 686957739, 660266222, 633461572, 606548381, 579531262, 3659 552414843, 525203770, 497902707, 470516330, 443049333, 3660 415506422, 387892316, 360211746, 332469456, 304670200, 3661 276818739, 248919847, 220978304, 192998897, 164986421, 3662 136945676, 108881465, 80798598, 52701887, 24596146, 3663 -3513810, -31623164, -59727099, -87820801, -115899455, 3664 -143958250, -171992378, -199997036, -227967426, -255898755, 3665 -283786237, -311625094, -339410555, -367137861, -394802258, 3666 -422399009, -449923384, -477370666, -504736154, -532015158, 3667 -559203003, -586295032, -613286603, -640173090, -666949886, 3668 -693612404, -720156076, -746576352, -772868706, -799028633, 3669 -825051651, -850933300, -876669146, -902254780, -927685817, 3670 -952957899, -978066697, -1003007909, -1027777260, -1052370507, 3671 -1076783436, -1101011863, -1125051638, -1148898640, -1172548785, 3672 -1195998020, -1219242327, -1242277723, -1265100260, -1287706030, 3673 -1310091157, -1332251808, -1354184184, -1375884527, -1397349119, 3674 -1418574283, -1439556382, -1460291820, -1480777044, -1501008545, 3675 -1520982856, -1540696555, -1560146263, -1579328647, -1598240423, 3676 -1616878347, -1635239228, -1653319919, -1671117323, -1688628389, 3677 -1705850117, -1722779556, -1739413807, -1755750017, -1771785389, 3678 -1787517174, -1802942678, -1818059257, -1832864320, -1847355332, 3679 -1861529809, -1875385322, -1888919498, -1902130017, -1915014616, 3680 -1927571087, -1939797279, -1951691096, -1963250501, -1974473513, 3681 -1985358210, -1995902725, -2006105253, -2015964045, -2025477412, 3682 -2034643724, -2043461410, -2051928960, -2060044922, -2067807906, 3683 -2075216581, -2082269679, -2088965991, -2095304370, -2101283728, 3684 -2106903043, -2112161350, -2117057750, -2121591402, -2125761531, 3685 -2129567422, -2133008422, -2136083942, -2138793455, -2141136497, 3686 -2143112666, -2144721624, -2145963095, -2146836866, -2147342788, 3687 #else 3688 32767, 32767, 32767, 32767, 32767, 3689 32767, 32766, 32766, 32765, 32764, 3690 32764, 32763, 32762, 32760, 32759, 3691 32758, 32757, 32755, 32754, 32752, 3692 32750, 32748, 32747, 32745, 32742, 3693 32740, 32738, 32736, 32733, 32731, 3694 32728, 32726, 32723, 32720, 32717, 3695 32714, 32711, 32708, 32704, 32701, 3696 32697, 32694, 32690, 32686, 32683, 3697 32679, 32675, 32671, 32666, 32662, 3698 32658, 32653, 32649, 32644, 32640, 3699 32635, 32630, 32625, 32620, 32615, 3700 32610, 32604, 32599, 32593, 32588, 3701 32582, 32576, 32571, 32565, 32559, 3702 32553, 32546, 32540, 32534, 32527, 3703 32521, 32514, 32507, 32501, 32494, 3704 32487, 32480, 32473, 32465, 32458, 3705 32451, 32443, 32436, 32428, 32420, 3706 32412, 32404, 32396, 32388, 32380, 3707 32372, 32364, 32355, 32347, 32338, 3708 32329, 32320, 32312, 32303, 32294, 3709 32284, 32275, 32266, 32257, 32247, 3710 32237, 32228, 32218, 32208, 32198, 3711 32188, 32178, 32168, 32158, 32147, 3712 32137, 32127, 32116, 32105, 32094, 3713 32084, 32073, 32062, 32051, 32039, 3714 32028, 32017, 32005, 31994, 31982, 3715 31970, 31959, 31947, 31935, 31923, 3716 31910, 31898, 31886, 31874, 31861, 3717 31848, 31836, 31823, 31810, 31797, 3718 31784, 31771, 31758, 31745, 31732, 3719 31718, 31705, 31691, 31677, 31664, 3720 31650, 31636, 31622, 31608, 31593, 3721 31579, 31565, 31550, 31536, 31521, 3722 31507, 31492, 31477, 31462, 31447, 3723 31432, 31417, 31401, 31386, 31371, 3724 31355, 31339, 31324, 31308, 31292, 3725 31276, 31260, 31244, 31228, 31212, 3726 31195, 31179, 31162, 31146, 31129, 3727 31112, 31095, 31078, 31061, 31044, 3728 31027, 31010, 30992, 30975, 30957, 3729 30940, 30922, 30904, 30886, 30868, 3730 30850, 30832, 30814, 30796, 30777, 3731 30759, 30740, 30722, 30703, 30684, 3732 30665, 30646, 30627, 30608, 30589, 3733 30570, 30551, 30531, 30512, 30492, 3734 30472, 30453, 30433, 30413, 30393, 3735 30373, 30353, 30332, 30312, 30292, 3736 30271, 30251, 30230, 30209, 30188, 3737 30167, 30146, 30125, 30104, 30083, 3738 30062, 30040, 30019, 29997, 29976, 3739 29954, 29932, 29910, 29889, 29867, 3740 29844, 29822, 29800, 29778, 29755, 3741 29733, 29710, 29687, 29665, 29642, 3742 29619, 29596, 29573, 29550, 29527, 3743 29503, 29480, 29457, 29433, 29409, 3744 29386, 29362, 29338, 29314, 29290, 3745 29266, 29242, 29218, 29193, 29169, 3746 29145, 29120, 29095, 29071, 29046, 3747 29021, 28996, 28971, 28946, 28921, 3748 28896, 28870, 28845, 28819, 28794, 3749 28768, 28743, 28717, 28691, 28665, 3750 28639, 28613, 28587, 28560, 28534, 3751 28508, 28481, 28455, 28428, 28401, 3752 28375, 28348, 28321, 28294, 28267, 3753 28240, 28212, 28185, 28158, 28130, 3754 28103, 28075, 28047, 28020, 27992, 3755 27964, 27936, 27908, 27880, 27851, 3756 27823, 27795, 27766, 27738, 27709, 3757 27681, 27652, 27623, 27594, 27565, 3758 27536, 27507, 27478, 27449, 27419, 3759 27390, 27360, 27331, 27301, 27272, 3760 27242, 27212, 27182, 27152, 27122, 3761 27092, 27062, 27032, 27001, 26971, 3762 26940, 26910, 26879, 26848, 26818, 3763 26787, 26756, 26725, 26694, 26663, 3764 26631, 26600, 26569, 26537, 26506, 3765 26474, 26443, 26411, 26379, 26347, 3766 26316, 26284, 26251, 26219, 26187, 3767 26155, 26123, 26090, 26058, 26025, 3768 25993, 25960, 25927, 25894, 25861, 3769 25828, 25795, 25762, 25729, 25696, 3770 25663, 25629, 25596, 25562, 25529, 3771 25495, 25461, 25428, 25394, 25360, 3772 25326, 25292, 25258, 25223, 25189, 3773 25155, 25120, 25086, 25051, 25017, 3774 24982, 24947, 24913, 24878, 24843, 3775 24808, 24773, 24738, 24702, 24667, 3776 24632, 24596, 24561, 24525, 24490, 3777 24454, 24419, 24383, 24347, 24311, 3778 24275, 24239, 24203, 24167, 24130, 3779 24094, 24058, 24021, 23985, 23948, 3780 23912, 23875, 23838, 23801, 23764, 3781 23728, 23690, 23653, 23616, 23579, 3782 23542, 23504, 23467, 23430, 23392, 3783 23355, 23317, 23279, 23241, 23204, 3784 23166, 23128, 23090, 23052, 23014, 3785 22975, 22937, 22899, 22860, 22822, 3786 22783, 22745, 22706, 22668, 22629, 3787 22590, 22551, 22512, 22473, 22434, 3788 22395, 22356, 22317, 22277, 22238, 3789 22199, 22159, 22120, 22080, 22040, 3790 22001, 21961, 21921, 21881, 21841, 3791 21801, 21761, 21721, 21681, 21641, 3792 21600, 21560, 21520, 21479, 21439, 3793 21398, 21357, 21317, 21276, 21235, 3794 21194, 21153, 21112, 21071, 21030, 3795 20989, 20948, 20907, 20865, 20824, 3796 20783, 20741, 20700, 20658, 20616, 3797 20575, 20533, 20491, 20449, 20407, 3798 20365, 20323, 20281, 20239, 20197, 3799 20155, 20112, 20070, 20028, 19985, 3800 19943, 19900, 19857, 19815, 19772, 3801 19729, 19686, 19643, 19601, 19558, 3802 19514, 19471, 19428, 19385, 19342, 3803 19298, 19255, 19212, 19168, 19125, 3804 19081, 19038, 18994, 18950, 18906, 3805 18863, 18819, 18775, 18731, 18687, 3806 18643, 18599, 18554, 18510, 18466, 3807 18422, 18377, 18333, 18288, 18244, 3808 18199, 18155, 18110, 18065, 18021, 3809 17976, 17931, 17886, 17841, 17796, 3810 17751, 17706, 17661, 17616, 17570, 3811 17525, 17480, 17434, 17389, 17344, 3812 17298, 17252, 17207, 17161, 17116, 3813 17070, 17024, 16978, 16932, 16886, 3814 16840, 16794, 16748, 16702, 16656, 3815 16610, 16564, 16517, 16471, 16425, 3816 16378, 16332, 16285, 16239, 16192, 3817 16145, 16099, 16052, 16005, 15958, 3818 15912, 15865, 15818, 15771, 15724, 3819 15677, 15630, 15583, 15535, 15488, 3820 15441, 15394, 15346, 15299, 15251, 3821 15204, 15156, 15109, 15061, 15014, 3822 14966, 14918, 14870, 14823, 14775, 3823 14727, 14679, 14631, 14583, 14535, 3824 14487, 14439, 14391, 14342, 14294, 3825 14246, 14198, 14149, 14101, 14053, 3826 14004, 13956, 13907, 13858, 13810, 3827 13761, 13713, 13664, 13615, 13566, 3828 13517, 13469, 13420, 13371, 13322, 3829 13273, 13224, 13175, 13126, 13076, 3830 13027, 12978, 12929, 12880, 12830, 3831 12781, 12731, 12682, 12633, 12583, 3832 12534, 12484, 12434, 12385, 12335, 3833 12285, 12236, 12186, 12136, 12086, 3834 12037, 11987, 11937, 11887, 11837, 3835 11787, 11737, 11687, 11637, 11586, 3836 11536, 11486, 11436, 11386, 11335, 3837 11285, 11235, 11184, 11134, 11083, 3838 11033, 10982, 10932, 10881, 10831, 3839 10780, 10729, 10679, 10628, 10577, 3840 10527, 10476, 10425, 10374, 10323, 3841 10272, 10221, 10170, 10119, 10068, 3842 10017, 9966, 9915, 9864, 9813, 3843 9762, 9711, 9659, 9608, 9557, 3844 9506, 9454, 9403, 9352, 9300, 3845 9249, 9197, 9146, 9094, 9043, 3846 8991, 8940, 8888, 8836, 8785, 3847 8733, 8681, 8630, 8578, 8526, 3848 8475, 8423, 8371, 8319, 8267, 3849 8215, 8163, 8111, 8059, 8007, 3850 7955, 7903, 7851, 7799, 7747, 3851 7695, 7643, 7591, 7539, 7487, 3852 7434, 7382, 7330, 7278, 7225, 3853 7173, 7121, 7068, 7016, 6964, 3854 6911, 6859, 6806, 6754, 6701, 3855 6649, 6596, 6544, 6491, 6439, 3856 6386, 6334, 6281, 6228, 6176, 3857 6123, 6070, 6018, 5965, 5912, 3858 5859, 5807, 5754, 5701, 5648, 3859 5595, 5543, 5490, 5437, 5384, 3860 5331, 5278, 5225, 5172, 5119, 3861 5066, 5013, 4960, 4907, 4854, 3862 4801, 4748, 4695, 4642, 4589, 3863 4536, 4483, 4430, 4377, 4324, 3864 4270, 4217, 4164, 4111, 4058, 3865 4005, 3951, 3898, 3845, 3792, 3866 3738, 3685, 3632, 3578, 3525, 3867 3472, 3419, 3365, 3312, 3259, 3868 3205, 3152, 3098, 3045, 2992, 3869 2938, 2885, 2831, 2778, 2725, 3870 2671, 2618, 2564, 2511, 2457, 3871 2404, 2350, 2297, 2243, 2190, 3872 2136, 2083, 2029, 1976, 1922, 3873 1869, 1815, 1762, 1708, 1655, 3874 1601, 1548, 1494, 1440, 1387, 3875 1333, 1280, 1226, 1173, 1119, 3876 1065, 1012, 958, 905, 851, 3877 797, 744, 690, 637, 583, 3878 529, 476, 422, 369, 315, 3879 261, 208, 154, 101, 47, 3880 -7, -60, -114, -168, -221, 3881 -275, -328, -382, -436, -489, 3882 -543, -596, -650, -704, -757, 3883 -811, -864, -918, -972, -1025, 3884 -1079, -1132, -1186, -1240, -1293, 3885 -1347, -1400, -1454, -1507, -1561, 3886 -1615, -1668, -1722, -1775, -1829, 3887 -1882, -1936, -1989, -2043, -2096, 3888 -2150, -2203, -2257, -2310, -2364, 3889 -2417, -2471, -2524, -2578, -2631, 3890 -2685, -2738, -2791, -2845, -2898, 3891 -2952, -3005, -3058, -3112, -3165, 3892 -3218, -3272, -3325, -3379, -3432, 3893 -3485, -3538, -3592, -3645, -3698, 3894 -3752, -3805, -3858, -3911, -3965, 3895 -4018, -4071, -4124, -4177, -4231, 3896 -4284, -4337, -4390, -4443, -4496, 3897 -4549, -4602, -4656, -4709, -4762, 3898 -4815, -4868, -4921, -4974, -5027, 3899 -5080, -5133, -5186, -5239, -5291, 3900 -5344, -5397, -5450, -5503, -5556, 3901 -5609, -5662, -5714, -5767, -5820, 3902 -5873, -5925, -5978, -6031, -6083, 3903 -6136, -6189, -6241, -6294, -6347, 3904 -6399, -6452, -6504, -6557, -6609, 3905 -6662, -6714, -6767, -6819, -6872, 3906 -6924, -6977, -7029, -7081, -7134, 3907 -7186, -7238, -7291, -7343, -7395, 3908 -7447, -7500, -7552, -7604, -7656, 3909 -7708, -7760, -7812, -7864, -7916, 3910 -7968, -8020, -8072, -8124, -8176, 3911 -8228, -8280, -8332, -8384, -8436, 3912 -8487, -8539, -8591, -8643, -8694, 3913 -8746, -8798, -8849, -8901, -8953, 3914 -9004, -9056, -9107, -9159, -9210, 3915 -9262, -9313, -9364, -9416, -9467, 3916 -9518, -9570, -9621, -9672, -9723, 3917 -9775, -9826, -9877, -9928, -9979, 3918 -10030, -10081, -10132, -10183, -10234, 3919 -10285, -10336, -10387, -10438, -10488, 3920 -10539, -10590, -10641, -10691, -10742, 3921 -10793, -10843, -10894, -10945, -10995, 3922 -11046, -11096, -11146, -11197, -11247, 3923 -11298, -11348, -11398, -11448, -11499, 3924 -11549, -11599, -11649, -11699, -11749, 3925 -11799, -11849, -11899, -11949, -11999, 3926 -12049, -12099, -12149, -12198, -12248, 3927 -12298, -12348, -12397, -12447, -12496, 3928 -12546, -12595, -12645, -12694, -12744, 3929 -12793, -12843, -12892, -12941, -12990, 3930 -13040, -13089, -13138, -13187, -13236, 3931 -13285, -13334, -13383, -13432, -13481, 3932 -13530, -13579, -13627, -13676, -13725, 3933 -13773, -13822, -13871, -13919, -13968, 3934 -14016, -14065, -14113, -14161, -14210, 3935 -14258, -14306, -14355, -14403, -14451, 3936 -14499, -14547, -14595, -14643, -14691, 3937 -14739, -14787, -14835, -14882, -14930, 3938 -14978, -15025, -15073, -15121, -15168, 3939 -15216, -15263, -15311, -15358, -15405, 3940 -15453, -15500, -15547, -15594, -15641, 3941 -15689, -15736, -15783, -15830, -15876, 3942 -15923, -15970, -16017, -16064, -16110, 3943 -16157, -16204, -16250, -16297, -16343, 3944 -16390, -16436, -16483, -16529, -16575, 3945 -16621, -16668, -16714, -16760, -16806, 3946 -16852, -16898, -16944, -16990, -17035, 3947 -17081, -17127, -17173, -17218, -17264, 3948 -17309, -17355, -17400, -17446, -17491, 3949 -17536, -17582, -17627, -17672, -17717, 3950 -17762, -17807, -17852, -17897, -17942, 3951 -17987, -18032, -18077, -18121, -18166, 3952 -18210, -18255, -18300, -18344, -18388, 3953 -18433, -18477, -18521, -18566, -18610, 3954 -18654, -18698, -18742, -18786, -18830, 3955 -18874, -18917, -18961, -19005, -19048, 3956 -19092, -19136, -19179, -19223, -19266, 3957 -19309, -19353, -19396, -19439, -19482, 3958 -19525, -19568, -19611, -19654, -19697, 3959 -19740, -19783, -19825, -19868, -19911, 3960 -19953, -19996, -20038, -20081, -20123, 3961 -20165, -20207, -20250, -20292, -20334, 3962 -20376, -20418, -20460, -20502, -20543, 3963 -20585, -20627, -20668, -20710, -20752, 3964 -20793, -20834, -20876, -20917, -20958, 3965 -20999, -21041, -21082, -21123, -21164, 3966 -21205, -21245, -21286, -21327, -21368, 3967 -21408, -21449, -21489, -21530, -21570, 3968 -21610, -21651, -21691, -21731, -21771, 3969 -21811, -21851, -21891, -21931, -21971, 3970 -22011, -22050, -22090, -22130, -22169, 3971 -22208, -22248, -22287, -22326, -22366, 3972 -22405, -22444, -22483, -22522, -22561, 3973 -22600, -22639, -22677, -22716, -22755, 3974 -22793, -22832, -22870, -22908, -22947, 3975 -22985, -23023, -23061, -23099, -23137, 3976 -23175, -23213, -23251, -23289, -23326, 3977 -23364, -23402, -23439, -23476, -23514, 3978 -23551, -23588, -23626, -23663, -23700, 3979 -23737, -23774, -23811, -23847, -23884, 3980 -23921, -23957, -23994, -24030, -24067, 3981 -24103, -24139, -24176, -24212, -24248, 3982 -24284, -24320, -24356, -24392, -24427, 3983 -24463, -24499, -24534, -24570, -24605, 3984 -24641, -24676, -24711, -24746, -24782, 3985 -24817, -24852, -24886, -24921, -24956, 3986 -24991, -25025, -25060, -25095, -25129, 3987 -25163, -25198, -25232, -25266, -25300, 3988 -25334, -25368, -25402, -25436, -25470, 3989 -25503, -25537, -25571, -25604, -25638, 3990 -25671, -25704, -25737, -25771, -25804, 3991 -25837, -25870, -25902, -25935, -25968, 3992 -26001, -26033, -26066, -26098, -26131, 3993 -26163, -26195, -26227, -26259, -26292, 3994 -26323, -26355, -26387, -26419, -26451, 3995 -26482, -26514, -26545, -26577, -26608, 3996 -26639, -26670, -26702, -26733, -26764, 3997 -26794, -26825, -26856, -26887, -26917, 3998 -26948, -26978, -27009, -27039, -27069, 3999 -27100, -27130, -27160, -27190, -27220, 4000 -27249, -27279, -27309, -27338, -27368, 4001 -27397, -27427, -27456, -27485, -27514, 4002 -27543, -27572, -27601, -27630, -27659, 4003 -27688, -27716, -27745, -27773, -27802, 4004 -27830, -27858, -27887, -27915, -27943, 4005 -27971, -27999, -28026, -28054, -28082, 4006 -28109, -28137, -28164, -28192, -28219, 4007 -28246, -28273, -28301, -28328, -28354, 4008 -28381, -28408, -28435, -28461, -28488, 4009 -28514, -28541, -28567, -28593, -28619, 4010 -28645, -28671, -28697, -28723, -28749, 4011 -28775, -28800, -28826, -28851, -28877, 4012 -28902, -28927, -28952, -28977, -29002, 4013 -29027, -29052, -29077, -29102, -29126, 4014 -29151, -29175, -29200, -29224, -29248, 4015 -29272, -29296, -29320, -29344, -29368, 4016 -29392, -29415, -29439, -29462, -29486, 4017 -29509, -29532, -29556, -29579, -29602, 4018 -29625, -29648, -29670, -29693, -29716, 4019 -29738, -29761, -29783, -29806, -29828, 4020 -29850, -29872, -29894, -29916, -29938, 4021 -29960, -29981, -30003, -30024, -30046, 4022 -30067, -30088, -30110, -30131, -30152, 4023 -30173, -30194, -30214, -30235, -30256, 4024 -30276, -30297, -30317, -30337, -30358, 4025 -30378, -30398, -30418, -30438, -30458, 4026 -30477, -30497, -30516, -30536, -30555, 4027 -30575, -30594, -30613, -30632, -30651, 4028 -30670, -30689, -30708, -30726, -30745, 4029 -30763, -30782, -30800, -30819, -30837, 4030 -30855, -30873, -30891, -30909, -30926, 4031 -30944, -30962, -30979, -30997, -31014, 4032 -31031, -31048, -31065, -31082, -31099, 4033 -31116, -31133, -31150, -31166, -31183, 4034 -31199, -31216, -31232, -31248, -31264, 4035 -31280, -31296, -31312, -31328, -31343, 4036 -31359, -31374, -31390, -31405, -31421, 4037 -31436, -31451, -31466, -31481, -31496, 4038 -31510, -31525, -31540, -31554, -31568, 4039 -31583, -31597, -31611, -31625, -31639, 4040 -31653, -31667, -31681, -31694, -31708, 4041 -31721, -31735, -31748, -31761, -31775, 4042 -31788, -31801, -31813, -31826, -31839, 4043 -31852, -31864, -31877, -31889, -31901, 4044 -31914, -31926, -31938, -31950, -31961, 4045 -31973, -31985, -31997, -32008, -32020, 4046 -32031, -32042, -32053, -32064, -32075, 4047 -32086, -32097, -32108, -32119, -32129, 4048 -32140, -32150, -32160, -32171, -32181, 4049 -32191, -32201, -32211, -32221, -32230, 4050 -32240, -32249, -32259, -32268, -32278, 4051 -32287, -32296, -32305, -32314, -32323, 4052 -32331, -32340, -32349, -32357, -32366, 4053 -32374, -32382, -32390, -32398, -32406, 4054 -32414, -32422, -32430, -32437, -32445, 4055 -32453, -32460, -32467, -32474, -32482, 4056 -32489, -32495, -32502, -32509, -32516, 4057 -32522, -32529, -32535, -32542, -32548, 4058 -32554, -32560, -32566, -32572, -32578, 4059 -32584, -32589, -32595, -32600, -32606, 4060 -32611, -32616, -32621, -32626, -32631, 4061 -32636, -32641, -32645, -32650, -32655, 4062 -32659, -32663, -32668, -32672, -32676, 4063 -32680, -32684, -32687, -32691, -32695, 4064 -32698, -32702, -32705, -32708, -32712, 4065 -32715, -32718, -32721, -32723, -32726, 4066 -32729, -32731, -32734, -32736, -32739, 4067 -32741, -32743, -32745, -32747, -32749, 4068 -32751, -32752, -32754, -32756, -32757, 4069 -32758, -32760, -32761, -32762, -32763, 4070 -32764, -32765, -32765, -32766, -32766, 4071 -32767, -32767, -32767, -32767, -32767, 4072 32767, 32767, 32767, 32766, 32765, 4073 32763, 32761, 32759, 32756, 32753, 4074 32750, 32746, 32742, 32738, 32733, 4075 32728, 32722, 32717, 32710, 32704, 4076 32697, 32690, 32682, 32674, 32666, 4077 32657, 32648, 32639, 32629, 32619, 4078 32609, 32598, 32587, 32576, 32564, 4079 32552, 32539, 32526, 32513, 32500, 4080 32486, 32472, 32457, 32442, 32427, 4081 32411, 32395, 32379, 32362, 32345, 4082 32328, 32310, 32292, 32274, 32255, 4083 32236, 32217, 32197, 32177, 32157, 4084 32136, 32115, 32093, 32071, 32049, 4085 32027, 32004, 31981, 31957, 31933, 4086 31909, 31884, 31859, 31834, 31809, 4087 31783, 31756, 31730, 31703, 31676, 4088 31648, 31620, 31592, 31563, 31534, 4089 31505, 31475, 31445, 31415, 31384, 4090 31353, 31322, 31290, 31258, 31226, 4091 31193, 31160, 31127, 31093, 31059, 4092 31025, 30990, 30955, 30920, 30884, 4093 30848, 30812, 30775, 30738, 30701, 4094 30663, 30625, 30587, 30548, 30509, 4095 30470, 30430, 30390, 30350, 30309, 4096 30269, 30227, 30186, 30144, 30102, 4097 30059, 30016, 29973, 29930, 29886, 4098 29842, 29797, 29752, 29707, 29662, 4099 29616, 29570, 29524, 29477, 29430, 4100 29383, 29335, 29287, 29239, 29190, 4101 29142, 29092, 29043, 28993, 28943, 4102 28892, 28842, 28791, 28739, 28688, 4103 28636, 28583, 28531, 28478, 28425, 4104 28371, 28317, 28263, 28209, 28154, 4105 28099, 28044, 27988, 27932, 27876, 4106 27820, 27763, 27706, 27648, 27591, 4107 27533, 27474, 27416, 27357, 27298, 4108 27238, 27178, 27118, 27058, 26997, 4109 26936, 26875, 26814, 26752, 26690, 4110 26628, 26565, 26502, 26439, 26375, 4111 26312, 26247, 26183, 26119, 26054, 4112 25988, 25923, 25857, 25791, 25725, 4113 25658, 25592, 25524, 25457, 25389, 4114 25322, 25253, 25185, 25116, 25047, 4115 24978, 24908, 24838, 24768, 24698, 4116 24627, 24557, 24485, 24414, 24342, 4117 24270, 24198, 24126, 24053, 23980, 4118 23907, 23834, 23760, 23686, 23612, 4119 23537, 23462, 23387, 23312, 23237, 4120 23161, 23085, 23009, 22932, 22856, 4121 22779, 22701, 22624, 22546, 22468, 4122 22390, 22312, 22233, 22154, 22075, 4123 21996, 21916, 21836, 21756, 21676, 4124 21595, 21515, 21434, 21352, 21271, 4125 21189, 21107, 21025, 20943, 20860, 4126 20777, 20694, 20611, 20528, 20444, 4127 20360, 20276, 20192, 20107, 20022, 4128 19937, 19852, 19767, 19681, 19595, 4129 19509, 19423, 19336, 19250, 19163, 4130 19076, 18988, 18901, 18813, 18725, 4131 18637, 18549, 18460, 18372, 18283, 4132 18194, 18104, 18015, 17925, 17835, 4133 17745, 17655, 17565, 17474, 17383, 4134 17292, 17201, 17110, 17018, 16927, 4135 16835, 16743, 16650, 16558, 16465, 4136 16372, 16279, 16186, 16093, 15999, 4137 15906, 15812, 15718, 15624, 15529, 4138 15435, 15340, 15245, 15150, 15055, 4139 14960, 14864, 14769, 14673, 14577, 4140 14481, 14385, 14288, 14192, 14095, 4141 13998, 13901, 13804, 13706, 13609, 4142 13511, 13414, 13316, 13218, 13119, 4143 13021, 12923, 12824, 12725, 12626, 4144 12527, 12428, 12329, 12230, 12130, 4145 12030, 11930, 11831, 11730, 11630, 4146 11530, 11430, 11329, 11228, 11128, 4147 11027, 10926, 10824, 10723, 10622, 4148 10520, 10419, 10317, 10215, 10113, 4149 10011, 9909, 9807, 9704, 9602, 4150 9499, 9397, 9294, 9191, 9088, 4151 8985, 8882, 8778, 8675, 8572, 4152 8468, 8364, 8261, 8157, 8053, 4153 7949, 7845, 7741, 7637, 7532, 4154 7428, 7323, 7219, 7114, 7009, 4155 6905, 6800, 6695, 6590, 6485, 4156 6380, 6274, 6169, 6064, 5958, 4157 5853, 5747, 5642, 5536, 5430, 4158 5325, 5219, 5113, 5007, 4901, 4159 4795, 4689, 4583, 4476, 4370, 4160 4264, 4157, 4051, 3945, 3838, 4161 3732, 3625, 3518, 3412, 3305, 4162 3198, 3092, 2985, 2878, 2771, 4163 2664, 2558, 2451, 2344, 2237, 4164 2130, 2023, 1916, 1809, 1702, 4165 1594, 1487, 1380, 1273, 1166, 4166 1059, 952, 844, 737, 630, 4167 523, 416, 308, 201, 94, 4168 -13, -121, -228, -335, -442, 4169 -550, -657, -764, -871, -978, 4170 -1086, -1193, -1300, -1407, -1514, 4171 -1621, -1728, -1835, -1942, -2049, 4172 -2157, -2263, -2370, -2477, -2584, 4173 -2691, -2798, -2905, -3012, -3118, 4174 -3225, -3332, -3439, -3545, -3652, 4175 -3758, -3865, -3971, -4078, -4184, 4176 -4290, -4397, -4503, -4609, -4715, 4177 -4821, -4927, -5033, -5139, -5245, 4178 -5351, -5457, -5562, -5668, -5774, 4179 -5879, -5985, -6090, -6195, -6301, 4180 -6406, -6511, -6616, -6721, -6826, 4181 -6931, -7036, -7140, -7245, -7349, 4182 -7454, -7558, -7663, -7767, -7871, 4183 -7975, -8079, -8183, -8287, -8390, 4184 -8494, -8597, -8701, -8804, -8907, 4185 -9011, -9114, -9217, -9319, -9422, 4186 -9525, -9627, -9730, -9832, -9934, 4187 -10037, -10139, -10241, -10342, -10444, 4188 -10546, -10647, -10748, -10850, -10951, 4189 -11052, -11153, -11253, -11354, -11455, 4190 -11555, -11655, -11756, -11856, -11955, 4191 -12055, -12155, -12254, -12354, -12453, 4192 -12552, -12651, -12750, -12849, -12947, 4193 -13046, -13144, -13242, -13340, -13438, 4194 -13536, -13633, -13731, -13828, -13925, 4195 -14022, -14119, -14216, -14312, -14409, 4196 -14505, -14601, -14697, -14793, -14888, 4197 -14984, -15079, -15174, -15269, -15364, 4198 -15459, -15553, -15647, -15741, -15835, 4199 -15929, -16023, -16116, -16210, -16303, 4200 -16396, -16488, -16581, -16673, -16766, 4201 -16858, -16949, -17041, -17133, -17224, 4202 -17315, -17406, -17497, -17587, -17678, 4203 -17768, -17858, -17948, -18037, -18127, 4204 -18216, -18305, -18394, -18483, -18571, 4205 -18659, -18747, -18835, -18923, -19010, 4206 -19098, -19185, -19271, -19358, -19444, 4207 -19531, -19617, -19702, -19788, -19873, 4208 -19959, -20043, -20128, -20213, -20297, 4209 -20381, -20465, -20549, -20632, -20715, 4210 -20798, -20881, -20963, -21046, -21128, 4211 -21210, -21291, -21373, -21454, -21535, 4212 -21616, -21696, -21776, -21856, -21936, 4213 -22016, -22095, -22174, -22253, -22331, 4214 -22410, -22488, -22566, -22643, -22721, 4215 -22798, -22875, -22951, -23028, -23104, 4216 -23180, -23256, -23331, -23406, -23481, 4217 -23556, -23630, -23704, -23778, -23852, 4218 -23925, -23998, -24071, -24144, -24216, 4219 -24288, -24360, -24432, -24503, -24574, 4220 -24645, -24716, -24786, -24856, -24926, 4221 -24995, -25064, -25133, -25202, -25270, 4222 -25339, -25406, -25474, -25541, -25608, 4223 -25675, -25742, -25808, -25874, -25939, 4224 -26005, -26070, -26135, -26199, -26264, 4225 -26327, -26391, -26455, -26518, -26581, 4226 -26643, -26705, -26767, -26829, -26891, 4227 -26952, -27013, -27073, -27133, -27193, 4228 -27253, -27312, -27372, -27430, -27489, 4229 -27547, -27605, -27663, -27720, -27777, 4230 -27834, -27890, -27946, -28002, -28058, 4231 -28113, -28168, -28223, -28277, -28331, 4232 -28385, -28438, -28491, -28544, -28596, 4233 -28649, -28701, -28752, -28803, -28854, 4234 -28905, -28955, -29006, -29055, -29105, 4235 -29154, -29203, -29251, -29299, -29347, 4236 -29395, -29442, -29489, -29535, -29582, 4237 -29628, -29673, -29719, -29764, -29808, 4238 -29853, -29897, -29941, -29984, -30027, 4239 -30070, -30112, -30154, -30196, -30238, 4240 -30279, -30320, -30360, -30400, -30440, 4241 -30480, -30519, -30558, -30596, -30635, 4242 -30672, -30710, -30747, -30784, -30821, 4243 -30857, -30893, -30929, -30964, -30999, 4244 -31033, -31068, -31102, -31135, -31168, 4245 -31201, -31234, -31266, -31298, -31330, 4246 -31361, -31392, -31422, -31453, -31483, 4247 -31512, -31541, -31570, -31599, -31627, 4248 -31655, -31682, -31710, -31737, -31763, 4249 -31789, -31815, -31841, -31866, -31891, 4250 -31915, -31939, -31963, -31986, -32010, 4251 -32032, -32055, -32077, -32099, -32120, 4252 -32141, -32162, -32182, -32202, -32222, 4253 -32241, -32260, -32279, -32297, -32315, 4254 -32333, -32350, -32367, -32383, -32399, 4255 -32415, -32431, -32446, -32461, -32475, 4256 -32489, -32503, -32517, -32530, -32542, 4257 -32555, -32567, -32579, -32590, -32601, 4258 -32612, -32622, -32632, -32641, -32651, 4259 -32659, -32668, -32676, -32684, -32692, 4260 -32699, -32706, -32712, -32718, -32724, 4261 -32729, -32734, -32739, -32743, -32747, 4262 -32751, -32754, -32757, -32760, -32762, 4263 -32764, -32765, -32767, -32767, -32767, 4264 32767, 32767, 32765, 32761, 32756, 4265 32750, 32742, 32732, 32722, 32710, 4266 32696, 32681, 32665, 32647, 32628, 4267 32608, 32586, 32562, 32538, 32512, 4268 32484, 32455, 32425, 32393, 32360, 4269 32326, 32290, 32253, 32214, 32174, 4270 32133, 32090, 32046, 32001, 31954, 4271 31906, 31856, 31805, 31753, 31700, 4272 31645, 31588, 31530, 31471, 31411, 4273 31349, 31286, 31222, 31156, 31089, 4274 31020, 30951, 30880, 30807, 30733, 4275 30658, 30582, 30504, 30425, 30345, 4276 30263, 30181, 30096, 30011, 29924, 4277 29836, 29747, 29656, 29564, 29471, 4278 29377, 29281, 29184, 29086, 28987, 4279 28886, 28784, 28681, 28577, 28471, 4280 28365, 28257, 28147, 28037, 27925, 4281 27812, 27698, 27583, 27467, 27349, 4282 27231, 27111, 26990, 26868, 26744, 4283 26620, 26494, 26367, 26239, 26110, 4284 25980, 25849, 25717, 25583, 25449, 4285 25313, 25176, 25038, 24900, 24760, 4286 24619, 24477, 24333, 24189, 24044, 4287 23898, 23751, 23602, 23453, 23303, 4288 23152, 22999, 22846, 22692, 22537, 4289 22380, 22223, 22065, 21906, 21746, 4290 21585, 21423, 21261, 21097, 20933, 4291 20767, 20601, 20434, 20265, 20096, 4292 19927, 19756, 19584, 19412, 19239, 4293 19065, 18890, 18714, 18538, 18361, 4294 18183, 18004, 17824, 17644, 17463, 4295 17281, 17098, 16915, 16731, 16546, 4296 16361, 16175, 15988, 15800, 15612, 4297 15423, 15234, 15043, 14852, 14661, 4298 14469, 14276, 14083, 13889, 13694, 4299 13499, 13303, 13107, 12910, 12713, 4300 12515, 12317, 12118, 11918, 11718, 4301 11517, 11316, 11115, 10913, 10710, 4302 10508, 10304, 10100, 9896, 9691, 4303 9486, 9281, 9075, 8869, 8662, 4304 8455, 8248, 8040, 7832, 7623, 4305 7415, 7206, 6996, 6787, 6577, 4306 6366, 6156, 5945, 5734, 5523, 4307 5311, 5100, 4888, 4675, 4463, 4308 4251, 4038, 3825, 3612, 3399, 4309 3185, 2972, 2758, 2544, 2330, 4310 2116, 1902, 1688, 1474, 1260, 4311 1045, 831, 617, 402, 188, 4312 -27, -241, -456, -670, -885, 4313 -1099, -1313, -1528, -1742, -1956, 4314 -2170, -2384, -2598, -2811, -3025, 4315 -3239, -3452, -3665, -3878, -4091, 4316 -4304, -4516, -4728, -4941, -5153, 4317 -5364, -5576, -5787, -5998, -6209, 4318 -6419, -6629, -6839, -7049, -7258, 4319 -7467, -7676, -7884, -8092, -8300, 4320 -8507, -8714, -8920, -9127, -9332, 4321 -9538, -9743, -9947, -10151, -10355, 4322 -10558, -10761, -10963, -11165, -11367, 4323 -11568, -11768, -11968, -12167, -12366, 4324 -12565, -12762, -12960, -13156, -13352, 4325 -13548, -13743, -13937, -14131, -14324, 4326 -14517, -14709, -14900, -15091, -15281, 4327 -15470, -15659, -15847, -16035, -16221, 4328 -16407, -16593, -16777, -16961, -17144, 4329 -17326, -17508, -17689, -17869, -18049, 4330 -18227, -18405, -18582, -18758, -18934, 4331 -19108, -19282, -19455, -19627, -19799, 4332 -19969, -20139, -20308, -20475, -20642, 4333 -20809, -20974, -21138, -21301, -21464, 4334 -21626, -21786, -21946, -22105, -22263, 4335 -22420, -22575, -22730, -22884, -23037, 4336 -23189, -23340, -23490, -23640, -23788, 4337 -23935, -24080, -24225, -24369, -24512, 4338 -24654, -24795, -24934, -25073, -25211, 4339 -25347, -25482, -25617, -25750, -25882, 4340 -26013, -26143, -26272, -26399, -26526, 4341 -26651, -26775, -26898, -27020, -27141, 4342 -27260, -27379, -27496, -27612, -27727, 4343 -27841, -27953, -28065, -28175, -28284, 4344 -28391, -28498, -28603, -28707, -28810, 4345 -28911, -29012, -29111, -29209, -29305, 4346 -29401, -29495, -29587, -29679, -29769, 4347 -29858, -29946, -30032, -30118, -30201, 4348 -30284, -30365, -30445, -30524, -30601, 4349 -30677, -30752, -30825, -30897, -30968, 4350 -31038, -31106, -31172, -31238, -31302, 4351 -31365, -31426, -31486, -31545, -31602, 4352 -31658, -31713, -31766, -31818, -31869, 4353 -31918, -31966, -32012, -32058, -32101, 4354 -32144, -32185, -32224, -32262, -32299, 4355 -32335, -32369, -32401, -32433, -32463, 4356 -32491, -32518, -32544, -32568, -32591, 4357 -32613, -32633, -32652, -32669, -32685, 4358 -32700, -32713, -32724, -32735, -32744, 4359 -32751, -32757, -32762, -32766, -32767, 4360 32767, 32764, 32755, 32741, 32720, 4361 32694, 32663, 32626, 32583, 32535, 4362 32481, 32421, 32356, 32286, 32209, 4363 32128, 32041, 31948, 31850, 31747, 4364 31638, 31523, 31403, 31278, 31148, 4365 31012, 30871, 30724, 30572, 30415, 4366 30253, 30086, 29913, 29736, 29553, 4367 29365, 29172, 28974, 28771, 28564, 4368 28351, 28134, 27911, 27684, 27452, 4369 27216, 26975, 26729, 26478, 26223, 4370 25964, 25700, 25432, 25159, 24882, 4371 24601, 24315, 24026, 23732, 23434, 4372 23133, 22827, 22517, 22204, 21886, 4373 21565, 21240, 20912, 20580, 20244, 4374 19905, 19563, 19217, 18868, 18516, 4375 18160, 17802, 17440, 17075, 16708, 4376 16338, 15964, 15588, 15210, 14829, 4377 14445, 14059, 13670, 13279, 12886, 4378 12490, 12093, 11693, 11291, 10888, 4379 10482, 10075, 9666, 9255, 8843, 4380 8429, 8014, 7597, 7180, 6760, 4381 6340, 5919, 5496, 5073, 4649, 4382 4224, 3798, 3372, 2945, 2517, 4383 2090, 1661, 1233, 804, 375, 4384 -54, -483, -911, -1340, -1768, 4385 -2197, -2624, -3052, -3479, -3905, 4386 -4330, -4755, -5179, -5602, -6024, 4387 -6445, -6865, -7284, -7702, -8118, 4388 -8533, -8946, -9358, -9768, -10177, 4389 -10584, -10989, -11392, -11793, -12192, 4390 -12589, -12984, -13377, -13767, -14155, 4391 -14541, -14924, -15305, -15683, -16058, 4392 -16430, -16800, -17167, -17531, -17892, 4393 -18249, -18604, -18956, -19304, -19649, 4394 -19990, -20329, -20663, -20994, -21322, 4395 -21646, -21966, -22282, -22595, -22904, 4396 -23208, -23509, -23806, -24099, -24387, 4397 -24672, -24952, -25228, -25499, -25766, 4398 -26029, -26288, -26541, -26791, -27035, 4399 -27275, -27511, -27741, -27967, -28188, 4400 -28405, -28616, -28823, -29024, -29221, 4401 -29412, -29599, -29780, -29957, -30128, 4402 -30294, -30455, -30611, -30761, -30906, 4403 -31046, -31181, -31310, -31434, -31552, 4404 -31665, -31773, -31875, -31972, -32063, 4405 -32149, -32229, -32304, -32373, -32437, 4406 -32495, -32547, -32594, -32635, -32671, 4407 -32701, -32726, -32745, -32758, -32766, 4408 #endif 4409 }; 4410 #endif 4411 4412 static const CELTMode mode96000_1920_240 = { 4413 96000, /* Fs */ 4414 240, /* overlap */ 4415 21, /* nbEBands */ 4416 21, /* effEBands */ 4417 {30245, 7209, 6197, 5415, }, /* preemph */ 4418 eband5ms, /* eBands */ 4419 3, /* maxLM */ 4420 8, /* nbShortMdcts */ 4421 240, /* shortMdctSize */ 4422 11, /* nbAllocVectors */ 4423 band_allocation, /* allocVectors */ 4424 logN400, /* logN */ 4425 window240, /* window */ 4426 {3840, 3, {&fft_state96000_1920_0, &fft_state96000_1920_1, &fft_state96000_1920_2, &fft_state96000_1920_3, }, mdct_twiddles1920}, /* mdct */ 4427 {392, cache_index50, cache_bits50, cache_caps50}, /* cache */ 4428 #ifdef ENABLE_QEXT 4429 {86, qext_cache_index50, qext_cache_bits50, qext_cache_caps50}, /* qext_cache */ 4430 #endif 4431 }; 4432 #endif /* ENABLE_QEXT */ 4433 4434 /* List of all the available modes */ 4435 #ifdef ENABLE_QEXT 4436 #define TOTAL_MODES 2 4437 static const CELTMode * const static_mode_list[TOTAL_MODES] = { 4438 &mode48000_960_120, 4439 &mode96000_1920_240, 4440 }; 4441 #else 4442 #define TOTAL_MODES 1 4443 static const CELTMode * const static_mode_list[TOTAL_MODES] = { 4444 &mode48000_960_120, 4445 }; 4446 #endif