blob: e9911347e88897ee63adf974fbd8078d0f859268 [file] [log] [blame] [edit]
/*
* DCA compatible decoder data
* Copyright (C) 2004 Gildas Bazin
* Copyright (c) 2006 Benjamin Larsson
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdint.h>
#include "libavutil/mem.h"
#include "dca.h"
#include "dcadata.h"
/* Generic tables */
const uint32_t ff_dca_bit_rates[32] = {
32000, 56000, 64000, 96000, 112000, 128000,
192000, 224000, 256000, 320000, 384000,
448000, 512000, 576000, 640000, 768000,
896000, 1024000, 1152000, 1280000, 1344000,
1408000, 1411200, 1472000, 1536000, 1920000,
2048000, 3072000, 3840000, 1 /* open */, 2 /* variable */, 3 /* lossless */
};
const uint8_t ff_dca_channels[16] = {
1, 2, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 8
};
const uint8_t ff_dca_bits_per_sample[8] = {
16, 16, 20, 20, 0, 24, 24, 0
};
const uint8_t ff_dca_dmix_primary_nch[8] = {
1, 2, 2, 3, 3, 4, 4, 0
};
/* ADPCM data */
/* 16bits signed fractional Q13 binary codes */
const int16_t ff_dca_adpcm_vb[4096][4] = {
{ 9928, -2618, -1093, -1263 },
{ 11077, -2876, -1747, -308 },
{ 10503, -1082, -1426, -1167 },
{ 9337, -2403, -1495, 274 },
{ 10698, -2529, -532, -1122 },
{ 10368, -3974, -1264, -750 },
{ 10070, -3667, 346, 863 },
{ 10278, -3093, 311, -576 },
{ 9894, -1330, -1428, -860 },
{ 10544, -1923, -1058, -971 },
{ 10996, -1632, -841, -1404 },
{ 11832, -3465, 1658, -1990 },
{ 10852, -688, -2658, -499 },
{ 10546, -1749, -147, -1733 },
{ 10801, -1004, -708, -1453 },
{ 10588, -441, -2113, -952 },
{ 10141, -3331, -582, -1432 },
{ 9608, -2590, 383, 258 },
{ 11422, -3265, 229, -1544 },
{ 10460, -1338, -713, -1568 },
{ 10306, -1721, -1660, -603 },
{ 9580, -1812, -1235, -1061 },
{ 11471, -2285, -1617, -607 },
{ 10081, -2225, -1408, -868 },
{ 10715, -2624, -1367, -704 },
{ 10616, -1871, -2770, -35 },
{ 9352, -2340, -1024, -1566 },
{ 11065, -1458, -1926, -735 },
{ 11334, -2056, -1041, -1144 },
{ 9825, -2048, -794, -1536 },
{ 11850, -2695, -1123, -867 },
{ 10654, -2226, -1891, -373 },
{ 10024, -1557, -808, -1069 },
{ 11142, -1266, -3238, 128 },
{ 11729, -3282, -514, -1011 },
{ 11402, -2094, -2335, -189 },
{ 10195, -3658, 181, -1875 },
{ 11431, -2626, -404, -1377 },
{ 11001, -3868, -619, -1077 },
{ 10894, -2559, 274, -1758 },
{ 9633, -1482, -2253, -773 },
{ 11245, -3321, 830, -1972 },
{ 9768, -2701, -199, -1859 },
{ 10500, -2042, 525, -2043 },
{ 11669, -4069, 293, -1468 },
{ 9192, -1991, -583, -61 },
{ 10057, -3220, -2015, -473 },
{ 9497, -2315, -2490, -467 },
{ 10455, -3069, -1194, -1007 },
{ 9994, -1936, -60, -1225 },
{ 9295, -2156, -1761, -1134 },
{ 10085, -3748, -1026, 197 },
{ 9334, -2360, 804, -351 },
{ 11561, -2553, 1352, -2313 },
{ 12837, -3998, 1195, -1958 },
{ 10114, -1100, -2414, -394 },
{ 9341, -2530, 315, 755 },
{ 10131, -3164, 1411, -674 },
{ 9535, -905, -1551, 579 },
{ 11717, -1519, -3051, 91 },
{ 9824, -2911, -2775, 192 },
{ 9662, -2934, -561, 1450 },
{ 11085, -3392, -1298, -659 },
{ 8955, -2102, -1899, 703 },
{ 8607, -1742, -4348, 814 },
{ 7640, -2063, -3617, 52 },
{ 7074, -826, -4325, 4375 },
{ 7714, 584, -4238, 1927 },
{ 6355, -952, -4912, 3127 },
{ 7069, -660, -6413, 4087 },
{ 8313, -132, -2964, -876 },
{ 6952, -1422, -3962, -24 },
{ 9299, -734, -3088, -263 },
{ 9484, -574, -4513, 466 },
{ 7246, -91, -3735, -704 },
{ 8325, -1417, -3090, -530 },
{ 6469, -1226, -4757, 829 },
{ 6652, -368, -5682, 1393 },
{ 7971, -1278, -2284, 1205 },
{ 7229, -699, -3556, 1840 },
{ 7994, 1284, -2729, 732 },
{ 9005, -698, -4522, 2189 },
{ 6963, 197, -2727, 380 },
{ 8527, 135, -3991, -213 },
{ 8840, 934, -3014, -567 },
{ 10125, 418, -3284, -371 },
{ 6367, 361, -2318, 2554 },
{ 7892, 172, -5247, 4673 },
{ 6674, 387, -5424, 4398 },
{ 6240, 684, -4047, 1219 },
{ 11170, -794, -5081, 1195 },
{ 11765, -648, -6265, 2052 },
{ 10845, -775, -3837, 366 },
{ 12496, -689, -8260, 3562 },
{ 7893, -1166, -4972, 988 },
{ 8592, 1052, -5986, 3087 },
{ 7277, 1874, -5685, 3579 },
{ 6900, 2016, -4809, 3491 },
{ 8530, -2405, -3250, 1986 },
{ 9426, 494, -7067, 5038 },
{ 10285, 564, -8210, 5370 },
{ 8749, -2207, -3980, 2852 },
{ 9653, -2686, -4300, 1400 },
{ 9770, -2286, -5663, 4233 },
{ 8490, -4, -7048, 4496 },
{ 7697, -1209, -5328, 3183 },
{ 6451, 801, -4324, -554 },
{ 7387, 1806, -5265, 545 },
{ 7450, -2302, -4445, 1418 },
{ 8817, -1370, -5827, 2168 },
{ 10324, -2406, -5629, 2579 },
{ 8863, -2578, -3537, 467 },
{ 6901, -1624, -3169, 3392 },
{ 7846, 156, -6948, 3381 },
{ 7928, -1115, -5972, 4816 },
{ 6089, -599, -4368, -320 },
{ 7833, 1246, -3960, -621 },
{ 8931, 2521, -6768, 2052 },
{ 8900, 1944, -4126, 40 },
{ 7661, -34, -2855, 2480 },
{ 5873, 474, -3262, 3712 },
{ 7535, -234, -4699, 216 },
{ 5856, 143, -5142, 73 },
{ 8944, -106, -5874, 3663 },
{ 7134, 426, -5879, 2895 },
{ 10199, 1011, -4762, 369 },
{ 8454, 264, -5971, 1291 },
{ 7822, -2449, -4333, 4540 },
{ 6200, -2758, -2632, 1497 },
{ 6070, -4315, -2699, 414 },
{ 7047, -3739, -3210, 1060 },
{ 5675, -3801, -2717, -407 },
{ 4789, -4063, -2628, -744 },
{ 4023, -3366, -3133, -726 },
{ 4296, -2407, -3381, -513 },
{ 4388, -2931, -2820, 1512 },
{ 4559, -4233, -1941, 1976 },
{ 6702, -3208, -1755, 1680 },
{ 4416, -3521, -1052, 2984 },
{ 7154, -4266, -1203, 3732 },
{ 3625, -4242, -3244, 1395 },
{ 6518, -2856, -1304, 2887 },
{ 6170, -1949, -3014, 3973 },
{ 5189, -2451, -4020, 3477 },
{ 6218, -2988, -1921, 3844 },
{ 4827, -3688, -1928, 3343 },
{ 6668, -3991, -2805, 3095 },
{ 5297, -3115, -3684, 2390 },
{ 5354, -4614, -2662, 1504 },
{ 4196, -3091, -4147, 1135 },
{ 3540, -2893, -4007, 100 },
{ 5569, -1602, -4007, 1909 },
{ 4341, -2091, -4272, 252 },
{ 5559, -2878, -3832, 498 },
{ 4548, -4479, -2898, -27 },
{ 5176, -2494, -4635, 1476 },
{ 3294, -3485, -3738, 716 },
{ 4920, -1229, -4195, -365 },
{ 3257, -3518, -3349, 2862 },
{ 5286, -1948, -3485, -778 },
{ 6502, -3051, -152, 2854 },
{ 5864, -4192, -1076, 3451 },
{ 4656, -3122, -3448, 179 },
{ 5907, -754, -1596, 3116 },
{ 7229, -3680, -1590, 2892 },
{ 5107, -3888, -3364, 806 },
{ 6764, -2635, -3450, 134 },
{ 5258, -2827, -2844, -1052 },
{ 5798, -1725, -4305, 205 },
{ 5404, -1213, -3362, 449 },
{ 6224, -2738, -3046, -581 },
{ 4223, -2438, -2725, 3745 },
{ 4751, -3411, -2123, 116 },
{ 3868, -3000, -3954, 2297 },
{ 6819, -2899, -4277, 2825 },
{ 4207, -4754, -2808, 865 },
{ 4804, -1494, -1997, 4688 },
{ 5282, -2213, -548, 3559 },
{ 5580, -1912, -566, 4370 },
{ 6168, -2857, -672, 4053 },
{ 6583, -4515, -2850, 1670 },
{ 6511, -3093, -3988, 1421 },
{ 4646, -1790, -1443, 3650 },
{ 5915, -924, -2020, 896 },
{ 7814, -4181, -3152, 2007 },
{ 6190, -2238, -4817, 2279 },
{ 4737, -4034, -3288, 1835 },
{ 8161, -3633, -3423, 3137 },
{ 7415, -2351, -2088, 4290 },
{ 4106, -2517, -62, 2905 },
{ 4909, -3145, -614, 4112 },
{ 4938, -3281, -397, 1100 },
{ -173, 919, 1589, -5363 },
{ -13, 796, -295, -6655 },
{ -1860, -829, 1141, -4555 },
{ 2298, -838, -664, -5005 },
{ -884, -1097, 2074, -4613 },
{ -101, 281, 2846, -4535 },
{ 1166, 453, 2429, -5910 },
{ 879, -664, 2370, -5452 },
{ 1415, -370, -1699, -4727 },
{ -1413, 1277, -669, -6649 },
{ 2133, 304, -968, -4624 },
{ 380, 586, -2087, -4892 },
{ 1336, 275, -82, -5789 },
{ -2459, 1057, -34, -5416 },
{ 2278, -1758, 866, -5653 },
{ 1945, -2295, -149, -5302 },
{ 1287, -3525, 996, -5255 },
{ 2297, 803, 1177, -6067 },
{ 187, -180, -619, -6202 },
{ -793, -2537, 1554, -5057 },
{ -2703, -204, -629, -5853 },
{ -1007, -146, 313, -5582 },
{ 830, 357, 869, -6363 },
{ -228, -575, -3177, -4433 },
{ -1001, -1553, -142, -5708 },
{ -1644, 1683, 1721, -4533 },
{ 893, 1924, -15, -5791 },
{ 2195, 2061, -262, -5471 },
{ 3031, 270, 311, -5096 },
{ 1912, 1638, -1523, -4677 },
{ -3142, -55, 253, -4914 },
{ 356, -1680, 343, -6123 },
{ -2241, -1734, -976, -5939 },
{ -2196, -2893, 547, -4938 },
{ -1245, 126, -1916, -5419 },
{ -249, -3755, -1422, -5594 },
{ 575, -2683, -1926, -4566 },
{ -762, 1885, 192, -5880 },
{ -811, -2562, -1068, -6013 },
{ -2264, -3086, -976, -4775 },
{ 70, -1215, 2880, -4410 },
{ 714, -3760, 2916, -4691 },
{ -244, -3404, 1740, -4493 },
{ 684, -5137, -328, -5608 },
{ -529, -3825, -1786, -4535 },
{ -713, -4743, -1118, -5546 },
{ 2718, -3788, 1798, -5708 },
{ -1639, -3679, -1564, -6095 },
{ 1693, -2642, -1389, -4539 },
{ 505, -1573, -1651, -4878 },
{ -835, -2256, -1941, -5352 },
{ 1464, -411, 1993, -6441 },
{ 493, -3184, -145, -6148 },
{ -1413, 499, -1617, -6479 },
{ -294, 1722, -1419, -5725 },
{ -2937, -1528, -175, -4624 },
{ -594, -5911, -56, -6146 },
{ -300, -4275, 1156, -5947 },
{ 552, -2643, 2669, -3959 },
{ 905, -4158, 1789, -5809 },
{ 1336, -2009, 2108, -5903 },
{ 1555, -3600, 1110, -6759 },
{ -1294, -3464, 77, -6084 },
{ -1139, -4006, -1270, -4181 },
{ -5094, -3296, 1092, -2847 },
{ -5503, -2883, 1984, -2067 },
{ -4671, -4218, -1417, -4132 },
{ -3763, -3818, 1262, -3082 },
{ -5132, -3430, 2928, -728 },
{ -5957, -2877, 1251, -2446 },
{ -4425, -2319, -212, -4276 },
{ -6201, -1993, 1774, -2182 },
{ -5500, -3836, 2201, -1396 },
{ -6934, -2334, 2366, -1293 },
{ -6124, -4140, 1337, -1977 },
{ -6553, -4186, 1756, -1325 },
{ -5126, -1258, 744, -3656 },
{ -5167, -1390, 1581, -2895 },
{ -4525, -3398, 2429, -1865 },
{ -4076, -3183, 2027, -2510 },
{ -6191, -3274, 1838, -1814 },
{ -4454, -2753, 2723, -1185 },
{ -6655, -4797, 251, -2595 },
{ -6332, -2232, 1832, 217 },
{ -5869, -1698, 134, 340 },
{ -6614, -1045, 2126, -1932 },
{ -4859, -2107, 2010, -2435 },
{ -6274, -1622, 2808, -1374 },
{ -3119, -3209, 521, -3988 },
{ -5676, -2082, -420, -2711 },
{ -7073, -3623, 696, -2343 },
{ -5986, -4224, 572, -2454 },
{ -4340, -4521, 882, -2771 },
{ -6178, -1933, 535, -1444 },
{ -4923, -4163, 1744, -2066 },
{ -6410, -1519, 1058, -2683 },
{ -5077, -1185, 856, -2216 },
{ -7091, -2444, 687, -2597 },
{ -5284, -2165, 3239, -993 },
{ -4763, -1497, 197, -3179 },
{ -4128, -4958, -396, -3578 },
{ -5054, -3878, -647, -2672 },
{ -7005, -3348, 1679, -1579 },
{ -5767, -1017, 2582, -1915 },
{ -7069, -2787, 1331, -2070 },
{ -5532, -2296, 706, -2950 },
{ -5059, -3543, -821, -3637 },
{ -6639, -1835, 1016, -696 },
{ -5611, -5220, -694, -3371 },
{ -5994, -2803, 2933, -729 },
{ -5948, -619, 1596, -2676 },
{ -5486, -4419, 153, -3265 },
{ -4329, -3440, 1646, -1439 },
{ -4083, -3978, 177, -3569 },
{ -4289, -2599, 1224, -3075 },
{ -5707, -3253, 1912, -759 },
{ -6606, -3437, 2562, -571 },
{ -5254, -2444, 769, -352 },
{ -6545, -3154, 582, -1103 },
{ -5328, -2241, 2566, -1775 },
{ -7216, -1936, 1538, -1983 },
{ -3730, -2451, 426, -3869 },
{ -5110, -1385, 2031, -1169 },
{ -6470, -2715, 269, -3123 },
{ -5806, -2480, -97, -3832 },
{ -3683, -4916, -490, -4330 },
{ -6341, -2083, -669, -115 },
{ -4913, -4079, -837, -4673 },
{ -3274, -2497, 2334, -2652 },
{ -1286, -1731, 2550, -3756 },
{ -3375, -877, 926, -3977 },
{ -2525, -2079, 2879, -2625 },
{ -5308, -504, 3111, -1607 },
{ -4904, 460, 4093, -1232 },
{ -1993, 1616, 4656, -1913 },
{ -3481, -1176, 3119, -2236 },
{ -4132, -1502, 2339, -2545 },
{ -2542, 1151, 3569, -2550 },
{ -4381, 430, 3147, -2082 },
{ -3888, 867, 3899, -1657 },
{ -2861, 1290, 4202, -1979 },
{ -3893, -253, 2363, -2764 },
{ -1705, 688, 3827, -2923 },
{ -2223, 2312, 3700, -3148 },
{ -1986, -720, 5021, -795 },
{ -3177, 242, 1952, -3352 },
{ -1854, 1509, 2528, -3815 },
{ -3173, 97, 5019, -706 },
{ -2689, -145, 1375, -3915 },
{ -4838, -385, 2488, -2427 },
{ -4557, -355, 1603, -3060 },
{ -3522, 1832, 3292, -2674 },
{ -3769, 780, 2378, -2704 },
{ -4323, -1932, 3414, -1169 },
{ -2740, 1158, 2729, -3273 },
{ -3647, 210, 1464, -2892 },
{ -2342, -2097, 1513, -3727 },
{ -4422, -1242, 3130, -1833 },
{ -1308, -1039, 4290, -1875 },
{ -1754, -2535, 3298, -2314 },
{ -4102, -186, 4037, -1094 },
{ -1008, 1570, 3290, 171 },
{ -3322, -2621, 2791, -1536 },
{ -2539, -2597, 3442, -1672 },
{ -3411, -2015, 3670, -1174 },
{ -2097, 730, 5581, -1399 },
{ -1510, -74, 4820, -2004 },
{ -4086, -868, 4425, -771 },
{ -956, -986, 3640, -2925 },
{ -2087, -1250, 3464, -2458 },
{ -3308, -2411, 1334, -3667 },
{ -2264, -389, 4004, -1854 },
{ -680, 239, 4058, -3388 },
{ -1357, 30, 2993, -3658 },
{ -3601, -552, 1177, -1136 },
{ -2641, 442, 4374, -1625 },
{ -2525, 770, 1640, -3895 },
{ -3172, -891, 3893, -1608 },
{ -2996, 13, 3277, -2414 },
{ -899, 1055, 4470, -2501 },
{ -422, -584, 3475, -3787 },
{ -1978, -593, 2566, -3415 },
{ -3150, -1280, 2362, -3047 },
{ -3592, 224, 1026, -3932 },
{ -4840, -1189, 3633, -879 },
{ -3952, -2255, 2916, -1826 },
{ -1695, 28, 1810, -349 },
{ -745, -2484, 3308, -3293 },
{ -1016, 1563, 5365, -1823 },
{ -2172, -1787, 4266, -1287 },
{ -1241, -1951, 3982, -2413 },
{ -2009, -2639, 2330, -3480 },
{ 5105, -1618, -2588, -2015 },
{ 6497, -1523, -3218, -910 },
{ 6526, -2305, -2029, -1790 },
{ 5289, -99, -3436, -400 },
{ 5781, -1623, -1577, -2617 },
{ 5259, -670, -3125, -1700 },
{ 6343, -1256, -331, -3222 },
{ 7967, -678, -2195, -1462 },
{ 6119, -695, -2988, -1538 },
{ 6108, 494, -3359, -1548 },
{ 5067, 969, -2328, -2707 },
{ 7595, -435, -1497, -2056 },
{ 6929, -719, -2420, -1665 },
{ 5190, 584, -2982, -2103 },
{ 6106, -444, -1411, -2739 },
{ 5584, 289, -1804, -2803 },
{ 5276, 227, -1180, -3361 },
{ 7544, -1525, -1834, -1725 },
{ 5986, -1470, -2606, -1701 },
{ 5096, -765, -1712, -3006 },
{ 5423, -149, -3933, -1157 },
{ 7651, 26, -2445, -1507 },
{ 4745, -464, -1735, -2362 },
{ 5352, -1011, -1094, -1999 },
{ 6300, -672, -542, -1950 },
{ 6675, -1020, -1318, -1059 },
{ 7218, -2036, -603, -2462 },
{ 7755, -1514, -2430, -1229 },
{ 5041, 449, -1056, -2405 },
{ 6710, -2277, -1344, -2284 },
{ 6824, -1347, -2254, 251 },
{ 6068, -1857, -983, -1316 },
{ 5603, -2177, -2730, -1477 },
{ 5838, -1059, -3604, -970 },
{ 5076, -789, -335, -2413 },
{ 6191, -1634, -2000, -2129 },
{ 5092, -1292, -2543, -1034 },
{ 5305, 435, -1710, -1850 },
{ 6140, 561, -2176, -2380 },
{ 6752, 348, -2496, -1890 },
{ 6405, 273, -1098, -2778 },
{ 6942, -1340, -496, -1381 },
{ 5238, -687, -2454, -2349 },
{ 6959, -882, -1833, -2061 },
{ 6292, -253, -2125, -2199 },
{ 5838, -574, -759, -3215 },
{ 6954, -1484, -640, -2771 },
{ 7498, -1706, -1210, -2154 },
{ 6772, -1003, -1235, -2532 },
{ 6014, 228, -2154, -1108 },
{ 6943, -2178, -2644, -1122 },
{ 7262, -763, -3056, -1090 },
{ 6273, -1478, -1072, 177 },
{ 4734, 425, -2912, 357 },
{ 7129, 168, -1537, -2327 },
{ 7204, -434, -746, -2660 },
{ 6879, 57, -3087, -1310 },
{ 4623, -610, -718, -3459 },
{ 6565, -543, -1998, -339 },
{ 4752, -277, -2066, -1405 },
{ 7435, -1416, -1904, -505 },
{ 4076, 150, -1222, -3556 },
{ 7082, -28, -1456, -1174 },
{ 5941, -446, -1326, -1158 },
{ 3870, -1648, -2474, -2589 },
{ 858, 37, -3387, -3721 },
{ 3557, -1503, -1664, -3383 },
{ 3336, -1972, -3079, -2216 },
{ 3186, 60, -4185, -863 },
{ 3456, -773, -3066, -2457 },
{ 4131, -913, -2060, -2601 },
{ 4431, -691, -4114, -972 },
{ 3461, -334, -3680, -1751 },
{ 2006, -459, -2214, -3827 },
{ 1322, 32, -2816, -3203 },
{ 4425, -1897, -2791, -1946 },
{ 4504, 23, -3421, -1909 },
{ 3090, -885, -2366, -3264 },
{ 3209, -2363, -3730, -834 },
{ 3312, -1471, -3641, -1579 },
{ 4184, -1669, -3323, -1248 },
{ 2190, -931, -3302, -2944 },
{ 2947, -229, -4791, -1195 },
{ 2020, -1626, -2700, -3125 },
{ 2214, -326, -4352, -1683 },
{ 3286, -2619, -2412, -2458 },
{ 1000, -2571, -4129, -2158 },
{ 2496, -2627, -3611, -1433 },
{ 2043, -2191, -2167, -3827 },
{ 2571, -2544, -1915, -3222 },
{ 2022, -1501, -3856, -2165 },
{ 2685, -1180, -1461, -4038 },
{ 1610, -2313, -4391, -1173 },
{ 2340, -2490, -4215, -516 },
{ 1742, -2615, -3632, -2146 },
{ 523, -1293, -4246, -2442 },
{ 3725, -2723, -3014, -1576 },
{ 3554, -1381, -4200, -824 },
{ 1291, -1594, -4777, -1430 },
{ 1452, 515, -2960, -3830 },
{ 4264, -894, -3305, -1826 },
{ 2606, -1452, -4522, -966 },
{ 1196, -830, -4807, -1816 },
{ 1054, -775, -2616, -4071 },
{ 4206, 415, -4344, -1132 },
{ 3044, 491, -4126, -1934 },
{ 988, -901, -3353, -3443 },
{ 1729, -3063, -2267, -3370 },
{ 3915, 912, -2989, -2387 },
{ 3781, 300, -2457, -3050 },
{ 2712, 924, -1350, -1206 },
{ 4230, 405, -2343, 665 },
{ 1878, -873, -225, -29 },
{ 3510, 56, -1334, -3420 },
{ 2850, 1447, -2651, -3150 },
{ 1510, -706, -4125, -2483 },
{ 3115, 793, -1692, -3894 },
{ 2667, 213, -2973, -2786 },
{ 1184, -2384, -3051, -3173 },
{ 2139, 796, -2079, -3697 },
{ 1464, -1483, -3726, -2754 },
{ 2407, -1148, -3915, -1569 },
{ 2612, -1779, -3217, -2271 },
{ 2406, -2870, -2937, -2496 },
{ 2140, 126, -3646, -2758 },
{ 2952, -1036, 268, -1423 },
{ 93, -1931, -3841, -3535 },
{ 389, -2953, -3383, -3343 },
{ 8652, -5511, -1662, 565 },
{ 7427, -2791, -2535, -842 },
{ 8541, -4253, -1407, -988 },
{ 8018, -3203, -2998, 105 },
{ 7231, -3926, -958, 1308 },
{ 7331, -3690, -363, 2586 },
{ 6803, -3646, -2226, -903 },
{ 8163, -2811, -477, -2235 },
{ 9356, -3818, -1685, -684 },
{ 8466, -2854, -302, -698 },
{ 8458, -3224, 517, 279 },
{ 8074, -2619, -1326, 2596 },
{ 8779, -2761, -2527, -441 },
{ 6533, -2887, -899, -696 },
{ 7394, -2305, -1642, -120 },
{ 8281, -3780, -22, 1305 },
{ 9158, -4413, -779, 901 },
{ 9031, -5240, -1109, 1678 },
{ 8717, -3650, 410, -1075 },
{ 7317, -3197, -818, -2264 },
{ 7934, -2385, -1214, -1886 },
{ 8256, -4441, -291, -587 },
{ 7358, -3395, 1090, -270 },
{ 9446, -4910, -1343, -473 },
{ 8187, -4726, -808, 1166 },
{ 7504, -3845, -47, 267 },
{ 8029, -2146, -1283, -383 },
{ 7461, -2705, -853, 783 },
{ 9367, -3636, -645, -354 },
{ 8955, -3473, -308, -1947 },
{ 8676, -2683, -2099, 1485 },
{ 7481, -3003, -871, -444 },
{ 8015, -2839, -1673, 1175 },
{ 6947, -4643, -1527, -1047 },
{ 7622, -2575, -137, -960 },
{ 9388, -4279, -707, -1322 },
{ 8382, -5259, -1283, -565 },
{ 6856, -4138, -1030, 630 },
{ 8659, -2571, -1124, -1666 },
{ 8763, -3807, -537, 2543 },
{ 8049, -3578, -2186, -604 },
{ 8272, -2351, -1985, -1214 },
{ 6855, -3796, -1527, -1631 },
{ 7178, -2896, -1600, -1756 },
{ 7040, -2888, -89, -1586 },
{ 6261, -3403, -264, 998 },
{ 7756, -4699, -1543, -834 },
{ 7682, -4622, -758, -1721 },
{ 8839, -4232, -2932, 1959 },
{ 9363, -4679, -1956, 39 },
{ 7883, -3616, -1414, -1432 },
{ 8828, -3188, -1356, -1312 },
{ 7746, -3987, -121, -2424 },
{ 9262, -3256, -693, 818 },
{ 7670, -3420, -148, 3504 },
{ 7344, -3183, 608, 1595 },
{ 8976, -4139, -1848, 1304 },
{ 6708, -4131, 33, -852 },
{ 7840, -4429, -2275, 79 },
{ 8980, -3858, -2838, 453 },
{ 7815, -4604, -2563, 944 },
{ 8372, -4422, -1783, 3071 },
{ 8623, -5128, -1754, 2888 },
{ 7462, -3281, 889, 920 },
{ 8416, -59, -1320, -1825 },
{ 7928, -1488, -414, -2499 },
{ 8110, -977, -1047, -2042 },
{ 8278, -687, -1597, -1550 },
{ 7988, -174, -977, -2106 },
{ 8609, -1547, -1628, -1527 },
{ 9000, -1798, -946, -1761 },
{ 8954, -872, -1404, -1594 },
{ 8939, 466, -748, -1212 },
{ 9549, -329, -177, -1360 },
{ 9411, -18, -1126, -1568 },
{ 8859, -782, -488, -1338 },
{ 8955, -218, -43, -1209 },
{ 9131, -69, -453, -1001 },
{ 9069, -1519, -1091, -1199 },
{ 9247, -1309, -566, -1146 },
{ 8528, -1617, -287, -1313 },
{ 7763, -745, -149, -2040 },
{ 8294, -343, 257, -2633 },
{ 10149, -893, -552, -1649 },
{ 9398, -915, 218, -2042 },
{ 9703, -1194, -675, -1592 },
{ 9586, -700, -427, -1710 },
{ 8930, 497, -1445, -1218 },
{ 9285, -1323, -163, -1552 },
{ 8431, -1289, -985, -1404 },
{ 8965, -655, 653, -1483 },
{ 9542, -1001, -951, -1128 },
{ 9205, -647, -37, -882 },
{ 8603, -56, 514, -1793 },
{ 9300, -12, -1324, -567 },
{ 8773, 238, -184, -1456 },
{ 9941, -1306, -69, -1792 },
{ 9360, 279, -376, -1919 },
{ 9180, -285, 95, -2170 },
{ 9922, -501, -970, -1570 },
{ 8341, -1493, -856, -2092 },
{ 8780, -981, -850, -1014 },
{ 9721, -548, -1504, -1094 },
{ 9973, -1493, 482, -2105 },
{ 8707, -333, -1027, -1087 },
{ 9098, -469, -315, -1723 },
{ 8879, -1050, -661, -2020 },
{ 8857, 602, -866, -1918 },
{ 8945, -1025, -2154, -1071 },
{ 8484, -1930, -468, -2179 },
{ 9177, -1903, -224, -2112 },
{ 8652, -137, -2097, -1214 },
{ 9063, -973, -1405, -772 },
{ 9328, -456, 662, -2469 },
{ 10101, -697, 127, -2113 },
{ 9685, 811, -2359, -1024 },
{ 8586, -94, -460, -1982 },
{ 7924, -141, -509, -2513 },
{ 7773, -669, -107, -2835 },
{ 8636, -1064, -46, -2409 },
{ 9748, 596, -1815, -1349 },
{ 8924, 304, 547, -2614 },
{ 9442, 746, -1153, -1679 },
{ 9454, -278, -529, -1976 },
{ 8488, 561, -32, -2160 },
{ 10083, -63, -1544, -1364 },
{ 9390, -1278, 568, -1131 },
{ 9740, -49, -2253, -910 },
{ 3636, -2391, -1115, -3614 },
{ 6014, -3204, -1902, -1808 },
{ 5787, -3497, -1116, -2590 },
{ 4365, -3046, -1632, -2668 },
{ 4733, -2192, -2029, -2468 },
{ 5412, -2753, -1633, -2464 },
{ 4455, -3375, -767, -3399 },
{ 4456, -1644, -983, -2841 },
{ 4039, -2523, 38, -3967 },
{ 3406, -2662, 72, -4757 },
{ 4279, -2005, 1055, -4399 },
{ 4321, -1377, -860, -3786 },
{ 3743, -5739, -651, -3047 },
{ 3528, -5510, 361, -4060 },
{ 6496, -4886, -136, -2689 },
{ 4513, -5254, 551, -4010 },
{ 6557, -3413, -92, -3063 },
{ 4186, -2059, 187, 47 },
{ 6210, -4117, -1256, -1985 },
{ 6038, -4343, 351, -2124 },
{ 4305, -4780, -2077, -1897 },
{ 4480, -3815, -2228, -1533 },
{ 5582, -3689, 1221, -3429 },
{ 5532, -4874, 1195, -2765 },
{ 6518, -2853, -905, -2568 },
{ 5467, -2192, 470, -4115 },
{ 4139, -1577, 240, -3493 },
{ 5281, -1926, -729, -3340 },
{ 5214, -2870, 1359, -4289 },
{ 3046, -3510, -1536, -3214 },
{ 5433, -2881, -1230, -1184 },
{ 4861, -3932, -1071, -2791 },
{ 5693, -4234, -1906, -1502 },
{ 4004, -3935, -1804, -2383 },
{ 3728, -3792, 681, -4773 },
{ 3621, -3030, -1951, -2598 },
{ 5133, -3903, 44, -3700 },
{ 3561, -3451, 1183, -5301 },
{ 5026, -2762, -2341, -1780 },
{ 5841, -2492, -467, -3210 },
{ 5591, -1791, 497, -2472 },
{ 5054, -3898, -1822, -2097 },
{ 5813, -2792, 83, -1469 },
{ 4432, -4497, 1670, -5193 },
{ 5338, -4653, -1109, -2200 },
{ 3239, -4401, -648, -3655 },
{ 2147, -3598, -1200, -4242 },
{ 4417, -2271, -1552, -3210 },
{ 6494, -4360, 852, -3565 },
{ 2393, -6358, -856, -4524 },
{ 4959, -4196, -847, -1403 },
{ 4924, -5438, -226, -3026 },
{ 4254, -5303, -1306, -2424 },
{ 4121, -3126, -2334, -1981 },
{ 3437, -4443, -1464, -2953 },
{ 3203, -3459, -529, -4339 },
{ 5896, -5945, 543, -3246 },
{ 1987, -4733, -220, -4863 },
{ 4358, -4431, -514, -3081 },
{ 4583, -2416, -492, -2287 },
{ 2943, -5035, 419, -4927 },
{ 5358, -5129, 987, -4309 },
{ 4460, -3392, 1752, -5634 },
{ 3415, -4633, 1507, -5945 },
{ 811, -4692, -445, 2333 },
{ 1009, -5613, -1857, 1360 },
{ 1338, -2712, -2720, 3036 },
{ 1002, -3754, -2582, 2344 },
{ 750, -4608, -2334, 714 },
{ 2043, -3207, -2822, 2173 },
{ -140, -4654, -2953, 357 },
{ -54, -4026, -2376, 2695 },
{ 1858, -5022, -717, 2287 },
{ 2064, -3894, -722, 3255 },
{ 2727, -4558, -332, 2603 },
{ 1810, -5378, 283, 1826 },
{ 3935, -4326, 762, 3383 },
{ -767, -4697, -2510, 1922 },
{ 2146, -4312, -3090, 1641 },
{ 54, -5881, -2114, 921 },
{ 1992, -5766, -640, 1574 },
{ 1200, -5371, -1114, 1828 },
{ 2973, -5337, 34, 2266 },
{ 1531, -5018, -2817, 1192 },
{ 3078, -4570, 117, 1990 },
{ 924, -4286, -1388, 2713 },
{ 142, -5058, -2848, 1487 },
{ -106, -6180, -881, 842 },
{ 673, -5433, -229, 1596 },
{ 783, -5710, -2784, 562 },
{ 1935, -5729, -2009, 856 },
{ -410, -3375, -3326, 2734 },
{ 234, -3000, -2628, 3260 },
{ 733, -3405, -3806, 1589 },
{ 771, -4285, -3544, 1314 },
{ 1192, -3563, -3960, 2178 },
{ 206, -5555, -1250, 1546 },
{ -130, -3815, -1210, 3041 },
{ 646, -3940, -393, 2992 },
{ -184, -4931, -1767, 1925 },
{ 2746, -5120, -2275, 1464 },
{ 2440, -3731, -3352, 2729 },
{ -490, -4942, -3779, 997 },
{ 68, -2636, -4167, 3778 },
{ 48, -3986, -4118, 2106 },
{ -978, -5486, -1336, 1390 },
{ 1126, -5297, -855, 640 },
{ -472, -3975, -3622, 1557 },
{ 2456, -5344, -1523, 1648 },
{ -774, -5652, -2417, 1147 },
{ 995, -6122, -812, 1132 },
{ 3282, -4571, -1763, 2175 },
{ 3655, -3862, -676, 3568 },
{ 3038, -3647, -1672, 3381 },
{ 2595, -2964, -2772, 3263 },
{ 4176, -3353, -1148, 4354 },
{ 1603, -3442, -1500, 3444 },
{ 828, -6226, -1783, 678 },
{ 1421, -3333, -3080, 3403 },
{ 1121, -4727, -1924, 1984 },
{ -186, -5083, -682, 1796 },
{ 819, -2778, -3488, 530 },
{ 421, -2873, -3832, 2596 },
{ 2164, -4263, -1605, 2282 },
{ 585, -4437, -682, -491 },
{ -644, -4452, -1157, 2325 },
{ 1991, -4299, 210, 2834 },
{ 2135, -3632, -2113, 665 },
{ -7482, -2724, -2662, -1380 },
{ -6983, -2166, -3756, -3509 },
{ -7085, -1439, -2397, -3112 },
{ -7760, -3049, -3319, -2822 },
{ -8413, -2760, -4406, -3298 },
{ -5995, -3943, -1260, -3750 },
{ -7879, -1554, -3464, -2606 },
{ -6314, -2034, -3878, -1681 },
{ -8849, -2084, -1399, -1231 },
{ -7153, -2602, -1384, -817 },
{ -8041, -2571, -407, -2785 },
{ -7246, -2233, -1578, 260 },
{ -7336, -3883, -4061, -1342 },
{ -7619, -3908, -2342, 382 },
{ -8684, -3724, -1662, -727 },
{ -7850, -2922, -1770, -3449 },
{ -6766, -2034, -1293, -1988 },
{ -6895, -2116, -968, -3744 },
{ -7136, -5147, -2618, -2809 },
{ -8224, -3724, -2519, -1589 },
{ -6711, -2750, -3021, -219 },
{ -8059, -1638, -1102, -3175 },
{ -8710, -4839, -3963, -3143 },
{ -9363, -4965, -3257, -1002 },
{ -6099, -1751, -3157, -395 },
{ -6453, -3216, -4597, -483 },
{ -7879, -5477, -839, -2638 },
{ -7202, -4038, -526, -2856 },
{ -8022, -1228, -1910, -1646 },
{ -9117, -1393, -1582, -2535 },
{ -9095, -2693, -636, -2605 },
{ -9076, -2580, -3481, -2519 },
{ -8327, -4859, -2422, 83 },
{ -8368, -2129, -2324, -2173 },
{ -8554, -4563, -3842, -2007 },
{ -10462, -4261, -1934, -2084 },
{ -9717, -3187, -2294, -1896 },
{ -9625, -3889, -3020, -3224 },
{ -9857, -4955, -4239, -2184 },
{ -9752, -2351, -2277, -3129 },
{ -7219, -1302, -2639, -1603 },
{ -7477, -4360, -3718, -559 },
{ -5680, -2033, -2326, -3078 },
{ -10190, -5548, -4643, -3601 },
{ -9431, -4121, -879, -2479 },
{ -8365, -5450, -2020, -1439 },
{ -6289, -5178, -1605, -3845 },
{ -8319, -3866, -687, -2792 },
{ -8131, -1031, -3608, -3947 },
{ -10510, -2560, -1199, -2082 },
{ -11015, -3640, -2748, -3041 },
{ -8762, -5022, -5231, -1162 },
{ -10153, -2715, -4648, -4859 },
{ -7930, -5205, -1900, -3600 },
{ -9561, -3548, -4812, -3722 },
{ -7663, -4709, -1180, -1475 },
{ -9073, -5707, -1815, -2980 },
{ -8602, -2363, -2675, -3770 },
{ -9967, -5614, -3575, -3838 },
{ -8324, -1005, -2131, -3254 },
{ -10331, -5737, -2550, -2940 },
{ -8234, -3354, -3361, -4479 },
{ -8140, -1951, -4526, -4545 },
{ -6679, -2662, -2284, -4182 },
{ -1122, -1514, -6427, -212 },
{ 54, -1660, -5424, -1404 },
{ 254, -2778, -5222, 846 },
{ -267, -1661, -6577, 814 },
{ -305, -2021, -5759, 1484 },
{ -1791, -2446, -6867, -86 },
{ -2929, -3158, -6603, -1799 },
{ -1391, -3189, -5557, -1053 },
{ -1602, -884, -6767, -1213 },
{ -361, -318, -6219, -44 },
{ -4078, -2635, -5523, -433 },
{ -956, 478, -4382, 1470 },
{ -3300, -2462, -6021, -2721 },
{ 708, -2434, -5085, -540 },
{ -2435, -3607, -5647, -2110 },
{ -491, -1134, -4681, -2886 },
{ 87, -3435, -4641, -1194 },
{ -586, -2927, -4784, 366 },
{ -1394, -2326, -6021, 350 },
{ 97, -2519, -4678, -2120 },
{ -1547, -1907, -5069, -2993 },
{ 268, -3724, -4719, 127 },
{ -827, -1190, -5912, 1144 },
{ -3959, -2322, -6898, -1974 },
{ -2728, -2228, -6426, -562 },
{ -456, -666, -5785, -1609 },
{ 531, -1096, -5731, -656 },
{ -3569, -688, -3915, 110 },
{ -4752, -1725, -4393, -377 },
{ -3210, -3315, -6960, -840 },
{ -688, -3416, -4971, 1221 },
{ -1833, 77, -6491, -2434 },
{ -239, -255, -6850, -886 },
{ -2112, -1490, -6291, -2689 },
{ -1544, -4579, -5198, -1261 },
{ -2771, -4014, -5520, 683 },
{ -1635, -2829, -5512, 1214 },
{ -958, -2582, -4823, 2360 },
{ -2077, -4566, -4642, 365 },
{ -3112, -4214, -5960, -823 },
{ -2467, -2510, -4858, 1467 },
{ -1561, -3399, -5822, 211 },
{ -775, -1081, -4424, 2636 },
{ -1263, 25, -6378, -1392 },
{ -3476, -366, -5417, -1393 },
{ -3176, -1476, -4149, 1466 },
{ -2479, 518, -4448, -257 },
{ -2992, 158, -4660, -1279 },
{ -1320, -3872, -4479, 1147 },
{ -1475, -312, -5318, 539 },
{ -3527, -1679, -5860, -1681 },
{ -3397, -3438, -5593, 1866 },
{ -4089, -2439, -4763, 1275 },
{ -748, -4513, -4687, -48 },
{ -2166, -4531, -4691, -2856 },
{ -2385, -853, -6035, -627 },
{ -1194, -4091, -4472, -1963 },
{ -682, -3234, -4084, -3033 },
{ -3255, -5015, -5328, -12 },
{ -2313, -3436, -4601, -155 },
{ -2792, -1038, -6947, -2019 },
{ -1244, -1526, -5771, -1882 },
{ -4679, -3731, -5506, 283 },
{ -3062, -66, -3558, -758 },
{ -4895, -1187, 4751, 3728 },
{ -7600, -2752, 3320, 4613 },
{ -5703, -2975, 3944, 2659 },
{ -4972, -1257, -246, 2952 },
{ -4221, -2487, 1702, 4295 },
{ -2900, -1529, 2458, 4935 },
{ -5061, 407, 2416, 4050 },
{ -6931, -3478, 2761, 2213 },
{ -6037, -3921, 3192, 1866 },
{ -6113, -811, 2407, 3782 },
{ -5878, -1716, 1207, 3478 },
{ -5953, -2853, 2207, 2712 },
{ -6807, -3223, 2749, 3595 },
{ -3272, -3157, 1389, 3788 },
{ -5368, -1904, 1980, 5077 },
{ -7235, -1398, 3075, 4548 },
{ -4765, -3487, 2755, 2796 },
{ -7658, -4435, 2694, 2582 },
{ -6997, -4282, 456, 3832 },
{ -5563, -3115, -63, 3713 },
{ -4244, -4220, 1450, 2767 },
{ -3801, -2194, 190, 4303 },
{ -5458, -4119, 1958, 2274 },
{ -7300, -3469, 3514, 3193 },
{ -4594, -2067, 775, 4752 },
{ -3389, -1654, 1464, 5412 },
{ -4845, -3483, 964, 3437 },
{ -6007, -2818, 1666, 4659 },
{ -8709, -5007, 1757, 3287 },
{ -5833, -4389, 1025, 3171 },
{ -5788, -1780, 3944, 3661 },
{ -4430, -920, 1938, 4753 },
{ -7066, -1857, 4591, 4538 },
{ -3549, -513, 1427, 5317 },
{ -7517, -1220, 2883, 3049 },
{ -7605, -2687, 1874, 2735 },
{ -8718, -4035, 2676, 3730 },
{ -7990, -3907, 1185, 2607 },
{ -6058, -1744, 3349, 5157 },
{ -5954, 565, 3161, 3250 },
{ -6478, -612, 1930, 2271 },
{ -6535, -1445, -2, 1618 },
{ -8963, -4151, 1192, 4044 },
{ -7227, -3570, 1600, 4234 },
{ -4674, 79, 595, 3015 },
{ -3974, 430, 2727, 5137 },
{ -5299, 9, 3714, 4779 },
{ -6779, -2699, -8, 2436 },
{ -7016, -1145, 1293, 2310 },
{ -6955, -3312, 1534, 1801 },
{ -4025, 740, 1850, 4054 },
{ -9589, -3460, 4154, 5270 },
{ -4404, -1181, 4298, 5173 },
{ -7356, -4583, -18, 2644 },
{ -6516, -1235, 4439, 6234 },
{ -3453, -301, 4344, 4464 },
{ -4643, 1530, 3315, 4340 },
{ -4575, -2557, 3754, 3682 },
{ -3643, -3501, 2051, 2997 },
{ -5412, -2475, 2301, 1579 },
{ -5846, 259, 1360, 2348 },
{ -5258, -1358, 1050, 838 },
{ -5542, -219, 6377, 5750 },
{ -5713, -2952, 922, 899 },
{ -2049, -1135, 5206, 1033 },
{ -1693, -1886, 4835, -106 },
{ -2344, -3504, 4232, -13 },
{ -2475, -2334, 5043, 1126 },
{ -787, -2549, 3880, 2138 },
{ -3159, -2341, 4830, 2887 },
{ -1780, -1009, 6240, 2061 },
{ -4327, -3363, 2818, 886 },
{ -3376, -2743, 4104, 207 },
{ -3250, -4640, 2718, 1498 },
{ -382, -1075, 4382, 3460 },
{ -2416, -4168, 3530, 816 },
{ -1756, -2708, 4861, 622 },
{ -1879, -2097, 5156, 2889 },
{ -2496, -2418, 3722, 2671 },
{ -2717, -3252, 3341, 1944 },
{ -4063, -4091, 3306, 267 },
{ -3549, -3808, 3747, 842 },
{ -2635, 546, 5794, 1894 },
{ -1857, -1121, 4383, 3964 },
{ -2226, -2166, 3489, 3678 },
{ -3492, -660, 5323, 1063 },
{ -3033, -3130, 4382, 1828 },
{ -2703, -625, 6369, 2851 },
{ -1656, -2842, 4584, -528 },
{ -4781, -2622, 4390, 2097 },
{ -413, -2045, 5081, 3035 },
{ -3810, -2662, 4532, 1095 },
{ -3144, -1858, 5215, 1880 },
{ -3562, -1795, 4928, 670 },
{ -4800, -1509, 5189, 1859 },
{ -1085, -3832, 4169, 900 },
{ -1969, -3270, 2857, 2878 },
{ -4267, -4140, 3176, 1805 },
{ -5145, -3727, 3524, 1168 },
{ -1346, -1876, 5501, 1748 },
{ -4998, -2945, 3699, 338 },
{ -3458, -3096, 3406, -635 },
{ -1751, -3209, 3508, 395 },
{ -2507, 170, 5987, 705 },
{ -3756, -1072, 5647, 3536 },
{ -2870, -1439, 5026, 3212 },
{ -3913, -3225, 3669, 2144 },
{ -3739, 226, 5747, 764 },
{ -2052, -820, 5266, 3093 },
{ -3214, -3820, 2409, 2391 },
{ -4398, -2588, 3501, -218 },
{ -4484, -1763, 4180, -198 },
{ -3368, -1525, 4362, -134 },
{ -2407, 224, 4905, 3533 },
{ -1369, -2937, 4728, 1788 },
{ -4848, -1707, 4159, 851 },
{ -3454, -1749, 4281, 3230 },
{ -1990, -3853, 3487, 1735 },
{ -3117, 92, 6155, 4075 },
{ -2676, -2472, 4078, -589 },
{ -1547, -2012, 2626, 1835 },
{ -4275, -588, 4824, 725 },
{ -601, -2249, 3736, 3548 },
{ -4060, -61, 5333, 3097 },
{ -4303, 7, 6551, 3054 },
{ -5003, -1029, 5786, 3319 },
{ -2810, -728, 5392, 199 },
{ -1232, -200, 5228, 3121 },
{ 2621, 165, -6255, 298 },
{ 3669, 537, -6844, 1564 },
{ 1598, -1190, -6235, 2523 },
{ 2164, -32, -6894, 1383 },
{ 853, -1597, -6069, 1449 },
{ 1377, -1661, -5266, 108 },
{ 2660, 48, -5172, -517 },
{ 1903, -391, -5677, 1010 },
{ 3792, 206, -5274, -11 },
{ 1239, 2776, -2929, 2721 },
{ 4071, 149, -7259, 3125 },
{ 1436, -480, -6156, -196 },
{ 1373, -1960, -5005, 3122 },
{ 3413, -1271, -5176, 3283 },
{ 3060, -68, -6495, 2238 },
{ 2700, -2075, -4681, 91 },
{ 2928, -1728, -5168, 1858 },
{ 4424, 828, -4471, 88 },
{ 2672, -2604, -4038, 2753 },
{ 5223, -123, -6749, 2295 },
{ 4237, -420, -5538, 1353 },
{ 4744, -1281, -4097, 4708 },
{ 1103, -2764, -4751, 2024 },
{ 3747, -1913, -3911, 3960 },
{ 2470, -1416, -5542, 615 },
{ 4847, -1354, -5334, 1733 },
{ 5336, 88, -7593, 4007 },
{ 2388, -2880, -4807, 1037 },
{ 4495, 1391, -5685, -139 },
{ 5253, 1637, -6450, 1533 },
{ 1199, 795, -5515, 1261 },
{ 1397, -1259, -4252, 3838 },
{ 746, 70, -6640, 604 },
{ 1584, 166, -4972, 3072 },
{ 380, -999, -5397, 2267 },
{ 2974, 1707, -3242, 5360 },
{ 5202, -403, -5453, 2832 },
{ 3718, -1731, -4760, 714 },
{ 4150, -975, -4792, 61 },
{ 2925, -818, -4841, 15 },
{ 5301, 577, -4006, 3259 },
{ 5265, 1986, -5679, 3028 },
{ 3752, 1928, -4509, 3729 },
{ 3278, 1925, -6370, 1247 },
{ 5107, 1721, -4853, 3127 },
{ 3279, 2982, -2515, 4005 },
{ 4622, 668, -6204, 759 },
{ 6034, 317, -5763, 4818 },
{ -558, 57, -3785, 2817 },
{ 4476, 1616, -3965, 4536 },
{ 5953, 2056, -8215, 2715 },
{ 4387, 2613, -7463, 868 },
{ 5834, 1088, -4736, 4924 },
{ 6473, -856, -6991, 4172 },
{ 4959, -293, -5162, 76 },
{ 2731, -843, -6119, 3847 },
{ 3245, 1202, -6833, 616 },
{ 2553, 1383, -3829, 3859 },
{ 4332, 2099, -3480, 3622 },
{ 2110, 2683, -2728, 3990 },
{ 876, 1167, -3290, 3466 },
{ 3991, 1709, -2410, 4077 },
{ 5105, 939, -2584, 3256 },
{ 4719, 688, -1566, 3040 },
{ -3632, 4335, 1266, -3303 },
{ -4956, 3207, 1312, -2806 },
{ -4669, 2627, 2663, -2435 },
{ -4282, 3708, 2303, -3038 },
{ -4536, 2297, -175, -3350 },
{ -5234, 2503, -139, -880 },
{ -3978, 1512, 1092, -3619 },
{ -4519, 4649, 1363, -2455 },
{ -5118, 3132, 1961, -1577 },
{ -5196, 3379, -182, -1378 },
{ -6420, 4486, 2397, -1993 },
{ -5030, 5046, 1292, -1118 },
{ -4559, 2573, -927, -1406 },
{ -3501, 3730, 691, -4930 },
{ -4364, 2758, 1007, -3909 },
{ -4026, 2839, -1559, -2340 },
{ -5037, 4053, 836, -1571 },
{ -4727, 5136, 1110, -3588 },
{ -5245, 2799, -999, -2164 },
{ -4954, 1501, 422, -3963 },
{ -5994, 2726, 1462, -2833 },
{ -5621, 5159, 2038, -2512 },
{ -4991, 2291, 1917, -3151 },
{ -5469, 4382, -148, -2978 },
{ -5858, 1983, 807, -2720 },
{ -4709, 3556, 952, -467 },
{ -2489, 2362, 1714, -4230 },
{ -4717, 5004, -1180, -3672 },
{ -5914, 3653, 1359, -1317 },
{ -5506, 2995, 780, -1059 },
{ -5287, 3945, 2480, -2293 },
{ -3849, 4358, 322, -1770 },
{ -3911, 3570, 252, -3185 },
{ -3660, 5128, 158, -3719 },
{ -4599, 3277, -503, -2727 },
{ -3673, 3760, -1252, -3339 },
{ -5161, 2337, 388, -1943 },
{ -3529, 2216, 2156, -3080 },
{ -4309, 4331, 1808, -1460 },
{ -4782, 3820, 480, -2504 },
{ -4166, 3544, -378, -1567 },
{ -5572, 2466, -418, -2909 },
{ -6096, 2930, 119, -1878 },
{ -5963, 3554, 1011, -2233 },
{ -6433, 4335, 935, -2930 },
{ -5004, 3314, -1352, -3430 },
{ -6042, 3463, -1008, -3940 },
{ -4671, 2214, -640, -5040 },
{ -2795, 3759, 1412, -3803 },
{ -3647, 4436, 729, -515 },
{ -3594, 1033, 56, -4148 },
{ -2908, 3027, 2889, -3485 },
{ -3338, 2234, 313, -4285 },
{ -3825, 4497, -561, -2634 },
{ -6167, 3012, -48, -3149 },
{ -4828, 3515, -969, -4475 },
{ -5789, 2757, -539, -4173 },
{ -2452, 3067, 564, -4249 },
{ -4921, 1358, 1331, -2889 },
{ -3127, 4239, -1045, -1523 },
{ -4780, 2326, -1118, -3446 },
{ -3908, 5546, 152, -2622 },
{ -6972, 2976, 337, -2809 },
{ -4839, 4613, -35, -4077 },
{ -1408, 4822, -1149, -4997 },
{ -981, 4979, -912, -6304 },
{ -2098, 5689, -888, -2878 },
{ -3343, 4814, -657, -4434 },
{ -2461, 3601, -967, -4869 },
{ -2652, 3944, 87, -5520 },
{ -1104, 6076, 174, -6407 },
{ 355, 5370, -1721, -5869 },
{ 1242, 4497, -1107, -5091 },
{ -89, 4002, -1491, -5182 },
{ 1059, 5693, -1591, -4905 },
{ 1323, 4682, -2078, -4768 },
{ 818, 3996, -549, -5468 },
{ -287, 4529, 929, -5543 },
{ -919, 5519, -2791, -2844 },
{ -1407, 5679, -3289, -3974 },
{ -189, 6530, -3547, -4002 },
{ -900, 7039, -3371, -4855 },
{ -2983, 7211, -363, -4835 },
{ -814, 6503, -104, -5106 },
{ -2386, 6896, 809, -4919 },
{ 845, 4492, 352, -6621 },
{ -1998, 7237, -1646, -4231 },
{ -3380, 6251, 471, -4577 },
{ -1908, 7059, 84, -5726 },
{ -340, 6346, -803, -6265 },
{ -2279, 5834, -47, -4633 },
{ -1532, 5286, -1748, -1901 },
{ -2757, 6188, -453, -3415 },
{ -1255, 6405, -2043, -6357 },
{ 918, 5581, -121, -5667 },
{ 1840, 5336, -821, -5034 },
{ -2475, 4992, -1825, -3104 },
{ -2413, 5606, -1789, -4298 },
{ 132, 5128, -2389, -4442 },
{ 223, 6400, -2653, -4742 },
{ -673, 5012, 680, -4582 },
{ -1657, 6624, -349, -3596 },
{ -755, 6289, -1860, -3978 },
{ -572, 6894, -1946, -5207 },
{ -1141, 4756, -2665, -5586 },
{ -1073, 4269, -431, -4030 },
{ 186, 5761, 916, -5868 },
{ -1907, 4836, 1017, -5106 },
{ -963, 3363, -1248, -6348 },
{ -3262, 4774, -1818, -5858 },
{ 847, 3812, -2538, -4302 },
{ -1223, 5903, 1360, -5479 },
{ -1094, 6923, -1244, -2381 },
{ 267, 6276, -709, -2846 },
{ -157, 5840, 1124, -4266 },
{ 889, 3206, -910, -5305 },
{ -1736, 3344, 582, -4838 },
{ -2357, 5676, -2695, -6277 },
{ -1916, 6901, -986, -5397 },
{ -3062, 6028, -695, -5687 },
{ 1836, 3566, -1357, -5226 },
{ -2176, 4938, 646, -3872 },
{ -2199, 3055, -208, -6124 },
{ -236, 3032, -821, -5325 },
{ -3989, 7277, -565, -3899 },
{ -595, 4362, 74, -5975 },
{ 684, 5874, -841, -4424 },
{ -2731, 6305, -2389, -5465 },
{ -5775, 1325, -56, -2528 },
{ -7029, -534, -1890, -3278 },
{ -5798, -15, -2734, -2210 },
{ -5504, -1198, -353, -3659 },
{ -5079, 960, -894, -4336 },
{ -6073, -36, -133, -3014 },
{ -5782, -259, -1025, -3986 },
{ -6843, 1262, -807, -1639 },
{ -5263, -918, -3290, -579 },
{ -4840, 461, -2158, -533 },
{ -6014, -50, -620, 504 },
{ -5843, 241, -1359, -282 },
{ -5898, 577, 769, -3271 },
{ -6833, -946, -466, -3347 },
{ -6026, 1459, -512, -729 },
{ -7361, 747, -388, -1110 },
{ -6391, 2142, -1160, -2513 },
{ -6995, 304, 498, -2673 },
{ -6757, 679, -386, -433 },
{ -5222, 1688, -1093, -1032 },
{ -5019, 575, 184, -3627 },
{ -4237, 628, -3507, -1243 },
{ -7479, -456, -1722, -1486 },
{ -6464, 713, -1273, -1153 },
{ -6255, 1682, -606, -3607 },
{ -7033, 1497, -71, -1955 },
{ -6694, 1556, -1721, -3214 },
{ -6114, -356, 813, -2575 },
{ -5308, 632, -1851, -1636 },
{ -5742, -911, -1733, 383 },
{ -6083, -387, -2313, -879 },
{ -6535, -530, -1505, -2083 },
{ -4896, 1223, -2750, -1816 },
{ -6392, -463, -3247, -2093 },
{ -5373, 1264, -2706, -3042 },
{ -3894, -1390, -1020, -891 },
{ -6179, 1168, -1966, -1922 },
{ -5162, 1668, -1617, -1916 },
{ -6453, 920, -1169, -2432 },
{ -6130, 2005, -536, -1519 },
{ -6552, -98, -518, -1938 },
{ -7528, 355, -1101, -1772 },
{ -5745, 610, -247, -1360 },
{ -7003, 177, -2064, -1958 },
{ -6956, -570, -2220, -4225 },
{ -7830, 791, -1394, -2774 },
{ -7634, 480, -3171, -4224 },
{ -7913, 1154, -350, -2381 },
{ -5063, 1704, -1804, -2977 },
{ -4887, -524, -2703, 188 },
{ -5551, 406, -1620, -3063 },
{ -7109, 1342, 381, -3021 },
{ -6846, 631, -458, -3398 },
{ -4606, -605, 11, -3930 },
{ -8134, -225, -1738, -2648 },
{ -7043, 402, -2734, -3059 },
{ -7417, 1825, -2545, -4389 },
{ -6971, -236, -1031, -665 },
{ -5752, 2111, -1632, -3808 },
{ -7660, -78, -624, -3135 },
{ -6358, 619, -1951, -3911 },
{ -8134, 408, -1935, -3695 },
{ -6335, 1911, -2368, -4505 },
{ -7116, 2163, -344, -2753 },
{ 2357, 4488, 2220, -5682 },
{ 1385, 3206, 2300, -5305 },
{ 1419, 2557, 5203, -3516 },
{ 262, 4315, 3920, -1847 },
{ 3316, 3187, 1612, -5609 },
{ 1729, 2350, 1673, -6068 },
{ 1603, 6126, 1467, -2839 },
{ -1339, 3316, 3691, -3530 },
{ -563, 4618, 3180, -4548 },
{ 463, 4624, 3111, -5614 },
{ 1246, 5455, 3356, -5720 },
{ 480, 2149, 5422, -2893 },
{ 1768, 4827, 913, -5579 },
{ -149, 5381, 4366, -3297 },
{ 985, 3672, 2644, -92 },
{ -258, 2911, 5817, -2213 },
{ 3428, 3289, 3351, -3541 },
{ -666, 3295, 4727, -2869 },
{ 35, 6641, 4160, -4052 },
{ 623, 6787, 3156, -4560 },
{ 2654, 4360, 4676, -4632 },
{ 1386, 5246, 4834, -4497 },
{ 3488, 4574, 3856, -5946 },
{ 383, 4481, 4168, -4110 },
{ 1753, 3652, 4288, -3326 },
{ 1344, 4905, 2508, -4660 },
{ 1580, 4106, 3104, -2224 },
{ 2027, 5038, 1683, -1554 },
{ 446, 3699, 5872, -3013 },
{ 4637, 4087, 3578, -5018 },
{ 2629, 3560, 5331, -4900 },
{ 1527, 6674, 2523, -4131 },
{ -1437, 2804, 2528, -4464 },
{ -229, 3355, 2016, -5537 },
{ 3666, 3418, 4374, -4581 },
{ 1192, 3799, 923, -6596 },
{ 2040, 2956, 448, -5322 },
{ 2468, 5768, 4029, -5869 },
{ 3438, 6516, 3529, -6667 },
{ 2737, 5495, 680, -5535 },
{ 3896, 5727, 1801, -4958 },
{ 4988, 4957, 3592, -6518 },
{ -542, 4416, 5794, -2787 },
{ 4136, 4354, 2064, -4696 },
{ 3067, 5936, 1207, -3396 },
{ 2789, 4966, 2405, -3854 },
{ 1731, 3270, 3251, -1063 },
{ 1767, 5537, 2084, -2349 },
{ 465, 3116, 4532, -837 },
{ 1499, 2627, 4610, -2212 },
{ 122, 3095, 3642, -3552 },
{ 2542, 2866, 2705, -6402 },
{ 3134, 4323, 698, -4785 },
{ 731, 1859, 3112, -5242 },
{ 2553, 2980, 3241, -4846 },
{ 1329, 5310, 1607, -6624 },
{ 2468, 1858, 3476, -1034 },
{ -172, 4996, 2000, -5562 },
{ 2621, 4220, 1574, -3386 },
{ -333, 1832, 3362, -4117 },
{ 2169, 6762, 3065, -6225 },
{ 2844, 5528, 3223, -4765 },
{ 526, 5175, 1644, -4267 },
{ 2922, 4426, 2414, -2610 },
{ 452, 1399, -4516, -2636 },
{ 2872, 1720, -4667, -1435 },
{ 1279, 702, -5424, -1984 },
{ 2187, 870, -5021, -1341 },
{ 583, -144, -4628, -2464 },
{ 3, 2237, -5284, -2827 },
{ -19, 1005, -5460, -1819 },
{ 2897, 2084, -5885, -515 },
{ -400, 3370, -5527, -2947 },
{ 1505, 2593, -5518, -1802 },
{ 1341, 4534, -5094, -1899 },
{ 3241, 3670, -5493, -1252 },
{ -1287, 921, -5994, -1675 },
{ 627, 408, -6652, -364 },
{ -260, 1127, -4849, -3247 },
{ 371, 3400, -5976, -2285 },
{ 1533, 1566, -6373, -610 },
{ 2462, 4274, -6184, -1254 },
{ 1782, 3363, -6222, -1381 },
{ 572, 4650, -5673, -2754 },
{ 2674, 3414, -4460, -2154 },
{ 3614, 3820, -6883, -398 },
{ 1136, -1, -5511, -1112 },
{ -1773, 1137, -5647, -2377 },
{ -753, 2104, -6085, -2565 },
{ -204, 3025, -4731, -1418 },
{ -1486, 1438, -4380, -216 },
{ 302, 858, -5786, -264 },
{ 3486, 1495, -5234, -783 },
{ 888, 2327, -3423, -3720 },
{ -259, 772, -6596, -1311 },
{ -1197, 2073, -5174, -1826 },
{ 1500, 3470, -4462, -2645 },
{ 3072, 1960, -3277, -2264 },
{ 1841, 952, -4324, -2340 },
{ 1994, 2200, -3940, -2923 },
{ -1782, 1699, -4667, -1075 },
{ -1464, 2906, -3468, -375 },
{ 366, 2380, -3747, 1467 },
{ -545, 1645, -4619, 376 },
{ 1724, 2350, -2374, -3512 },
{ 3184, 2628, -2996, -3275 },
{ 734, 2010, -6239, -1479 },
{ 524, 3756, -4496, -3263 },
{ 1492, 3570, -3494, -3600 },
{ -932, 618, -5389, -2894 },
{ -133, 2161, -4083, -3267 },
{ 786, 774, -3279, -3731 },
{ 1078, 803, -3843, -3007 },
{ -332, 3405, -3347, 40 },
{ -17, 6, -4005, -3690 },
{ -189, 4372, -4488, -2561 },
{ -450, 3846, -3790, -1370 },
{ 362, 2212, -5272, -15 },
{ -1529, 791, -6802, -2296 },
{ 2145, 4241, -4474, 376 },
{ 1813, 2426, -2932, -2726 },
{ -542, 4557, -3140, -1080 },
{ 1192, 3784, -4371, -20 },
{ 2784, 5188, -6399, -1394 },
{ 431, 4561, -3673, -1398 },
{ 1382, 3096, -4083, 1253 },
{ 1209, 4224, -2930, 1500 },
{ 2798, 2684, -6676, -606 },
{ -2396, 1510, -5381, -2713 },
{ -2625, 2542, -4032, -2880 },
{ -1231, 3967, -4098, -2886 },
{ -1393, 2374, -3862, -4525 },
{ -2495, 1665, -1637, -5445 },
{ -3854, 1759, -1750, -4944 },
{ -2373, 1668, -2856, -6251 },
{ -2668, 1981, -886, -4557 },
{ -2927, 4427, -3451, -6172 },
{ -1925, 2596, -4696, -2527 },
{ -3202, 2847, -3928, -5896 },
{ -3332, 1665, -5025, -3412 },
{ -3212, 3115, -4155, -4062 },
{ -1013, 3205, -5133, -3751 },
{ -2022, 4595, -3947, -5611 },
{ -3556, 1755, -3715, -2300 },
{ -1784, 4114, -2723, -1773 },
{ -3586, 4081, -2733, -4942 },
{ -1608, 3685, -4154, -4573 },
{ -3368, 4042, -4452, -6227 },
{ -1407, 3881, -5729, -3719 },
{ -2751, 3281, -5077, -4999 },
{ -3791, 2410, -4906, -5288 },
{ -730, 2303, -4217, -3755 },
{ -1812, 2311, -5492, -3709 },
{ -610, 4336, -3915, -3783 },
{ -2841, 4337, -4278, -4430 },
{ -1662, 4666, -4661, -3964 },
{ -589, 5209, -4923, -3682 },
{ -4155, 2234, -4076, -4218 },
{ -3951, 2770, -2665, -2805 },
{ -2302, 3228, -3717, -1908 },
{ -3129, 4373, -2264, -2851 },
{ -447, 1363, -3578, -4323 },
{ -2648, 4237, -3159, -3071 },
{ -4072, 3241, -3541, -4605 },
{ -4507, 3458, -2339, -3838 },
{ -1646, 997, -4926, -3970 },
{ -3025, 1614, -3940, -1242 },
{ -1337, 1756, -3163, -5529 },
{ -3203, 1865, -3282, -4354 },
{ -1646, 2118, -2203, -6018 },
{ 174, 1871, -2707, -4639 },
{ -2607, 1485, -4778, -4750 },
{ -2199, 3991, -3134, -4879 },
{ -2962, 3323, -2816, -2419 },
{ -5286, 2495, -4548, -5395 },
{ -2810, 3710, -2274, -4211 },
{ -330, 3006, -2993, -4678 },
{ -1187, 2411, -2743, -5196 },
{ -664, 4033, -3101, -5641 },
{ -1458, 3602, -2816, -5371 },
{ -4116, 4923, -3321, -5630 },
{ -4165, 2528, -2592, -4798 },
{ -2759, 3080, -2333, -5719 },
{ -5157, 3011, -5526, -6348 },
{ -3095, 2126, -5881, -4234 },
{ -4377, 3849, -3600, -6099 },
{ -1994, 4947, -5235, -4753 },
{ -1067, 600, -3258, -5133 },
{ -4992, 3302, -2208, -5051 },
{ -3377, 2981, -1655, -4815 },
{ -3325, 2446, -1787, -6116 },
{ -2341, 2737, -3240, -6347 },
{ -2258, -3732, 3710, -1235 },
{ -1558, -3849, 2694, -3012 },
{ -599, -4837, 3050, -2951 },
{ -2246, -5433, 2798, -1910 },
{ -2255, -4989, 3260, 270 },
{ -3026, -5353, 2693, -1036 },
{ -1151, -6097, 1097, -3782 },
{ -3391, -6012, 2130, -1303 },
{ -2850, -4422, 3375, -480 },
{ -1138, -3779, 1491, -4162 },
{ -551, -3892, 3787, -2082 },
{ -3221, -3676, 3144, -1202 },
{ -3023, -5196, 2650, 605 },
{ -1756, -5729, 2646, 321 },
{ -2693, -4409, 494, -4797 },
{ -1913, -4573, 3372, -1730 },
{ -1277, -3604, 4061, -993 },
{ -420, -4993, 1351, -4796 },
{ -3052, -5333, 1435, -1242 },
{ -602, -5034, 3869, -1141 },
{ -2436, -4680, 1665, -3019 },
{ -2657, -3658, 1459, -3391 },
{ -1220, -6246, 2749, -525 },
{ -3838, -4844, 2265, -1735 },
{ -1247, -5679, 3356, -1417 },
{ -917, -5448, 3342, 105 },
{ -1756, -6839, 2276, -2350 },
{ -412, -5206, 1764, -3539 },
{ -1439, -6915, 1442, -3750 },
{ -1381, -4439, 3863, -282 },
{ -3482, -4953, 2726, -336 },
{ -1376, -5931, 1714, -1987 },
{ -1716, -4405, 2608, 105 },
{ -1590, -5191, 2652, -2704 },
{ -2149, -6442, 2453, -1263 },
{ -3426, -3832, 2334, -1829 },
{ -2747, -5948, 2362, -173 },
{ -2435, -3267, 2966, -1710 },
{ -3979, -4282, 2705, -775 },
{ -356, -4238, 2544, -4343 },
{ -1363, -6471, 2817, -1836 },
{ -2878, -5117, 218, -3149 },
{ -3539, -5196, 1710, -2356 },
{ -2888, -4537, 2746, -1701 },
{ -1870, -4439, 1496, -4121 },
{ -1486, -3388, 3349, -2145 },
{ -3333, -4138, 1467, -2876 },
{ -345, -5340, 1012, -1190 },
{ -1672, -4992, 2289, -1029 },
{ -2146, -5528, 3038, -635 },
{ -316, -3656, 3426, -3152 },
{ -2695, -5812, 2336, -2050 },
{ -2067, -6052, 737, -3258 },
{ -2664, -4205, -350, -1266 },
{ -617, -5406, 80, -4853 },
{ -2418, -3825, 1853, -1326 },
{ -1961, -4339, 583, -4315 },
{ -1495, -5141, -133, -5205 },
{ -3208, -6440, 1691, -2069 },
{ -2632, -3633, 2325, -2761 },
{ -2624, -5670, 1252, -3676 },
{ -3687, -5608, 687, -2833 },
{ -3320, -5707, 16, -3877 },
{ -2738, -6112, 84, -5135 },
{ 2277, -5661, 3076, 843 },
{ 1555, -5769, 2821, -5236 },
{ 536, -6381, 603, -4910 },
{ 734, -4609, 3314, -4092 },
{ 1836, -4547, 3267, -4322 },
{ -13, -5976, 3752, -1607 },
{ 1423, -6318, 2336, 398 },
{ 365, -7779, 1498, -534 },
{ 2104, -8366, 2946, -1345 },
{ 143, -5545, 1898, -3756 },