From 2e5b1b1a9cab0ff19170815fda13f40268126027 Mon Sep 17 00:00:00 2001 From: Wincent Balin Date: Thu, 3 Jun 2010 22:03:37 +0000 Subject: pdbox: Applied several changes by Buschel. Reintroduced compilation for iPods. Changes by Buschel: * Reduced footprint by making cosine table of size 1^13 instead of 1^15 * Corrected interpolation in the cos~ object * Optimized multiplication on ARM platforms git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26534 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/SUBDIRS | 4 +- apps/plugins/pdbox/PDa/intern/cos_table.c | 1037 ++++++++++++++++++++++++++++- apps/plugins/pdbox/PDa/intern/cos_table.h | 4 + apps/plugins/pdbox/PDa/intern/cos~.c | 12 +- apps/plugins/pdbox/PDa/src/m_fixed.h | 16 + 5 files changed, 1070 insertions(+), 3 deletions(-) (limited to 'apps') diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS index 1d0d76e9a3..a6b5cda363 100644 --- a/apps/plugins/SUBDIRS +++ b/apps/plugins/SUBDIRS @@ -74,7 +74,9 @@ midi /* beatbox */ #if defined(IRIVER_H300_SERIES) || defined(IRIVER_H100_SERIES) || \ - (CONFIG_KEYPAD == SANSA_FUZE_PAD) + (CONFIG_KEYPAD == SANSA_FUZE_PAD) || \ + (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ + (CONFIG_KEYPAD == IPOD_1G2G_PAD) /* PDBox is confirmed to run on these player models. */ pdbox #endif diff --git a/apps/plugins/pdbox/PDa/intern/cos_table.c b/apps/plugins/pdbox/PDa/intern/cos_table.c index df2dc61c40..cd014cb084 100644 --- a/apps/plugins/pdbox/PDa/intern/cos_table.c +++ b/apps/plugins/pdbox/PDa/intern/cos_table.c @@ -1,4 +1,1037 @@ #include "../src/m_pd.h" + +#ifdef ROCKBOX +#include "plugin.h" + +t_sample cos_table[] ICONST_ATTR = +{ + 262144, 262144, 262144, 262143, 262143, 262142, 262141, 262140, + 262139, 262138, 262136, 262135, 262133, 262131, 262129, 262127, + 262124, 262122, 262119, 262116, 262113, 262110, 262107, 262103, + 262100, 262096, 262092, 262088, 262084, 262079, 262075, 262070, + 262065, 262060, 262055, 262050, 262044, 262038, 262033, 262027, + 262021, 262014, 262008, 262001, 261995, 261988, 261981, 261974, + 261966, 261959, 261951, 261943, 261936, 261927, 261919, 261911, + 261902, 261894, 261885, 261876, 261866, 261857, 261848, 261838, + 261828, 261818, 261808, 261798, 261788, 261777, 261766, 261755, + 261744, 261733, 261722, 261710, 261699, 261687, 261675, 261663, + 261651, 261638, 261626, 261613, 261600, 261587, 261574, 261561, + 261547, 261533, 261520, 261506, 261492, 261477, 261463, 261448, + 261434, 261419, 261404, 261389, 261373, 261358, 261342, 261326, + 261310, 261294, 261278, 261262, 261245, 261228, 261212, 261195, + 261177, 261160, 261143, 261125, 261107, 261089, 261071, 261053, + 261034, 261016, 260997, 260978, 260959, 260940, 260921, 260901, + 260882, 260862, 260842, 260822, 260802, 260781, 260761, 260740, + 260719, 260698, 260677, 260656, 260634, 260613, 260591, 260569, + 260547, 260525, 260502, 260480, 260457, 260434, 260411, 260388, + 260365, 260341, 260317, 260294, 260270, 260246, 260221, 260197, + 260173, 260148, 260123, 260098, 260073, 260048, 260022, 259997, + 259971, 259945, 259919, 259893, 259866, 259840, 259813, 259786, + 259759, 259732, 259705, 259677, 259650, 259622, 259594, 259566, + 259538, 259509, 259481, 259452, 259423, 259395, 259365, 259336, + 259307, 259277, 259247, 259217, 259187, 259157, 259127, 259096, + 259066, 259035, 259004, 258973, 258942, 258910, 258879, 258847, + 258815, 258783, 258751, 258719, 258686, 258654, 258621, 258588, + 258555, 258522, 258488, 258455, 258421, 258387, 258353, 258319, + 258285, 258250, 258216, 258181, 258146, 258111, 258076, 258040, + 258005, 257969, 257933, 257897, 257861, 257825, 257789, 257752, + 257715, 257678, 257641, 257604, 257567, 257529, 257492, 257454, + 257416, 257378, 257340, 257301, 257263, 257224, 257185, 257146, + 257107, 257068, 257028, 256989, 256949, 256909, 256869, 256829, + 256788, 256748, 256707, 256666, 256625, 256584, 256543, 256502, + 256460, 256418, 256376, 256334, 256292, 256250, 256207, 256165, + 256122, 256079, 256036, 255993, 255949, 255906, 255862, 255818, + 255774, 255730, 255686, 255642, 255597, 255552, 255507, 255462, + 255417, 255372, 255326, 255281, 255235, 255189, 255143, 255097, + 255050, 255004, 254957, 254910, 254863, 254816, 254769, 254721, + 254674, 254626, 254578, 254530, 254482, 254434, 254385, 254337, + 254288, 254239, 254190, 254141, 254091, 254042, 253992, 253942, + 253892, 253842, 253792, 253741, 253691, 253640, 253589, 253538, + 253487, 253436, 253384, 253333, 253281, 253229, 253177, 253125, + 253072, 253020, 252967, 252914, 252861, 252808, 252755, 252702, + 252648, 252594, 252541, 252487, 252432, 252378, 252324, 252269, + 252214, 252159, 252104, 252049, 251994, 251938, 251883, 251827, + 251771, 251715, 251659, 251602, 251546, 251489, 251432, 251375, + 251318, 251261, 251204, 251146, 251088, 251031, 250973, 250914, + 250856, 250798, 250739, 250680, 250622, 250562, 250503, 250444, + 250385, 250325, 250265, 250205, 250145, 250085, 250025, 249964, + 249903, 249843, 249782, 249721, 249659, 249598, 249536, 249475, + 249413, 249351, 249289, 249227, 249164, 249102, 249039, 248976, + 248913, 248850, 248787, 248723, 248660, 248596, 248532, 248468, + 248404, 248340, 248275, 248211, 248146, 248081, 248016, 247951, + 247885, 247820, 247754, 247688, 247622, 247556, 247490, 247424, + 247357, 247291, 247224, 247157, 247090, 247023, 246955, 246888, + 246820, 246752, 246684, 246616, 246548, 246480, 246411, 246342, + 246274, 246205, 246136, 246066, 245997, 245927, 245858, 245788, + 245718, 245648, 245577, 245507, 245436, 245366, 245295, 245224, + 245153, 245081, 245010, 244938, 244867, 244795, 244723, 244651, + 244578, 244506, 244433, 244361, 244288, 244215, 244142, 244068, + 243995, 243921, 243848, 243774, 243700, 243626, 243551, 243477, + 243402, 243328, 243253, 243178, 243103, 243027, 242952, 242876, + 242800, 242725, 242649, 242572, 242496, 242420, 242343, 242266, + 242189, 242112, 242035, 241958, 241881, 241803, 241725, 241647, + 241569, 241491, 241413, 241334, 241256, 241177, 241098, 241019, + 240940, 240861, 240781, 240702, 240622, 240542, 240462, 240382, + 240302, 240221, 240141, 240060, 239979, 239898, 239817, 239736, + 239655, 239573, 239491, 239410, 239328, 239245, 239163, 239081, + 238998, 238916, 238833, 238750, 238667, 238583, 238500, 238417, + 238333, 238249, 238165, 238081, 237997, 237913, 237828, 237743, + 237659, 237574, 237489, 237403, 237318, 237233, 237147, 237061, + 236975, 236889, 236803, 236717, 236630, 236544, 236457, 236370, + 236283, 236196, 236109, 236021, 235934, 235846, 235758, 235670, + 235582, 235494, 235405, 235317, 235228, 235139, 235050, 234961, + 234872, 234783, 234693, 234604, 234514, 234424, 234334, 234244, + 234153, 234063, 233972, 233882, 233791, 233700, 233609, 233517, + 233426, 233334, 233243, 233151, 233059, 232967, 232874, 232782, + 232689, 232597, 232504, 232411, 232318, 232225, 232131, 232038, + 231944, 231850, 231757, 231663, 231568, 231474, 231380, 231285, + 231190, 231096, 231001, 230905, 230810, 230715, 230619, 230524, + 230428, 230332, 230236, 230140, 230043, 229947, 229850, 229753, + 229657, 229560, 229462, 229365, 229268, 229170, 229072, 228975, + 228877, 228779, 228680, 228582, 228483, 228385, 228286, 228187, + 228088, 227989, 227890, 227790, 227691, 227591, 227491, 227391, + 227291, 227191, 227090, 226990, 226889, 226788, 226688, 226586, + 226485, 226384, 226283, 226181, 226079, 225977, 225875, 225773, + 225671, 225569, 225466, 225364, 225261, 225158, 225055, 224952, + 224848, 224745, 224641, 224538, 224434, 224330, 224226, 224122, + 224017, 223913, 223808, 223703, 223599, 223493, 223388, 223283, + 223178, 223072, 222966, 222861, 222755, 222649, 222542, 222436, + 222330, 222223, 222116, 222010, 221903, 221795, 221688, 221581, + 221473, 221366, 221258, 221150, 221042, 220934, 220826, 220717, + 220609, 220500, 220391, 220282, 220173, 220064, 219955, 219845, + 219736, 219626, 219516, 219406, 219296, 219186, 219075, 218965, + 218854, 218744, 218633, 218522, 218411, 218299, 218188, 218076, + 217965, 217853, 217741, 217629, 217517, 217405, 217292, 217180, + 217067, 216954, 216841, 216728, 216615, 216502, 216388, 216275, + 216161, 216047, 215933, 215819, 215705, 215591, 215476, 215362, + 215247, 215132, 215017, 214902, 214787, 214672, 214556, 214441, + 214325, 214209, 214093, 213977, 213861, 213745, 213628, 213511, + 213395, 213278, 213161, 213044, 212927, 212809, 212692, 212574, + 212456, 212339, 212221, 212103, 211984, 211866, 211748, 211629, + 211510, 211391, 211272, 211153, 211034, 210915, 210795, 210676, + 210556, 210436, 210316, 210196, 210076, 209956, 209835, 209715, + 209594, 209473, 209352, 209231, 209110, 208989, 208867, 208746, + 208624, 208502, 208380, 208258, 208136, 208014, 207891, 207769, + 207646, 207523, 207400, 207277, 207154, 207031, 206907, 206784, + 206660, 206537, 206413, 206289, 206165, 206040, 205916, 205791, + 205667, 205542, 205417, 205292, 205167, 205042, 204917, 204791, + 204666, 204540, 204414, 204288, 204162, 204036, 203910, 203783, + 203657, 203530, 203403, 203276, 203149, 203022, 202895, 202768, + 202640, 202512, 202385, 202257, 202129, 202001, 201873, 201744, + 201616, 201487, 201359, 201230, 201101, 200972, 200843, 200713, + 200584, 200454, 200325, 200195, 200065, 199935, 199805, 199675, + 199545, 199414, 199284, 199153, 199022, 198891, 198760, 198629, + 198498, 198366, 198235, 198103, 197972, 197840, 197708, 197576, + 197443, 197311, 197179, 197046, 196913, 196781, 196648, 196515, + 196382, 196248, 196115, 195982, 195848, 195714, 195580, 195446, + 195312, 195178, 195044, 194910, 194775, 194640, 194506, 194371, + 194236, 194101, 193966, 193830, 193695, 193559, 193424, 193288, + 193152, 193016, 192880, 192744, 192607, 192471, 192334, 192198, + 192061, 191924, 191787, 191650, 191513, 191375, 191238, 191100, + 190963, 190825, 190687, 190549, 190411, 190272, 190134, 189996, + 189857, 189718, 189580, 189441, 189302, 189162, 189023, 188884, + 188744, 188605, 188465, 188325, 188185, 188045, 187905, 187765, + 187625, 187484, 187343, 187203, 187062, 186921, 186780, 186639, + 186498, 186356, 186215, 186073, 185932, 185790, 185648, 185506, + 185364, 185222, 185079, 184937, 184794, 184652, 184509, 184366, + 184223, 184080, 183937, 183793, 183650, 183506, 183363, 183219, + 183075, 182931, 182787, 182643, 182499, 182354, 182210, 182065, + 181920, 181776, 181631, 181486, 181341, 181195, 181050, 180904, + 180759, 180613, 180467, 180322, 180176, 180029, 179883, 179737, + 179591, 179444, 179297, 179151, 179004, 178857, 178710, 178563, + 178415, 178268, 178121, 177973, 177825, 177678, 177530, 177382, + 177234, 177085, 176937, 176789, 176640, 176492, 176343, 176194, + 176045, 175896, 175747, 175598, 175448, 175299, 175149, 175000, + 174850, 174700, 174550, 174400, 174250, 174100, 173949, 173799, + 173648, 173498, 173347, 173196, 173045, 172894, 172743, 172591, + 172440, 172289, 172137, 171985, 171834, 171682, 171530, 171378, + 171225, 171073, 170921, 170768, 170616, 170463, 170310, 170157, + 170004, 169851, 169698, 169545, 169391, 169238, 169084, 168930, + 168777, 168623, 168469, 168315, 168160, 168006, 167852, 167697, + 167543, 167388, 167233, 167078, 166923, 166768, 166613, 166458, + 166302, 166147, 165991, 165836, 165680, 165524, 165368, 165212, + 165056, 164900, 164743, 164587, 164430, 164274, 164117, 163960, + 163803, 163646, 163489, 163332, 163174, 163017, 162860, 162702, + 162544, 162386, 162229, 162071, 161913, 161754, 161596, 161438, + 161279, 161121, 160962, 160803, 160644, 160486, 160327, 160167, + 160008, 159849, 159689, 159530, 159370, 159211, 159051, 158891, + 158731, 158571, 158411, 158251, 158090, 157930, 157769, 157609, + 157448, 157287, 157126, 156965, 156804, 156643, 156482, 156320, + 156159, 155997, 155836, 155674, 155512, 155350, 155188, 155026, + 154864, 154702, 154539, 154377, 154214, 154052, 153889, 153726, + 153563, 153400, 153237, 153074, 152911, 152748, 152584, 152421, + 152257, 152093, 151929, 151765, 151601, 151437, 151273, 151109, + 150945, 150780, 150616, 150451, 150286, 150122, 149957, 149792, + 149627, 149462, 149296, 149131, 148966, 148800, 148635, 148469, + 148303, 148137, 147971, 147805, 147639, 147473, 147307, 147141, + 146974, 146808, 146641, 146474, 146307, 146141, 145974, 145807, + 145639, 145472, 145305, 145137, 144970, 144802, 144635, 144467, + 144299, 144131, 143963, 143795, 143627, 143459, 143291, 143122, + 142954, 142785, 142616, 142448, 142279, 142110, 141941, 141772, + 141603, 141433, 141264, 141095, 140925, 140756, 140586, 140416, + 140246, 140077, 139907, 139736, 139566, 139396, 139226, 139055, + 138885, 138714, 138544, 138373, 138202, 138031, 137860, 137689, + 137518, 137347, 137176, 137004, 136833, 136661, 136490, 136318, + 136146, 135974, 135802, 135630, 135458, 135286, 135114, 134941, + 134769, 134596, 134424, 134251, 134078, 133906, 133733, 133560, + 133387, 133214, 133040, 132867, 132694, 132520, 132347, 132173, + 132000, 131826, 131652, 131478, 131304, 131130, 130956, 130782, + 130607, 130433, 130259, 130084, 129909, 129735, 129560, 129385, + 129210, 129035, 128860, 128685, 128510, 128335, 128159, 127984, + 127808, 127633, 127457, 127281, 127106, 126930, 126754, 126578, + 126402, 126225, 126049, 125873, 125696, 125520, 125343, 125167, + 124990, 124813, 124636, 124460, 124283, 124105, 123928, 123751, + 123574, 123396, 123219, 123042, 122864, 122686, 122509, 122331, + 122153, 121975, 121797, 121619, 121441, 121263, 121084, 120906, + 120727, 120549, 120370, 120192, 120013, 119834, 119655, 119476, + 119297, 119118, 118939, 118760, 118581, 118401, 118222, 118042, + 117863, 117683, 117504, 117324, 117144, 116964, 116784, 116604, + 116424, 116244, 116064, 115883, 115703, 115522, 115342, 115161, + 114981, 114800, 114619, 114438, 114257, 114076, 113895, 113714, + 113533, 113352, 113170, 112989, 112808, 112626, 112444, 112263, + 112081, 111899, 111717, 111535, 111353, 111171, 110989, 110807, + 110625, 110443, 110260, 110078, 109895, 109713, 109530, 109347, + 109165, 108982, 108799, 108616, 108433, 108250, 108067, 107883, + 107700, 107517, 107333, 107150, 106966, 106783, 106599, 106415, + 106232, 106048, 105864, 105680, 105496, 105312, 105128, 104943, + 104759, 104575, 104390, 104206, 104021, 103837, 103652, 103467, + 103283, 103098, 102913, 102728, 102543, 102358, 102173, 101988, + 101802, 101617, 101432, 101246, 101061, 100875, 100690, 100504, + 100318, 100132, 99947, 99761, 99575, 99389, 99203, 99016, + 98830, 98644, 98458, 98271, 98085, 97898, 97712, 97525, + 97339, 97152, 96965, 96778, 96591, 96404, 96217, 96030, + 95843, 95656, 95469, 95282, 95094, 94907, 94719, 94532, + 94344, 94157, 93969, 93781, 93594, 93406, 93218, 93030, + 92842, 92654, 92466, 92278, 92089, 91901, 91713, 91524, + 91336, 91147, 90959, 90770, 90582, 90393, 90204, 90015, + 89826, 89638, 89449, 89260, 89070, 88881, 88692, 88503, + 88314, 88124, 87935, 87745, 87556, 87366, 87177, 86987, + 86798, 86608, 86418, 86228, 86038, 85848, 85658, 85468, + 85278, 85088, 84898, 84708, 84517, 84327, 84136, 83946, + 83756, 83565, 83374, 83184, 82993, 82802, 82612, 82421, + 82230, 82039, 81848, 81657, 81466, 81275, 81083, 80892, + 80701, 80510, 80318, 80127, 79935, 79744, 79552, 79361, + 79169, 78977, 78786, 78594, 78402, 78210, 78018, 77826, + 77634, 77442, 77250, 77058, 76866, 76673, 76481, 76289, + 76096, 75904, 75711, 75519, 75326, 75134, 74941, 74748, + 74556, 74363, 74170, 73977, 73784, 73591, 73398, 73205, + 73012, 72819, 72626, 72433, 72239, 72046, 71853, 71659, + 71466, 71273, 71079, 70886, 70692, 70498, 70305, 70111, + 69917, 69723, 69530, 69336, 69142, 68948, 68754, 68560, + 68366, 68171, 67977, 67783, 67589, 67395, 67200, 67006, + 66812, 66617, 66423, 66228, 66034, 65839, 65644, 65450, + 65255, 65060, 64865, 64671, 64476, 64281, 64086, 63891, + 63696, 63501, 63306, 63111, 62915, 62720, 62525, 62330, + 62134, 61939, 61744, 61548, 61353, 61157, 60962, 60766, + 60570, 60375, 60179, 59983, 59788, 59592, 59396, 59200, + 59004, 58808, 58613, 58417, 58221, 58024, 57828, 57632, + 57436, 57240, 57044, 56847, 56651, 56455, 56258, 56062, + 55866, 55669, 55473, 55276, 55080, 54883, 54686, 54490, + 54293, 54096, 53900, 53703, 53506, 53309, 53112, 52915, + 52718, 52521, 52324, 52127, 51930, 51733, 51536, 51339, + 51142, 50945, 50747, 50550, 50353, 50155, 49958, 49761, + 49563, 49366, 49168, 48971, 48773, 48576, 48378, 48180, + 47983, 47785, 47587, 47390, 47192, 46994, 46796, 46598, + 46401, 46203, 46005, 45807, 45609, 45411, 45213, 45015, + 44817, 44619, 44420, 44222, 44024, 43826, 43628, 43429, + 43231, 43033, 42834, 42636, 42438, 42239, 42041, 41842, + 41644, 41445, 41247, 41048, 40849, 40651, 40452, 40254, + 40055, 39856, 39657, 39459, 39260, 39061, 38862, 38663, + 38465, 38266, 38067, 37868, 37669, 37470, 37271, 37072, + 36873, 36674, 36475, 36275, 36076, 35877, 35678, 35479, + 35280, 35080, 34881, 34682, 34482, 34283, 34084, 33884, + 33685, 33486, 33286, 33087, 32887, 32688, 32488, 32289, + 32089, 31890, 31690, 31490, 31291, 31091, 30892, 30692, + 30492, 30293, 30093, 29893, 29693, 29494, 29294, 29094, + 28894, 28694, 28494, 28295, 28095, 27895, 27695, 27495, + 27295, 27095, 26895, 26695, 26495, 26295, 26095, 25895, + 25695, 25495, 25294, 25094, 24894, 24694, 24494, 24294, + 24093, 23893, 23693, 23493, 23292, 23092, 22892, 22692, + 22491, 22291, 22091, 21890, 21690, 21489, 21289, 21089, + 20888, 20688, 20487, 20287, 20086, 19886, 19686, 19485, + 19285, 19084, 18883, 18683, 18482, 18282, 18081, 17881, + 17680, 17479, 17279, 17078, 16878, 16677, 16476, 16276, + 16075, 15874, 15673, 15473, 15272, 15071, 14871, 14670, + 14469, 14268, 14068, 13867, 13666, 13465, 13264, 13064, + 12863, 12662, 12461, 12260, 12059, 11859, 11658, 11457, + 11256, 11055, 10854, 10653, 10452, 10252, 10051, 9850, + 9649, 9448, 9247, 9046, 8845, 8644, 8443, 8242, + 8041, 7840, 7639, 7438, 7237, 7036, 6835, 6634, + 6433, 6232, 6031, 5830, 5629, 5428, 5227, 5026, + 4825, 4624, 4423, 4222, 4021, 3820, 3619, 3418, + 3217, 3016, 2815, 2614, 2413, 2212, 2011, 1810, + 1608, 1407, 1206, 1005, 804, 603, 402, 201, + 0, -200, -401, -602, -803, -1004, -1205, -1406, + -1607, -1809, -2010, -2211, -2412, -2613, -2814, -3015, + -3216, -3417, -3618, -3819, -4020, -4221, -4422, -4623, + -4824, -5025, -5226, -5427, -5628, -5829, -6030, -6231, + -6432, -6633, -6834, -7035, -7236, -7437, -7638, -7839, + -8040, -8241, -8442, -8643, -8844, -9045, -9246, -9447, + -9648, -9849, -10050, -10251, -10451, -10652, -10853, -11054, + -11255, -11456, -11657, -11858, -12058, -12259, -12460, -12661, + -12862, -13063, -13263, -13464, -13665, -13866, -14067, -14267, + -14468, -14669, -14870, -15070, -15271, -15472, -15672, -15873, + -16074, -16275, -16475, -16676, -16877, -17077, -17278, -17478, + -17679, -17880, -18080, -18281, -18481, -18682, -18882, -19083, + -19284, -19484, -19685, -19885, -20085, -20286, -20486, -20687, + -20887, -21088, -21288, -21488, -21689, -21889, -22090, -22290, + -22490, -22691, -22891, -23091, -23291, -23492, -23692, -23892, + -24092, -24293, -24493, -24693, -24893, -25093, -25293, -25494, + -25694, -25894, -26094, -26294, -26494, -26694, -26894, -27094, + -27294, -27494, -27694, -27894, -28094, -28294, -28493, -28693, + -28893, -29093, -29293, -29493, -29692, -29892, -30092, -30292, + -30491, -30691, -30891, -31090, -31290, -31489, -31689, -31889, + -32088, -32288, -32487, -32687, -32886, -33086, -33285, -33485, + -33684, -33883, -34083, -34282, -34481, -34681, -34880, -35079, + -35279, -35478, -35677, -35876, -36075, -36274, -36474, -36673, + -36872, -37071, -37270, -37469, -37668, -37867, -38066, -38265, + -38464, -38662, -38861, -39060, -39259, -39458, -39656, -39855, + -40054, -40253, -40451, -40650, -40848, -41047, -41246, -41444, + -41643, -41841, -42040, -42238, -42437, -42635, -42833, -43032, + -43230, -43428, -43627, -43825, -44023, -44221, -44419, -44618, + -44816, -45014, -45212, -45410, -45608, -45806, -46004, -46202, + -46400, -46597, -46795, -46993, -47191, -47389, -47586, -47784, + -47982, -48179, -48377, -48575, -48772, -48970, -49167, -49365, + -49562, -49760, -49957, -50154, -50352, -50549, -50746, -50944, + -51141, -51338, -51535, -51732, -51929, -52126, -52323, -52520, + -52717, -52914, -53111, -53308, -53505, -53702, -53899, -54095, + -54292, -54489, -54685, -54882, -55079, -55275, -55472, -55668, + -55865, -56061, -56257, -56454, -56650, -56846, -57043, -57239, + -57435, -57631, -57827, -58023, -58220, -58416, -58612, -58807, + -59003, -59199, -59395, -59591, -59787, -59982, -60178, -60374, + -60569, -60765, -60961, -61156, -61352, -61547, -61743, -61938, + -62133, -62329, -62524, -62719, -62914, -63110, -63305, -63500, + -63695, -63890, -64085, -64280, -64475, -64670, -64864, -65059, + -65254, -65449, -65643, -65838, -66033, -66227, -66422, -66616, + -66811, -67005, -67199, -67394, -67588, -67782, -67976, -68170, + -68365, -68559, -68753, -68947, -69141, -69335, -69529, -69722, + -69916, -70110, -70304, -70497, -70691, -70885, -71078, -71272, + -71465, -71658, -71852, -72045, -72238, -72432, -72625, -72818, + -73011, -73204, -73397, -73590, -73783, -73976, -74169, -74362, + -74555, -74747, -74940, -75133, -75325, -75518, -75710, -75903, + -76095, -76288, -76480, -76672, -76865, -77057, -77249, -77441, + -77633, -77825, -78017, -78209, -78401, -78593, -78785, -78976, + -79168, -79360, -79551, -79743, -79934, -80126, -80317, -80509, + -80700, -80891, -81082, -81274, -81465, -81656, -81847, -82038, + -82229, -82420, -82611, -82801, -82992, -83183, -83373, -83564, + -83755, -83945, -84135, -84326, -84516, -84707, -84897, -85087, + -85277, -85467, -85657, -85847, -86037, -86227, -86417, -86607, + -86797, -86986, -87176, -87365, -87555, -87744, -87934, -88123, + -88313, -88502, -88691, -88880, -89069, -89259, -89448, -89637, + -89825, -90014, -90203, -90392, -90581, -90769, -90958, -91146, + -91335, -91523, -91712, -91900, -92088, -92277, -92465, -92653, + -92841, -93029, -93217, -93405, -93593, -93780, -93968, -94156, + -94343, -94531, -94718, -94906, -95093, -95281, -95468, -95655, + -95842, -96029, -96216, -96403, -96590, -96777, -96964, -97151, + -97338, -97524, -97711, -97897, -98084, -98270, -98457, -98643, + -98829, -99015, -99202, -99388, -99574, -99760, -99946,-100131, + -100317,-100503,-100689,-100874,-101060,-101245,-101431,-101616, + -101801,-101987,-102172,-102357,-102542,-102727,-102912,-103097, + -103282,-103466,-103651,-103836,-104020,-104205,-104389,-104574, + -104758,-104942,-105127,-105311,-105495,-105679,-105863,-106047, + -106231,-106414,-106598,-106782,-106965,-107149,-107332,-107516, + -107699,-107882,-108066,-108249,-108432,-108615,-108798,-108981, + -109164,-109346,-109529,-109712,-109894,-110077,-110259,-110442, + -110624,-110806,-110988,-111170,-111352,-111534,-111716,-111898, + -112080,-112262,-112443,-112625,-112807,-112988,-113169,-113351, + -113532,-113713,-113894,-114075,-114256,-114437,-114618,-114799, + -114980,-115160,-115341,-115521,-115702,-115882,-116063,-116243, + -116423,-116603,-116783,-116963,-117143,-117323,-117503,-117682, + -117862,-118041,-118221,-118400,-118580,-118759,-118938,-119117, + -119296,-119475,-119654,-119833,-120012,-120191,-120369,-120548, + -120726,-120905,-121083,-121262,-121440,-121618,-121796,-121974, + -122152,-122330,-122508,-122685,-122863,-123041,-123218,-123395, + -123573,-123750,-123927,-124104,-124282,-124459,-124635,-124812, + -124989,-125166,-125342,-125519,-125695,-125872,-126048,-126224, + -126401,-126577,-126753,-126929,-127105,-127280,-127456,-127632, + -127807,-127983,-128158,-128334,-128509,-128684,-128859,-129034, + -129209,-129384,-129559,-129734,-129908,-130083,-130258,-130432, + -130606,-130781,-130955,-131129,-131303,-131477,-131651,-131825, + -131999,-132172,-132346,-132519,-132693,-132866,-133039,-133213, + -133386,-133559,-133732,-133905,-134077,-134250,-134423,-134595, + -134768,-134940,-135113,-135285,-135457,-135629,-135801,-135973, + -136145,-136317,-136489,-136660,-136832,-137003,-137175,-137346, + -137517,-137688,-137859,-138030,-138201,-138372,-138543,-138713, + -138884,-139054,-139225,-139395,-139565,-139735,-139906,-140076, + -140245,-140415,-140585,-140755,-140924,-141094,-141263,-141432, + -141602,-141771,-141940,-142109,-142278,-142447,-142615,-142784, + -142953,-143121,-143290,-143458,-143626,-143794,-143962,-144130, + -144298,-144466,-144634,-144801,-144969,-145136,-145304,-145471, + -145638,-145806,-145973,-146140,-146306,-146473,-146640,-146807, + -146973,-147140,-147306,-147472,-147638,-147804,-147970,-148136, + -148302,-148468,-148634,-148799,-148965,-149130,-149295,-149461, + -149626,-149791,-149956,-150121,-150285,-150450,-150615,-150779, + -150944,-151108,-151272,-151436,-151600,-151764,-151928,-152092, + -152256,-152420,-152583,-152747,-152910,-153073,-153236,-153399, + -153562,-153725,-153888,-154051,-154213,-154376,-154538,-154701, + -154863,-155025,-155187,-155349,-155511,-155673,-155835,-155996, + -156158,-156319,-156481,-156642,-156803,-156964,-157125,-157286, + -157447,-157608,-157768,-157929,-158089,-158250,-158410,-158570, + -158730,-158890,-159050,-159210,-159369,-159529,-159688,-159848, + -160007,-160166,-160326,-160485,-160643,-160802,-160961,-161120, + -161278,-161437,-161595,-161753,-161912,-162070,-162228,-162385, + -162543,-162701,-162859,-163016,-163173,-163331,-163488,-163645, + -163802,-163959,-164116,-164273,-164429,-164586,-164742,-164899, + -165055,-165211,-165367,-165523,-165679,-165835,-165990,-166146, + -166301,-166457,-166612,-166767,-166922,-167077,-167232,-167387, + -167542,-167696,-167851,-168005,-168159,-168314,-168468,-168622, + -168776,-168929,-169083,-169237,-169390,-169544,-169697,-169850, + -170003,-170156,-170309,-170462,-170615,-170767,-170920,-171072, + -171224,-171377,-171529,-171681,-171833,-171984,-172136,-172288, + -172439,-172590,-172742,-172893,-173044,-173195,-173346,-173497, + -173647,-173798,-173948,-174099,-174249,-174399,-174549,-174699, + -174849,-174999,-175148,-175298,-175447,-175597,-175746,-175895, + -176044,-176193,-176342,-176491,-176639,-176788,-176936,-177084, + -177233,-177381,-177529,-177677,-177824,-177972,-178120,-178267, + -178414,-178562,-178709,-178856,-179003,-179150,-179296,-179443, + -179590,-179736,-179882,-180028,-180175,-180321,-180466,-180612, + -180758,-180903,-181049,-181194,-181340,-181485,-181630,-181775, + -181919,-182064,-182209,-182353,-182498,-182642,-182786,-182930, + -183074,-183218,-183362,-183505,-183649,-183792,-183936,-184079, + -184222,-184365,-184508,-184651,-184793,-184936,-185078,-185221, + -185363,-185505,-185647,-185789,-185931,-186072,-186214,-186355, + -186497,-186638,-186779,-186920,-187061,-187202,-187342,-187483, + -187624,-187764,-187904,-188044,-188184,-188324,-188464,-188604, + -188743,-188883,-189022,-189161,-189301,-189440,-189579,-189717, + -189856,-189995,-190133,-190271,-190410,-190548,-190686,-190824, + -190962,-191099,-191237,-191374,-191512,-191649,-191786,-191923, + -192060,-192197,-192333,-192470,-192606,-192743,-192879,-193015, + -193151,-193287,-193423,-193558,-193694,-193829,-193965,-194100, + -194235,-194370,-194505,-194639,-194774,-194909,-195043,-195177, + -195311,-195445,-195579,-195713,-195847,-195981,-196114,-196247, + -196381,-196514,-196647,-196780,-196912,-197045,-197178,-197310, + -197442,-197575,-197707,-197839,-197971,-198102,-198234,-198365, + -198497,-198628,-198759,-198890,-199021,-199152,-199283,-199413, + -199544,-199674,-199804,-199934,-200064,-200194,-200324,-200453, + -200583,-200712,-200842,-200971,-201100,-201229,-201358,-201486, + -201615,-201743,-201872,-202000,-202128,-202256,-202384,-202511, + -202639,-202767,-202894,-203021,-203148,-203275,-203402,-203529, + -203656,-203782,-203909,-204035,-204161,-204287,-204413,-204539, + -204665,-204790,-204916,-205041,-205166,-205291,-205416,-205541, + -205666,-205790,-205915,-206039,-206164,-206288,-206412,-206536, + -206659,-206783,-206906,-207030,-207153,-207276,-207399,-207522, + -207645,-207768,-207890,-208013,-208135,-208257,-208379,-208501, + -208623,-208745,-208866,-208988,-209109,-209230,-209351,-209472, + -209593,-209714,-209834,-209955,-210075,-210195,-210315,-210435, + -210555,-210675,-210794,-210914,-211033,-211152,-211271,-211390, + -211509,-211628,-211747,-211865,-211983,-212102,-212220,-212338, + -212455,-212573,-212691,-212808,-212926,-213043,-213160,-213277, + -213394,-213510,-213627,-213744,-213860,-213976,-214092,-214208, + -214324,-214440,-214555,-214671,-214786,-214901,-215016,-215131, + -215246,-215361,-215475,-215590,-215704,-215818,-215932,-216046, + -216160,-216274,-216387,-216501,-216614,-216727,-216840,-216953, + -217066,-217179,-217291,-217404,-217516,-217628,-217740,-217852, + -217964,-218075,-218187,-218298,-218410,-218521,-218632,-218743, + -218853,-218964,-219074,-219185,-219295,-219405,-219515,-219625, + -219735,-219844,-219954,-220063,-220172,-220281,-220390,-220499, + -220608,-220716,-220825,-220933,-221041,-221149,-221257,-221365, + -221472,-221580,-221687,-221794,-221902,-222009,-222115,-222222, + -222329,-222435,-222541,-222648,-222754,-222860,-222965,-223071, + -223177,-223282,-223387,-223492,-223598,-223702,-223807,-223912, + -224016,-224121,-224225,-224329,-224433,-224537,-224640,-224744, + -224847,-224951,-225054,-225157,-225260,-225363,-225465,-225568, + -225670,-225772,-225874,-225976,-226078,-226180,-226282,-226383, + -226484,-226585,-226687,-226787,-226888,-226989,-227089,-227190, + -227290,-227390,-227490,-227590,-227690,-227789,-227889,-227988, + -228087,-228186,-228285,-228384,-228482,-228581,-228679,-228778, + -228876,-228974,-229071,-229169,-229267,-229364,-229461,-229559, + -229656,-229752,-229849,-229946,-230042,-230139,-230235,-230331, + -230427,-230523,-230618,-230714,-230809,-230904,-231000,-231095, + -231189,-231284,-231379,-231473,-231567,-231662,-231756,-231849, + -231943,-232037,-232130,-232224,-232317,-232410,-232503,-232596, + -232688,-232781,-232873,-232966,-233058,-233150,-233242,-233333, + -233425,-233516,-233608,-233699,-233790,-233881,-233971,-234062, + -234152,-234243,-234333,-234423,-234513,-234603,-234692,-234782, + -234871,-234960,-235049,-235138,-235227,-235316,-235404,-235493, + -235581,-235669,-235757,-235845,-235933,-236020,-236108,-236195, + -236282,-236369,-236456,-236543,-236629,-236716,-236802,-236888, + -236974,-237060,-237146,-237232,-237317,-237402,-237488,-237573, + -237658,-237742,-237827,-237912,-237996,-238080,-238164,-238248, + -238332,-238416,-238499,-238582,-238666,-238749,-238832,-238915, + -238997,-239080,-239162,-239244,-239327,-239409,-239490,-239572, + -239654,-239735,-239816,-239897,-239978,-240059,-240140,-240220, + -240301,-240381,-240461,-240541,-240621,-240701,-240780,-240860, + -240939,-241018,-241097,-241176,-241255,-241333,-241412,-241490, + -241568,-241646,-241724,-241802,-241880,-241957,-242034,-242111, + -242188,-242265,-242342,-242419,-242495,-242571,-242648,-242724, + -242799,-242875,-242951,-243026,-243102,-243177,-243252,-243327, + -243401,-243476,-243550,-243625,-243699,-243773,-243847,-243920, + -243994,-244067,-244141,-244214,-244287,-244360,-244432,-244505, + -244577,-244650,-244722,-244794,-244866,-244937,-245009,-245080, + -245152,-245223,-245294,-245365,-245435,-245506,-245576,-245647, + -245717,-245787,-245857,-245926,-245996,-246065,-246135,-246204, + -246273,-246341,-246410,-246479,-246547,-246615,-246683,-246751, + -246819,-246887,-246954,-247022,-247089,-247156,-247223,-247290, + -247356,-247423,-247489,-247555,-247621,-247687,-247753,-247819, + -247884,-247950,-248015,-248080,-248145,-248210,-248274,-248339, + -248403,-248467,-248531,-248595,-248659,-248722,-248786,-248849, + -248912,-248975,-249038,-249101,-249163,-249226,-249288,-249350, + -249412,-249474,-249535,-249597,-249658,-249720,-249781,-249842, + -249902,-249963,-250024,-250084,-250144,-250204,-250264,-250324, + -250384,-250443,-250502,-250561,-250621,-250679,-250738,-250797, + -250855,-250913,-250972,-251030,-251087,-251145,-251203,-251260, + -251317,-251374,-251431,-251488,-251545,-251601,-251658,-251714, + -251770,-251826,-251882,-251937,-251993,-252048,-252103,-252158, + -252213,-252268,-252323,-252377,-252431,-252486,-252540,-252593, + -252647,-252701,-252754,-252807,-252860,-252913,-252966,-253019, + -253071,-253124,-253176,-253228,-253280,-253332,-253383,-253435, + -253486,-253537,-253588,-253639,-253690,-253740,-253791,-253841, + -253891,-253941,-253991,-254041,-254090,-254140,-254189,-254238, + -254287,-254336,-254384,-254433,-254481,-254529,-254577,-254625, + -254673,-254720,-254768,-254815,-254862,-254909,-254956,-255003, + -255049,-255096,-255142,-255188,-255234,-255280,-255325,-255371, + -255416,-255461,-255506,-255551,-255596,-255641,-255685,-255729, + -255773,-255817,-255861,-255905,-255948,-255992,-256035,-256078, + -256121,-256164,-256206,-256249,-256291,-256333,-256375,-256417, + -256459,-256501,-256542,-256583,-256624,-256665,-256706,-256747, + -256787,-256828,-256868,-256908,-256948,-256988,-257027,-257067, + -257106,-257145,-257184,-257223,-257262,-257300,-257339,-257377, + -257415,-257453,-257491,-257528,-257566,-257603,-257640,-257677, + -257714,-257751,-257788,-257824,-257860,-257896,-257932,-257968, + -258004,-258039,-258075,-258110,-258145,-258180,-258215,-258249, + -258284,-258318,-258352,-258386,-258420,-258454,-258487,-258521, + -258554,-258587,-258620,-258653,-258685,-258718,-258750,-258782, + -258814,-258846,-258878,-258909,-258941,-258972,-259003,-259034, + -259065,-259095,-259126,-259156,-259186,-259216,-259246,-259276, + -259306,-259335,-259364,-259394,-259422,-259451,-259480,-259508, + -259537,-259565,-259593,-259621,-259649,-259676,-259704,-259731, + -259758,-259785,-259812,-259839,-259865,-259892,-259918,-259944, + -259970,-259996,-260021,-260047,-260072,-260097,-260122,-260147, + -260172,-260196,-260220,-260245,-260269,-260293,-260316,-260340, + -260364,-260387,-260410,-260433,-260456,-260479,-260501,-260524, + -260546,-260568,-260590,-260612,-260633,-260655,-260676,-260697, + -260718,-260739,-260760,-260780,-260801,-260821,-260841,-260861, + -260881,-260900,-260920,-260939,-260958,-260977,-260996,-261015, + -261033,-261052,-261070,-261088,-261106,-261124,-261142,-261159, + -261176,-261194,-261211,-261227,-261244,-261261,-261277,-261293, + -261309,-261325,-261341,-261357,-261372,-261388,-261403,-261418, + -261433,-261447,-261462,-261476,-261491,-261505,-261519,-261532, + -261546,-261560,-261573,-261586,-261599,-261612,-261625,-261637, + -261650,-261662,-261674,-261686,-261698,-261709,-261721,-261732, + -261743,-261754,-261765,-261776,-261787,-261797,-261807,-261817, + -261827,-261837,-261847,-261856,-261865,-261875,-261884,-261893, + -261901,-261910,-261918,-261926,-261935,-261942,-261950,-261958, + -261965,-261973,-261980,-261987,-261994,-262000,-262007,-262013, + -262020,-262026,-262032,-262037,-262043,-262049,-262054,-262059, + -262064,-262069,-262074,-262078,-262083,-262087,-262091,-262095, + -262099,-262102,-262106,-262109,-262112,-262115,-262118,-262121, + -262123,-262126,-262128,-262130,-262132,-262134,-262135,-262137, + -262138,-262139,-262140,-262141,-262142,-262142,-262143,-262143, + -262143,-262143,-262143,-262142,-262142,-262141,-262140,-262139, + -262138,-262137,-262135,-262134,-262132,-262130,-262128,-262126, + -262123,-262121,-262118,-262115,-262112,-262109,-262106,-262102, + -262099,-262095,-262091,-262087,-262083,-262078,-262074,-262069, + -262064,-262059,-262054,-262049,-262043,-262037,-262032,-262026, + -262020,-262013,-262007,-262000,-261994,-261987,-261980,-261973, + -261965,-261958,-261950,-261942,-261935,-261926,-261918,-261910, + -261901,-261893,-261884,-261875,-261865,-261856,-261847,-261837, + -261827,-261817,-261807,-261797,-261787,-261776,-261765,-261754, + -261743,-261732,-261721,-261709,-261698,-261686,-261674,-261662, + -261650,-261637,-261625,-261612,-261599,-261586,-261573,-261560, + -261546,-261532,-261519,-261505,-261491,-261476,-261462,-261447, + -261433,-261418,-261403,-261388,-261372,-261357,-261341,-261325, + -261309,-261293,-261277,-261261,-261244,-261227,-261211,-261194, + -261176,-261159,-261142,-261124,-261106,-261088,-261070,-261052, + -261033,-261015,-260996,-260977,-260958,-260939,-260920,-260900, + -260881,-260861,-260841,-260821,-260801,-260780,-260760,-260739, + -260718,-260697,-260676,-260655,-260633,-260612,-260590,-260568, + -260546,-260524,-260501,-260479,-260456,-260433,-260410,-260387, + -260364,-260340,-260316,-260293,-260269,-260245,-260220,-260196, + -260172,-260147,-260122,-260097,-260072,-260047,-260021,-259996, + -259970,-259944,-259918,-259892,-259865,-259839,-259812,-259785, + -259758,-259731,-259704,-259676,-259649,-259621,-259593,-259565, + -259537,-259508,-259480,-259451,-259422,-259394,-259364,-259335, + -259306,-259276,-259246,-259216,-259186,-259156,-259126,-259095, + -259065,-259034,-259003,-258972,-258941,-258909,-258878,-258846, + -258814,-258782,-258750,-258718,-258685,-258653,-258620,-258587, + -258554,-258521,-258487,-258454,-258420,-258386,-258352,-258318, + -258284,-258249,-258215,-258180,-258145,-258110,-258075,-258039, + -258004,-257968,-257932,-257896,-257860,-257824,-257788,-257751, + -257714,-257677,-257640,-257603,-257566,-257528,-257491,-257453, + -257415,-257377,-257339,-257300,-257262,-257223,-257184,-257145, + -257106,-257067,-257027,-256988,-256948,-256908,-256868,-256828, + -256787,-256747,-256706,-256665,-256624,-256583,-256542,-256501, + -256459,-256417,-256375,-256333,-256291,-256249,-256206,-256164, + -256121,-256078,-256035,-255992,-255948,-255905,-255861,-255817, + -255773,-255729,-255685,-255641,-255596,-255551,-255506,-255461, + -255416,-255371,-255325,-255280,-255234,-255188,-255142,-255096, + -255049,-255003,-254956,-254909,-254862,-254815,-254768,-254720, + -254673,-254625,-254577,-254529,-254481,-254433,-254384,-254336, + -254287,-254238,-254189,-254140,-254090,-254041,-253991,-253941, + -253891,-253841,-253791,-253740,-253690,-253639,-253588,-253537, + -253486,-253435,-253383,-253332,-253280,-253228,-253176,-253124, + -253071,-253019,-252966,-252913,-252860,-252807,-252754,-252701, + -252647,-252593,-252540,-252486,-252431,-252377,-252323,-252268, + -252213,-252158,-252103,-252048,-251993,-251937,-251882,-251826, + -251770,-251714,-251658,-251601,-251545,-251488,-251431,-251374, + -251317,-251260,-251203,-251145,-251087,-251030,-250972,-250913, + -250855,-250797,-250738,-250679,-250621,-250561,-250502,-250443, + -250384,-250324,-250264,-250204,-250144,-250084,-250024,-249963, + -249902,-249842,-249781,-249720,-249658,-249597,-249535,-249474, + -249412,-249350,-249288,-249226,-249163,-249101,-249038,-248975, + -248912,-248849,-248786,-248722,-248659,-248595,-248531,-248467, + -248403,-248339,-248274,-248210,-248145,-248080,-248015,-247950, + -247884,-247819,-247753,-247687,-247621,-247555,-247489,-247423, + -247356,-247290,-247223,-247156,-247089,-247022,-246954,-246887, + -246819,-246751,-246683,-246615,-246547,-246479,-246410,-246341, + -246273,-246204,-246135,-246065,-245996,-245926,-245857,-245787, + -245717,-245647,-245576,-245506,-245435,-245365,-245294,-245223, + -245152,-245080,-245009,-244937,-244866,-244794,-244722,-244650, + -244577,-244505,-244432,-244360,-244287,-244214,-244141,-244067, + -243994,-243920,-243847,-243773,-243699,-243625,-243550,-243476, + -243401,-243327,-243252,-243177,-243102,-243026,-242951,-242875, + -242799,-242724,-242648,-242571,-242495,-242419,-242342,-242265, + -242188,-242111,-242034,-241957,-241880,-241802,-241724,-241646, + -241568,-241490,-241412,-241333,-241255,-241176,-241097,-241018, + -240939,-240860,-240780,-240701,-240621,-240541,-240461,-240381, + -240301,-240220,-240140,-240059,-239978,-239897,-239816,-239735, + -239654,-239572,-239490,-239409,-239327,-239244,-239162,-239080, + -238997,-238915,-238832,-238749,-238666,-238582,-238499,-238416, + -238332,-238248,-238164,-238080,-237996,-237912,-237827,-237742, + -237658,-237573,-237488,-237402,-237317,-237232,-237146,-237060, + -236974,-236888,-236802,-236716,-236629,-236543,-236456,-236369, + -236282,-236195,-236108,-236020,-235933,-235845,-235757,-235669, + -235581,-235493,-235404,-235316,-235227,-235138,-235049,-234960, + -234871,-234782,-234692,-234603,-234513,-234423,-234333,-234243, + -234152,-234062,-233971,-233881,-233790,-233699,-233608,-233516, + -233425,-233333,-233242,-233150,-233058,-232966,-232873,-232781, + -232688,-232596,-232503,-232410,-232317,-232224,-232130,-232037, + -231943,-231849,-231756,-231662,-231567,-231473,-231379,-231284, + -231189,-231095,-231000,-230904,-230809,-230714,-230618,-230523, + -230427,-230331,-230235,-230139,-230042,-229946,-229849,-229752, + -229656,-229559,-229461,-229364,-229267,-229169,-229071,-228974, + -228876,-228778,-228679,-228581,-228482,-228384,-228285,-228186, + -228087,-227988,-227889,-227789,-227690,-227590,-227490,-227390, + -227290,-227190,-227089,-226989,-226888,-226787,-226687,-226585, + -226484,-226383,-226282,-226180,-226078,-225976,-225874,-225772, + -225670,-225568,-225465,-225363,-225260,-225157,-225054,-224951, + -224847,-224744,-224640,-224537,-224433,-224329,-224225,-224121, + -224016,-223912,-223807,-223702,-223598,-223492,-223387,-223282, + -223177,-223071,-222965,-222860,-222754,-222648,-222541,-222435, + -222329,-222222,-222115,-222009,-221902,-221794,-221687,-221580, + -221472,-221365,-221257,-221149,-221041,-220933,-220825,-220716, + -220608,-220499,-220390,-220281,-220172,-220063,-219954,-219844, + -219735,-219625,-219515,-219405,-219295,-219185,-219074,-218964, + -218853,-218743,-218632,-218521,-218410,-218298,-218187,-218075, + -217964,-217852,-217740,-217628,-217516,-217404,-217291,-217179, + -217066,-216953,-216840,-216727,-216614,-216501,-216387,-216274, + -216160,-216046,-215932,-215818,-215704,-215590,-215475,-215361, + -215246,-215131,-215016,-214901,-214786,-214671,-214555,-214440, + -214324,-214208,-214092,-213976,-213860,-213744,-213627,-213510, + -213394,-213277,-213160,-213043,-212926,-212808,-212691,-212573, + -212455,-212338,-212220,-212102,-211983,-211865,-211747,-211628, + -211509,-211390,-211271,-211152,-211033,-210914,-210794,-210675, + -210555,-210435,-210315,-210195,-210075,-209955,-209834,-209714, + -209593,-209472,-209351,-209230,-209109,-208988,-208866,-208745, + -208623,-208501,-208379,-208257,-208135,-208013,-207890,-207768, + -207645,-207522,-207399,-207276,-207153,-207030,-206906,-206783, + -206659,-206536,-206412,-206288,-206164,-206039,-205915,-205790, + -205666,-205541,-205416,-205291,-205166,-205041,-204916,-204790, + -204665,-204539,-204413,-204287,-204161,-204035,-203909,-203782, + -203656,-203529,-203402,-203275,-203148,-203021,-202894,-202767, + -202639,-202511,-202384,-202256,-202128,-202000,-201872,-201743, + -201615,-201486,-201358,-201229,-201100,-200971,-200842,-200712, + -200583,-200453,-200324,-200194,-200064,-199934,-199804,-199674, + -199544,-199413,-199283,-199152,-199021,-198890,-198759,-198628, + -198497,-198365,-198234,-198102,-197971,-197839,-197707,-197575, + -197442,-197310,-197178,-197045,-196912,-196780,-196647,-196514, + -196381,-196247,-196114,-195981,-195847,-195713,-195579,-195445, + -195311,-195177,-195043,-194909,-194774,-194639,-194505,-194370, + -194235,-194100,-193965,-193829,-193694,-193558,-193423,-193287, + -193151,-193015,-192879,-192743,-192606,-192470,-192333,-192197, + -192060,-191923,-191786,-191649,-191512,-191374,-191237,-191099, + -190962,-190824,-190686,-190548,-190410,-190271,-190133,-189995, + -189856,-189717,-189579,-189440,-189301,-189161,-189022,-188883, + -188743,-188604,-188464,-188324,-188184,-188044,-187904,-187764, + -187624,-187483,-187342,-187202,-187061,-186920,-186779,-186638, + -186497,-186355,-186214,-186072,-185931,-185789,-185647,-185505, + -185363,-185221,-185078,-184936,-184793,-184651,-184508,-184365, + -184222,-184079,-183936,-183792,-183649,-183505,-183362,-183218, + -183074,-182930,-182786,-182642,-182498,-182353,-182209,-182064, + -181919,-181775,-181630,-181485,-181340,-181194,-181049,-180903, + -180758,-180612,-180466,-180321,-180175,-180028,-179882,-179736, + -179590,-179443,-179296,-179150,-179003,-178856,-178709,-178562, + -178414,-178267,-178120,-177972,-177824,-177677,-177529,-177381, + -177233,-177084,-176936,-176788,-176639,-176491,-176342,-176193, + -176044,-175895,-175746,-175597,-175447,-175298,-175148,-174999, + -174849,-174699,-174549,-174399,-174249,-174099,-173948,-173798, + -173647,-173497,-173346,-173195,-173044,-172893,-172742,-172590, + -172439,-172288,-172136,-171984,-171833,-171681,-171529,-171377, + -171224,-171072,-170920,-170767,-170615,-170462,-170309,-170156, + -170003,-169850,-169697,-169544,-169390,-169237,-169083,-168929, + -168776,-168622,-168468,-168314,-168159,-168005,-167851,-167696, + -167542,-167387,-167232,-167077,-166922,-166767,-166612,-166457, + -166301,-166146,-165990,-165835,-165679,-165523,-165367,-165211, + -165055,-164899,-164742,-164586,-164429,-164273,-164116,-163959, + -163802,-163645,-163488,-163331,-163173,-163016,-162859,-162701, + -162543,-162385,-162228,-162070,-161912,-161753,-161595,-161437, + -161278,-161120,-160961,-160802,-160643,-160485,-160326,-160166, + -160007,-159848,-159688,-159529,-159369,-159210,-159050,-158890, + -158730,-158570,-158410,-158250,-158089,-157929,-157768,-157608, + -157447,-157286,-157125,-156964,-156803,-156642,-156481,-156319, + -156158,-155996,-155835,-155673,-155511,-155349,-155187,-155025, + -154863,-154701,-154538,-154376,-154213,-154051,-153888,-153725, + -153562,-153399,-153236,-153073,-152910,-152747,-152583,-152420, + -152256,-152092,-151928,-151764,-151600,-151436,-151272,-151108, + -150944,-150779,-150615,-150450,-150285,-150121,-149956,-149791, + -149626,-149461,-149295,-149130,-148965,-148799,-148634,-148468, + -148302,-148136,-147970,-147804,-147638,-147472,-147306,-147140, + -146973,-146807,-146640,-146473,-146306,-146140,-145973,-145806, + -145638,-145471,-145304,-145136,-144969,-144801,-144634,-144466, + -144298,-144130,-143962,-143794,-143626,-143458,-143290,-143121, + -142953,-142784,-142615,-142447,-142278,-142109,-141940,-141771, + -141602,-141432,-141263,-141094,-140924,-140755,-140585,-140415, + -140245,-140076,-139906,-139735,-139565,-139395,-139225,-139054, + -138884,-138713,-138543,-138372,-138201,-138030,-137859,-137688, + -137517,-137346,-137175,-137003,-136832,-136660,-136489,-136317, + -136145,-135973,-135801,-135629,-135457,-135285,-135113,-134940, + -134768,-134595,-134423,-134250,-134077,-133905,-133732,-133559, + -133386,-133213,-133039,-132866,-132693,-132519,-132346,-132172, + -131999,-131825,-131651,-131477,-131303,-131129,-130955,-130781, + -130606,-130432,-130258,-130083,-129908,-129734,-129559,-129384, + -129209,-129034,-128859,-128684,-128509,-128334,-128158,-127983, + -127807,-127632,-127456,-127280,-127105,-126929,-126753,-126577, + -126401,-126224,-126048,-125872,-125695,-125519,-125342,-125166, + -124989,-124812,-124635,-124459,-124282,-124104,-123927,-123750, + -123573,-123395,-123218,-123041,-122863,-122685,-122508,-122330, + -122152,-121974,-121796,-121618,-121440,-121262,-121083,-120905, + -120726,-120548,-120369,-120191,-120012,-119833,-119654,-119475, + -119296,-119117,-118938,-118759,-118580,-118400,-118221,-118041, + -117862,-117682,-117503,-117323,-117143,-116963,-116783,-116603, + -116423,-116243,-116063,-115882,-115702,-115521,-115341,-115160, + -114980,-114799,-114618,-114437,-114256,-114075,-113894,-113713, + -113532,-113351,-113169,-112988,-112807,-112625,-112443,-112262, + -112080,-111898,-111716,-111534,-111352,-111170,-110988,-110806, + -110624,-110442,-110259,-110077,-109894,-109712,-109529,-109346, + -109164,-108981,-108798,-108615,-108432,-108249,-108066,-107882, + -107699,-107516,-107332,-107149,-106965,-106782,-106598,-106414, + -106231,-106047,-105863,-105679,-105495,-105311,-105127,-104942, + -104758,-104574,-104389,-104205,-104020,-103836,-103651,-103466, + -103282,-103097,-102912,-102727,-102542,-102357,-102172,-101987, + -101801,-101616,-101431,-101245,-101060,-100874,-100689,-100503, + -100317,-100131, -99946, -99760, -99574, -99388, -99202, -99015, + -98829, -98643, -98457, -98270, -98084, -97897, -97711, -97524, + -97338, -97151, -96964, -96777, -96590, -96403, -96216, -96029, + -95842, -95655, -95468, -95281, -95093, -94906, -94718, -94531, + -94343, -94156, -93968, -93780, -93593, -93405, -93217, -93029, + -92841, -92653, -92465, -92277, -92088, -91900, -91712, -91523, + -91335, -91146, -90958, -90769, -90581, -90392, -90203, -90014, + -89825, -89637, -89448, -89259, -89069, -88880, -88691, -88502, + -88313, -88123, -87934, -87744, -87555, -87365, -87176, -86986, + -86797, -86607, -86417, -86227, -86037, -85847, -85657, -85467, + -85277, -85087, -84897, -84707, -84516, -84326, -84135, -83945, + -83755, -83564, -83373, -83183, -82992, -82801, -82611, -82420, + -82229, -82038, -81847, -81656, -81465, -81274, -81082, -80891, + -80700, -80509, -80317, -80126, -79934, -79743, -79551, -79360, + -79168, -78976, -78785, -78593, -78401, -78209, -78017, -77825, + -77633, -77441, -77249, -77057, -76865, -76672, -76480, -76288, + -76095, -75903, -75710, -75518, -75325, -75133, -74940, -74747, + -74555, -74362, -74169, -73976, -73783, -73590, -73397, -73204, + -73011, -72818, -72625, -72432, -72238, -72045, -71852, -71658, + -71465, -71272, -71078, -70885, -70691, -70497, -70304, -70110, + -69916, -69722, -69529, -69335, -69141, -68947, -68753, -68559, + -68365, -68170, -67976, -67782, -67588, -67394, -67199, -67005, + -66811, -66616, -66422, -66227, -66033, -65838, -65643, -65449, + -65254, -65059, -64864, -64670, -64475, -64280, -64085, -63890, + -63695, -63500, -63305, -63110, -62914, -62719, -62524, -62329, + -62133, -61938, -61743, -61547, -61352, -61156, -60961, -60765, + -60569, -60374, -60178, -59982, -59787, -59591, -59395, -59199, + -59003, -58807, -58612, -58416, -58220, -58023, -57827, -57631, + -57435, -57239, -57043, -56846, -56650, -56454, -56257, -56061, + -55865, -55668, -55472, -55275, -55079, -54882, -54685, -54489, + -54292, -54095, -53899, -53702, -53505, -53308, -53111, -52914, + -52717, -52520, -52323, -52126, -51929, -51732, -51535, -51338, + -51141, -50944, -50746, -50549, -50352, -50154, -49957, -49760, + -49562, -49365, -49167, -48970, -48772, -48575, -48377, -48179, + -47982, -47784, -47586, -47389, -47191, -46993, -46795, -46597, + -46400, -46202, -46004, -45806, -45608, -45410, -45212, -45014, + -44816, -44618, -44419, -44221, -44023, -43825, -43627, -43428, + -43230, -43032, -42833, -42635, -42437, -42238, -42040, -41841, + -41643, -41444, -41246, -41047, -40848, -40650, -40451, -40253, + -40054, -39855, -39656, -39458, -39259, -39060, -38861, -38662, + -38464, -38265, -38066, -37867, -37668, -37469, -37270, -37071, + -36872, -36673, -36474, -36274, -36075, -35876, -35677, -35478, + -35279, -35079, -34880, -34681, -34481, -34282, -34083, -33883, + -33684, -33485, -33285, -33086, -32886, -32687, -32487, -32288, + -32088, -31889, -31689, -31489, -31290, -31090, -30891, -30691, + -30491, -30292, -30092, -29892, -29692, -29493, -29293, -29093, + -28893, -28693, -28493, -28294, -28094, -27894, -27694, -27494, + -27294, -27094, -26894, -26694, -26494, -26294, -26094, -25894, + -25694, -25494, -25293, -25093, -24893, -24693, -24493, -24293, + -24092, -23892, -23692, -23492, -23291, -23091, -22891, -22691, + -22490, -22290, -22090, -21889, -21689, -21488, -21288, -21088, + -20887, -20687, -20486, -20286, -20085, -19885, -19685, -19484, + -19284, -19083, -18882, -18682, -18481, -18281, -18080, -17880, + -17679, -17478, -17278, -17077, -16877, -16676, -16475, -16275, + -16074, -15873, -15672, -15472, -15271, -15070, -14870, -14669, + -14468, -14267, -14067, -13866, -13665, -13464, -13263, -13063, + -12862, -12661, -12460, -12259, -12058, -11858, -11657, -11456, + -11255, -11054, -10853, -10652, -10451, -10251, -10050, -9849, + -9648, -9447, -9246, -9045, -8844, -8643, -8442, -8241, + -8040, -7839, -7638, -7437, -7236, -7035, -6834, -6633, + -6432, -6231, -6030, -5829, -5628, -5427, -5226, -5025, + -4824, -4623, -4422, -4221, -4020, -3819, -3618, -3417, + -3216, -3015, -2814, -2613, -2412, -2211, -2010, -1809, + -1607, -1406, -1205, -1004, -803, -602, -401, -200, + 0, 201, 402, 603, 804, 1005, 1206, 1407, + 1608, 1810, 2011, 2212, 2413, 2614, 2815, 3016, + 3217, 3418, 3619, 3820, 4021, 4222, 4423, 4624, + 4825, 5026, 5227, 5428, 5629, 5830, 6031, 6232, + 6433, 6634, 6835, 7036, 7237, 7438, 7639, 7840, + 8041, 8242, 8443, 8644, 8845, 9046, 9247, 9448, + 9649, 9850, 10051, 10252, 10452, 10653, 10854, 11055, + 11256, 11457, 11658, 11859, 12059, 12260, 12461, 12662, + 12863, 13064, 13264, 13465, 13666, 13867, 14068, 14268, + 14469, 14670, 14871, 15071, 15272, 15473, 15673, 15874, + 16075, 16276, 16476, 16677, 16878, 17078, 17279, 17479, + 17680, 17881, 18081, 18282, 18482, 18683, 18883, 19084, + 19285, 19485, 19686, 19886, 20086, 20287, 20487, 20688, + 20888, 21089, 21289, 21489, 21690, 21890, 22091, 22291, + 22491, 22692, 22892, 23092, 23292, 23493, 23693, 23893, + 24093, 24294, 24494, 24694, 24894, 25094, 25294, 25495, + 25695, 25895, 26095, 26295, 26495, 26695, 26895, 27095, + 27295, 27495, 27695, 27895, 28095, 28295, 28494, 28694, + 28894, 29094, 29294, 29494, 29693, 29893, 30093, 30293, + 30492, 30692, 30892, 31091, 31291, 31490, 31690, 31890, + 32089, 32289, 32488, 32688, 32887, 33087, 33286, 33486, + 33685, 33884, 34084, 34283, 34482, 34682, 34881, 35080, + 35280, 35479, 35678, 35877, 36076, 36275, 36475, 36674, + 36873, 37072, 37271, 37470, 37669, 37868, 38067, 38266, + 38465, 38663, 38862, 39061, 39260, 39459, 39657, 39856, + 40055, 40254, 40452, 40651, 40849, 41048, 41247, 41445, + 41644, 41842, 42041, 42239, 42438, 42636, 42834, 43033, + 43231, 43429, 43628, 43826, 44024, 44222, 44420, 44619, + 44817, 45015, 45213, 45411, 45609, 45807, 46005, 46203, + 46401, 46598, 46796, 46994, 47192, 47390, 47587, 47785, + 47983, 48180, 48378, 48576, 48773, 48971, 49168, 49366, + 49563, 49761, 49958, 50155, 50353, 50550, 50747, 50945, + 51142, 51339, 51536, 51733, 51930, 52127, 52324, 52521, + 52718, 52915, 53112, 53309, 53506, 53703, 53900, 54096, + 54293, 54490, 54686, 54883, 55080, 55276, 55473, 55669, + 55866, 56062, 56258, 56455, 56651, 56847, 57044, 57240, + 57436, 57632, 57828, 58024, 58221, 58417, 58613, 58808, + 59004, 59200, 59396, 59592, 59788, 59983, 60179, 60375, + 60570, 60766, 60962, 61157, 61353, 61548, 61744, 61939, + 62134, 62330, 62525, 62720, 62915, 63111, 63306, 63501, + 63696, 63891, 64086, 64281, 64476, 64671, 64865, 65060, + 65255, 65450, 65644, 65839, 66034, 66228, 66423, 66617, + 66812, 67006, 67200, 67395, 67589, 67783, 67977, 68171, + 68366, 68560, 68754, 68948, 69142, 69336, 69530, 69723, + 69917, 70111, 70305, 70498, 70692, 70886, 71079, 71273, + 71466, 71659, 71853, 72046, 72239, 72433, 72626, 72819, + 73012, 73205, 73398, 73591, 73784, 73977, 74170, 74363, + 74556, 74748, 74941, 75134, 75326, 75519, 75711, 75904, + 76096, 76289, 76481, 76673, 76866, 77058, 77250, 77442, + 77634, 77826, 78018, 78210, 78402, 78594, 78786, 78977, + 79169, 79361, 79552, 79744, 79935, 80127, 80318, 80510, + 80701, 80892, 81083, 81275, 81466, 81657, 81848, 82039, + 82230, 82421, 82612, 82802, 82993, 83184, 83374, 83565, + 83756, 83946, 84136, 84327, 84517, 84708, 84898, 85088, + 85278, 85468, 85658, 85848, 86038, 86228, 86418, 86608, + 86798, 86987, 87177, 87366, 87556, 87745, 87935, 88124, + 88314, 88503, 88692, 88881, 89070, 89260, 89449, 89638, + 89826, 90015, 90204, 90393, 90582, 90770, 90959, 91147, + 91336, 91524, 91713, 91901, 92089, 92278, 92466, 92654, + 92842, 93030, 93218, 93406, 93594, 93781, 93969, 94157, + 94344, 94532, 94719, 94907, 95094, 95282, 95469, 95656, + 95843, 96030, 96217, 96404, 96591, 96778, 96965, 97152, + 97339, 97525, 97712, 97898, 98085, 98271, 98458, 98644, + 98830, 99016, 99203, 99389, 99575, 99761, 99947, 100132, + 100318, 100504, 100690, 100875, 101061, 101246, 101432, 101617, + 101802, 101988, 102173, 102358, 102543, 102728, 102913, 103098, + 103283, 103467, 103652, 103837, 104021, 104206, 104390, 104575, + 104759, 104943, 105128, 105312, 105496, 105680, 105864, 106048, + 106232, 106415, 106599, 106783, 106966, 107150, 107333, 107517, + 107700, 107883, 108067, 108250, 108433, 108616, 108799, 108982, + 109165, 109347, 109530, 109713, 109895, 110078, 110260, 110443, + 110625, 110807, 110989, 111171, 111353, 111535, 111717, 111899, + 112081, 112263, 112444, 112626, 112808, 112989, 113170, 113352, + 113533, 113714, 113895, 114076, 114257, 114438, 114619, 114800, + 114981, 115161, 115342, 115522, 115703, 115883, 116064, 116244, + 116424, 116604, 116784, 116964, 117144, 117324, 117504, 117683, + 117863, 118042, 118222, 118401, 118581, 118760, 118939, 119118, + 119297, 119476, 119655, 119834, 120013, 120192, 120370, 120549, + 120727, 120906, 121084, 121263, 121441, 121619, 121797, 121975, + 122153, 122331, 122509, 122686, 122864, 123042, 123219, 123396, + 123574, 123751, 123928, 124105, 124283, 124460, 124636, 124813, + 124990, 125167, 125343, 125520, 125696, 125873, 126049, 126225, + 126402, 126578, 126754, 126930, 127106, 127281, 127457, 127633, + 127808, 127984, 128159, 128335, 128510, 128685, 128860, 129035, + 129210, 129385, 129560, 129735, 129909, 130084, 130259, 130433, + 130607, 130782, 130956, 131130, 131304, 131478, 131652, 131826, + 132000, 132173, 132347, 132520, 132694, 132867, 133040, 133214, + 133387, 133560, 133733, 133906, 134078, 134251, 134424, 134596, + 134769, 134941, 135114, 135286, 135458, 135630, 135802, 135974, + 136146, 136318, 136490, 136661, 136833, 137004, 137176, 137347, + 137518, 137689, 137860, 138031, 138202, 138373, 138544, 138714, + 138885, 139055, 139226, 139396, 139566, 139736, 139907, 140077, + 140246, 140416, 140586, 140756, 140925, 141095, 141264, 141433, + 141603, 141772, 141941, 142110, 142279, 142448, 142616, 142785, + 142954, 143122, 143291, 143459, 143627, 143795, 143963, 144131, + 144299, 144467, 144635, 144802, 144970, 145137, 145305, 145472, + 145639, 145807, 145974, 146141, 146307, 146474, 146641, 146808, + 146974, 147141, 147307, 147473, 147639, 147805, 147971, 148137, + 148303, 148469, 148635, 148800, 148966, 149131, 149296, 149462, + 149627, 149792, 149957, 150122, 150286, 150451, 150616, 150780, + 150945, 151109, 151273, 151437, 151601, 151765, 151929, 152093, + 152257, 152421, 152584, 152748, 152911, 153074, 153237, 153400, + 153563, 153726, 153889, 154052, 154214, 154377, 154539, 154702, + 154864, 155026, 155188, 155350, 155512, 155674, 155836, 155997, + 156159, 156320, 156482, 156643, 156804, 156965, 157126, 157287, + 157448, 157609, 157769, 157930, 158090, 158251, 158411, 158571, + 158731, 158891, 159051, 159211, 159370, 159530, 159689, 159849, + 160008, 160167, 160327, 160486, 160644, 160803, 160962, 161121, + 161279, 161438, 161596, 161754, 161913, 162071, 162229, 162386, + 162544, 162702, 162860, 163017, 163174, 163332, 163489, 163646, + 163803, 163960, 164117, 164274, 164430, 164587, 164743, 164900, + 165056, 165212, 165368, 165524, 165680, 165836, 165991, 166147, + 166302, 166458, 166613, 166768, 166923, 167078, 167233, 167388, + 167543, 167697, 167852, 168006, 168160, 168315, 168469, 168623, + 168777, 168930, 169084, 169238, 169391, 169545, 169698, 169851, + 170004, 170157, 170310, 170463, 170616, 170768, 170921, 171073, + 171225, 171378, 171530, 171682, 171834, 171985, 172137, 172289, + 172440, 172591, 172743, 172894, 173045, 173196, 173347, 173498, + 173648, 173799, 173949, 174100, 174250, 174400, 174550, 174700, + 174850, 175000, 175149, 175299, 175448, 175598, 175747, 175896, + 176045, 176194, 176343, 176492, 176640, 176789, 176937, 177085, + 177234, 177382, 177530, 177678, 177825, 177973, 178121, 178268, + 178415, 178563, 178710, 178857, 179004, 179151, 179297, 179444, + 179591, 179737, 179883, 180029, 180176, 180322, 180467, 180613, + 180759, 180904, 181050, 181195, 181341, 181486, 181631, 181776, + 181920, 182065, 182210, 182354, 182499, 182643, 182787, 182931, + 183075, 183219, 183363, 183506, 183650, 183793, 183937, 184080, + 184223, 184366, 184509, 184652, 184794, 184937, 185079, 185222, + 185364, 185506, 185648, 185790, 185932, 186073, 186215, 186356, + 186498, 186639, 186780, 186921, 187062, 187203, 187343, 187484, + 187625, 187765, 187905, 188045, 188185, 188325, 188465, 188605, + 188744, 188884, 189023, 189162, 189302, 189441, 189580, 189718, + 189857, 189996, 190134, 190272, 190411, 190549, 190687, 190825, + 190963, 191100, 191238, 191375, 191513, 191650, 191787, 191924, + 192061, 192198, 192334, 192471, 192607, 192744, 192880, 193016, + 193152, 193288, 193424, 193559, 193695, 193830, 193966, 194101, + 194236, 194371, 194506, 194640, 194775, 194910, 195044, 195178, + 195312, 195446, 195580, 195714, 195848, 195982, 196115, 196248, + 196382, 196515, 196648, 196781, 196913, 197046, 197179, 197311, + 197443, 197576, 197708, 197840, 197972, 198103, 198235, 198366, + 198498, 198629, 198760, 198891, 199022, 199153, 199284, 199414, + 199545, 199675, 199805, 199935, 200065, 200195, 200325, 200454, + 200584, 200713, 200843, 200972, 201101, 201230, 201359, 201487, + 201616, 201744, 201873, 202001, 202129, 202257, 202385, 202512, + 202640, 202768, 202895, 203022, 203149, 203276, 203403, 203530, + 203657, 203783, 203910, 204036, 204162, 204288, 204414, 204540, + 204666, 204791, 204917, 205042, 205167, 205292, 205417, 205542, + 205667, 205791, 205916, 206040, 206165, 206289, 206413, 206537, + 206660, 206784, 206907, 207031, 207154, 207277, 207400, 207523, + 207646, 207769, 207891, 208014, 208136, 208258, 208380, 208502, + 208624, 208746, 208867, 208989, 209110, 209231, 209352, 209473, + 209594, 209715, 209835, 209956, 210076, 210196, 210316, 210436, + 210556, 210676, 210795, 210915, 211034, 211153, 211272, 211391, + 211510, 211629, 211748, 211866, 211984, 212103, 212221, 212339, + 212456, 212574, 212692, 212809, 212927, 213044, 213161, 213278, + 213395, 213511, 213628, 213745, 213861, 213977, 214093, 214209, + 214325, 214441, 214556, 214672, 214787, 214902, 215017, 215132, + 215247, 215362, 215476, 215591, 215705, 215819, 215933, 216047, + 216161, 216275, 216388, 216502, 216615, 216728, 216841, 216954, + 217067, 217180, 217292, 217405, 217517, 217629, 217741, 217853, + 217965, 218076, 218188, 218299, 218411, 218522, 218633, 218744, + 218854, 218965, 219075, 219186, 219296, 219406, 219516, 219626, + 219736, 219845, 219955, 220064, 220173, 220282, 220391, 220500, + 220609, 220717, 220826, 220934, 221042, 221150, 221258, 221366, + 221473, 221581, 221688, 221795, 221903, 222010, 222116, 222223, + 222330, 222436, 222542, 222649, 222755, 222861, 222966, 223072, + 223178, 223283, 223388, 223493, 223599, 223703, 223808, 223913, + 224017, 224122, 224226, 224330, 224434, 224538, 224641, 224745, + 224848, 224952, 225055, 225158, 225261, 225364, 225466, 225569, + 225671, 225773, 225875, 225977, 226079, 226181, 226283, 226384, + 226485, 226586, 226688, 226788, 226889, 226990, 227090, 227191, + 227291, 227391, 227491, 227591, 227691, 227790, 227890, 227989, + 228088, 228187, 228286, 228385, 228483, 228582, 228680, 228779, + 228877, 228975, 229072, 229170, 229268, 229365, 229462, 229560, + 229657, 229753, 229850, 229947, 230043, 230140, 230236, 230332, + 230428, 230524, 230619, 230715, 230810, 230905, 231001, 231096, + 231190, 231285, 231380, 231474, 231568, 231663, 231757, 231850, + 231944, 232038, 232131, 232225, 232318, 232411, 232504, 232597, + 232689, 232782, 232874, 232967, 233059, 233151, 233243, 233334, + 233426, 233517, 233609, 233700, 233791, 233882, 233972, 234063, + 234153, 234244, 234334, 234424, 234514, 234604, 234693, 234783, + 234872, 234961, 235050, 235139, 235228, 235317, 235405, 235494, + 235582, 235670, 235758, 235846, 235934, 236021, 236109, 236196, + 236283, 236370, 236457, 236544, 236630, 236717, 236803, 236889, + 236975, 237061, 237147, 237233, 237318, 237403, 237489, 237574, + 237659, 237743, 237828, 237913, 237997, 238081, 238165, 238249, + 238333, 238417, 238500, 238583, 238667, 238750, 238833, 238916, + 238998, 239081, 239163, 239245, 239328, 239410, 239491, 239573, + 239655, 239736, 239817, 239898, 239979, 240060, 240141, 240221, + 240302, 240382, 240462, 240542, 240622, 240702, 240781, 240861, + 240940, 241019, 241098, 241177, 241256, 241334, 241413, 241491, + 241569, 241647, 241725, 241803, 241881, 241958, 242035, 242112, + 242189, 242266, 242343, 242420, 242496, 242572, 242649, 242725, + 242800, 242876, 242952, 243027, 243103, 243178, 243253, 243328, + 243402, 243477, 243551, 243626, 243700, 243774, 243848, 243921, + 243995, 244068, 244142, 244215, 244288, 244361, 244433, 244506, + 244578, 244651, 244723, 244795, 244867, 244938, 245010, 245081, + 245153, 245224, 245295, 245366, 245436, 245507, 245577, 245648, + 245718, 245788, 245858, 245927, 245997, 246066, 246136, 246205, + 246274, 246342, 246411, 246480, 246548, 246616, 246684, 246752, + 246820, 246888, 246955, 247023, 247090, 247157, 247224, 247291, + 247357, 247424, 247490, 247556, 247622, 247688, 247754, 247820, + 247885, 247951, 248016, 248081, 248146, 248211, 248275, 248340, + 248404, 248468, 248532, 248596, 248660, 248723, 248787, 248850, + 248913, 248976, 249039, 249102, 249164, 249227, 249289, 249351, + 249413, 249475, 249536, 249598, 249659, 249721, 249782, 249843, + 249903, 249964, 250025, 250085, 250145, 250205, 250265, 250325, + 250385, 250444, 250503, 250562, 250622, 250680, 250739, 250798, + 250856, 250914, 250973, 251031, 251088, 251146, 251204, 251261, + 251318, 251375, 251432, 251489, 251546, 251602, 251659, 251715, + 251771, 251827, 251883, 251938, 251994, 252049, 252104, 252159, + 252214, 252269, 252324, 252378, 252432, 252487, 252541, 252594, + 252648, 252702, 252755, 252808, 252861, 252914, 252967, 253020, + 253072, 253125, 253177, 253229, 253281, 253333, 253384, 253436, + 253487, 253538, 253589, 253640, 253691, 253741, 253792, 253842, + 253892, 253942, 253992, 254042, 254091, 254141, 254190, 254239, + 254288, 254337, 254385, 254434, 254482, 254530, 254578, 254626, + 254674, 254721, 254769, 254816, 254863, 254910, 254957, 255004, + 255050, 255097, 255143, 255189, 255235, 255281, 255326, 255372, + 255417, 255462, 255507, 255552, 255597, 255642, 255686, 255730, + 255774, 255818, 255862, 255906, 255949, 255993, 256036, 256079, + 256122, 256165, 256207, 256250, 256292, 256334, 256376, 256418, + 256460, 256502, 256543, 256584, 256625, 256666, 256707, 256748, + 256788, 256829, 256869, 256909, 256949, 256989, 257028, 257068, + 257107, 257146, 257185, 257224, 257263, 257301, 257340, 257378, + 257416, 257454, 257492, 257529, 257567, 257604, 257641, 257678, + 257715, 257752, 257789, 257825, 257861, 257897, 257933, 257969, + 258005, 258040, 258076, 258111, 258146, 258181, 258216, 258250, + 258285, 258319, 258353, 258387, 258421, 258455, 258488, 258522, + 258555, 258588, 258621, 258654, 258686, 258719, 258751, 258783, + 258815, 258847, 258879, 258910, 258942, 258973, 259004, 259035, + 259066, 259096, 259127, 259157, 259187, 259217, 259247, 259277, + 259307, 259336, 259365, 259395, 259423, 259452, 259481, 259509, + 259538, 259566, 259594, 259622, 259650, 259677, 259705, 259732, + 259759, 259786, 259813, 259840, 259866, 259893, 259919, 259945, + 259971, 259997, 260022, 260048, 260073, 260098, 260123, 260148, + 260173, 260197, 260221, 260246, 260270, 260294, 260317, 260341, + 260365, 260388, 260411, 260434, 260457, 260480, 260502, 260525, + 260547, 260569, 260591, 260613, 260634, 260656, 260677, 260698, + 260719, 260740, 260761, 260781, 260802, 260822, 260842, 260862, + 260882, 260901, 260921, 260940, 260959, 260978, 260997, 261016, + 261034, 261053, 261071, 261089, 261107, 261125, 261143, 261160, + 261177, 261195, 261212, 261228, 261245, 261262, 261278, 261294, + 261310, 261326, 261342, 261358, 261373, 261389, 261404, 261419, + 261434, 261448, 261463, 261477, 261492, 261506, 261520, 261533, + 261547, 261561, 261574, 261587, 261600, 261613, 261626, 261638, + 261651, 261663, 261675, 261687, 261699, 261710, 261722, 261733, + 261744, 261755, 261766, 261777, 261788, 261798, 261808, 261818, + 261828, 261838, 261848, 261857, 261866, 261876, 261885, 261894, + 261902, 261911, 261919, 261927, 261936, 261943, 261951, 261959, + 261966, 261974, 261981, 261988, 261995, 262001, 262008, 262014, + 262021, 262027, 262033, 262038, 262044, 262050, 262055, 262060, + 262065, 262070, 262075, 262079, 262084, 262088, 262092, 262096, + 262100, 262103, 262107, 262110, 262113, 262116, 262119, 262122, + 262124, 262127, 262129, 262131, 262133, 262135, 262136, 262138, + 262139, 262140, 262141, 262142, 262143, 262143, 262144, 262144, + 262144, 0 +}; +#else /* ROCKBOX */ t_sample cos_table[] = { 262144, 262144, 262144, 262144, 262144, 262144, 262144, 262144, @@ -4097,4 +5130,6 @@ t_sample cos_table[] = 262141, 262141, 262142, 262142, 262142, 262142, 262142, 262143, 262143, 262143, 262143, 262143, 262143, 262143, 262144, 262144, 262144, 262144, 262144, 262144, 262144, 262144, 262144, 262144, - 262144, 0}; + 262144, 0 +}; +#endif /* ROCKBOX */ diff --git a/apps/plugins/pdbox/PDa/intern/cos_table.h b/apps/plugins/pdbox/PDa/intern/cos_table.h index e573ea6b57..b7dfa6fe4c 100644 --- a/apps/plugins/pdbox/PDa/intern/cos_table.h +++ b/apps/plugins/pdbox/PDa/intern/cos_table.h @@ -1,4 +1,8 @@ /* For definition of the cos_table[] look into cos_table.c */ +#ifdef ROCKBOX +#define ILOGCOSTABSIZE 13 +#else /* ROCKBOX */ #define ILOGCOSTABSIZE 15 +#endif /* ROCKBOX */ #define ICOSTABSIZE (1<>= fix1 */ \ + "orr %[lo], %[lo], %[hi], lsl %[shl]" /* lo |= (hi << (32-fix1)) */ \ + : [lo]"=&r"(lo), [hi]"=&r"(hi) \ + : [x]"r"(A), [y]"r"(B), [shr]"r"(fix1), [shl]"r"(32-fix1)); \ + lo; \ + }) +#define idiv(a,b) ((((long long) (a) )<>fix1) #define idiv(a,b) ((((long long) (a) )<