/******************************************************************************* OpenAirInterface Copyright(c) 1999 - 2014 Eurecom OpenAirInterface is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OpenAirInterface 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 General Public License for more details. You should have received a copy of the GNU General Public License along with OpenAirInterface.The full GNU General Public License is included in this distribution in the file called "COPYING". If not, see . Contact Information OpenAirInterface Admin: openair_admin@eurecom.fr OpenAirInterface Tech : openair_tech@eurecom.fr OpenAirInterface Dev : openair4g-devel@eurecom.fr Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE *******************************************************************************/ short twiddle_fft512[511*4] = {16384,0,0,16384, 16384,0,0,16384, 0,16384,-16384,0, 16384,0,0,16384, 11585,11585,-11585,11585, 0,16384,-16384,0, -11585,11585,-11585,-11585, 16384,0,0,16384, 15137,6270,-6270,15137, 11585,11585,-11585,11585, 6270,15137,-15137,6270, 0,16384,-16384,0, -6270,15137,-15137,-6270, -11585,11585,-11585,-11585, -15137,6270,-6270,-15137, 16384,0,0,16384, 16069,3196,-3196,16069, 15137,6270,-6270,15137, 13623,9102,-9102,13623, 11585,11585,-11585,11585, 9102,13623,-13623,9102, 6270,15137,-15137,6270, 3196,16069,-16069,3196, 0,16384,-16384,0, -3196,16069,-16069,-3196, -6270,15137,-15137,-6270, -9102,13623,-13623,-9102, -11585,11585,-11585,-11585, -13623,9102,-9102,-13623, -15137,6270,-6270,-15137, -16069,3196,-3196,-16069, 16384,0,0,16384, 16305,1606,-1606,16305, 16069,3196,-3196,16069, 15679,4756,-4756,15679, 15137,6270,-6270,15137, 14449,7723,-7723,14449, 13623,9102,-9102,13623, 12665,10394,-10394,12665, 11585,11585,-11585,11585, 10394,12665,-12665,10394, 9102,13623,-13623,9102, 7723,14449,-14449,7723, 6270,15137,-15137,6270, 4756,15679,-15679,4756, 3196,16069,-16069,3196, 1606,16305,-16305,1606, 0,16384,-16384,0, -1606,16305,-16305,-1606, -3196,16069,-16069,-3196, -4756,15679,-15679,-4756, -6270,15137,-15137,-6270, -7723,14449,-14449,-7723, -9102,13623,-13623,-9102, -10394,12665,-12665,-10394, -11585,11585,-11585,-11585, -12665,10394,-10394,-12665, -13623,9102,-9102,-13623, -14449,7723,-7723,-14449, -15137,6270,-6270,-15137, -15679,4756,-4756,-15679, -16069,3196,-3196,-16069, -16305,1606,-1606,-16305, 16384,0,0,16384, 16364,804,-804,16364, 16305,1606,-1606,16305, 16207,2404,-2404,16207, 16069,3196,-3196,16069, 15893,3981,-3981,15893, 15679,4756,-4756,15679, 15426,5520,-5520,15426, 15137,6270,-6270,15137, 14811,7005,-7005,14811, 14449,7723,-7723,14449, 14053,8423,-8423,14053, 13623,9102,-9102,13623, 13160,9760,-9760,13160, 12665,10394,-10394,12665, 12140,11003,-11003,12140, 11585,11585,-11585,11585, 11003,12140,-12140,11003, 10394,12665,-12665,10394, 9760,13160,-13160,9760, 9102,13623,-13623,9102, 8423,14053,-14053,8423, 7723,14449,-14449,7723, 7005,14811,-14811,7005, 6270,15137,-15137,6270, 5520,15426,-15426,5520, 4756,15679,-15679,4756, 3981,15893,-15893,3981, 3196,16069,-16069,3196, 2404,16207,-16207,2404, 1606,16305,-16305,1606, 804,16364,-16364,804, 0,16384,-16384,0, -804,16364,-16364,-804, -1606,16305,-16305,-1606, -2404,16207,-16207,-2404, -3196,16069,-16069,-3196, -3981,15893,-15893,-3981, -4756,15679,-15679,-4756, -5520,15426,-15426,-5520, -6270,15137,-15137,-6270, -7005,14811,-14811,-7005, -7723,14449,-14449,-7723, -8423,14053,-14053,-8423, -9102,13623,-13623,-9102, -9760,13160,-13160,-9760, -10394,12665,-12665,-10394, -11003,12140,-12140,-11003, -11585,11585,-11585,-11585, -12140,11003,-11003,-12140, -12665,10394,-10394,-12665, -13160,9760,-9760,-13160, -13623,9102,-9102,-13623, -14053,8423,-8423,-14053, -14449,7723,-7723,-14449, -14811,7005,-7005,-14811, -15137,6270,-6270,-15137, -15426,5520,-5520,-15426, -15679,4756,-4756,-15679, -15893,3981,-3981,-15893, -16069,3196,-3196,-16069, -16207,2404,-2404,-16207, -16305,1606,-1606,-16305, -16364,804,-804,-16364, 16384,0,0,16384, 16379,402,-402,16379, 16364,804,-804,16364, 16340,1205,-1205,16340, 16305,1606,-1606,16305, 16261,2006,-2006,16261, 16207,2404,-2404,16207, 16143,2801,-2801,16143, 16069,3196,-3196,16069, 15986,3590,-3590,15986, 15893,3981,-3981,15893, 15791,4370,-4370,15791, 15679,4756,-4756,15679, 15557,5139,-5139,15557, 15426,5520,-5520,15426, 15286,5897,-5897,15286, 15137,6270,-6270,15137, 14978,6639,-6639,14978, 14811,7005,-7005,14811, 14635,7366,-7366,14635, 14449,7723,-7723,14449, 14256,8076,-8076,14256, 14053,8423,-8423,14053, 13842,8765,-8765,13842, 13623,9102,-9102,13623, 13395,9434,-9434,13395, 13160,9760,-9760,13160, 12916,10080,-10080,12916, 12665,10394,-10394,12665, 12406,10702,-10702,12406, 12140,11003,-11003,12140, 11866,11297,-11297,11866, 11585,11585,-11585,11585, 11297,11866,-11866,11297, 11003,12140,-12140,11003, 10702,12406,-12406,10702, 10394,12665,-12665,10394, 10080,12916,-12916,10080, 9760,13160,-13160,9760, 9434,13395,-13395,9434, 9102,13623,-13623,9102, 8765,13842,-13842,8765, 8423,14053,-14053,8423, 8076,14256,-14256,8076, 7723,14449,-14449,7723, 7366,14635,-14635,7366, 7005,14811,-14811,7005, 6639,14978,-14978,6639, 6270,15137,-15137,6270, 5897,15286,-15286,5897, 5520,15426,-15426,5520, 5139,15557,-15557,5139, 4756,15679,-15679,4756, 4370,15791,-15791,4370, 3981,15893,-15893,3981, 3590,15986,-15986,3590, 3196,16069,-16069,3196, 2801,16143,-16143,2801, 2404,16207,-16207,2404, 2006,16261,-16261,2006, 1606,16305,-16305,1606, 1205,16340,-16340,1205, 804,16364,-16364,804, 402,16379,-16379,402, 0,16384,-16384,0, -402,16379,-16379,-402, -804,16364,-16364,-804, -1205,16340,-16340,-1205, -1606,16305,-16305,-1606, -2006,16261,-16261,-2006, -2404,16207,-16207,-2404, -2801,16143,-16143,-2801, -3196,16069,-16069,-3196, -3590,15986,-15986,-3590, -3981,15893,-15893,-3981, -4370,15791,-15791,-4370, -4756,15679,-15679,-4756, -5139,15557,-15557,-5139, -5520,15426,-15426,-5520, -5897,15286,-15286,-5897, -6270,15137,-15137,-6270, -6639,14978,-14978,-6639, -7005,14811,-14811,-7005, -7366,14635,-14635,-7366, -7723,14449,-14449,-7723, -8076,14256,-14256,-8076, -8423,14053,-14053,-8423, -8765,13842,-13842,-8765, -9102,13623,-13623,-9102, -9434,13395,-13395,-9434, -9760,13160,-13160,-9760, -10080,12916,-12916,-10080, -10394,12665,-12665,-10394, -10702,12406,-12406,-10702, -11003,12140,-12140,-11003, -11297,11866,-11866,-11297, -11585,11585,-11585,-11585, -11866,11297,-11297,-11866, -12140,11003,-11003,-12140, -12406,10702,-10702,-12406, -12665,10394,-10394,-12665, -12916,10080,-10080,-12916, -13160,9760,-9760,-13160, -13395,9434,-9434,-13395, -13623,9102,-9102,-13623, -13842,8765,-8765,-13842, -14053,8423,-8423,-14053, -14256,8076,-8076,-14256, -14449,7723,-7723,-14449, -14635,7366,-7366,-14635, -14811,7005,-7005,-14811, -14978,6639,-6639,-14978, -15137,6270,-6270,-15137, -15286,5897,-5897,-15286, -15426,5520,-5520,-15426, -15557,5139,-5139,-15557, -15679,4756,-4756,-15679, -15791,4370,-4370,-15791, -15893,3981,-3981,-15893, -15986,3590,-3590,-15986, -16069,3196,-3196,-16069, -16143,2801,-2801,-16143, -16207,2404,-2404,-16207, -16261,2006,-2006,-16261, -16305,1606,-1606,-16305, -16340,1205,-1205,-16340, -16364,804,-804,-16364, -16379,402,-402,-16379, 16384,0,0,16384, 16383,201,-201,16383, 16379,402,-402,16379, 16373,603,-603,16373, 16364,804,-804,16364, 16353,1005,-1005,16353, 16340,1205,-1205,16340, 16324,1406,-1406,16324, 16305,1606,-1606,16305, 16284,1806,-1806,16284, 16261,2006,-2006,16261, 16235,2205,-2205,16235, 16207,2404,-2404,16207, 16176,2603,-2603,16176, 16143,2801,-2801,16143, 16107,2999,-2999,16107, 16069,3196,-3196,16069, 16029,3393,-3393,16029, 15986,3590,-3590,15986, 15941,3786,-3786,15941, 15893,3981,-3981,15893, 15843,4176,-4176,15843, 15791,4370,-4370,15791, 15736,4563,-4563,15736, 15679,4756,-4756,15679, 15619,4948,-4948,15619, 15557,5139,-5139,15557, 15493,5330,-5330,15493, 15426,5520,-5520,15426, 15357,5708,-5708,15357, 15286,5897,-5897,15286, 15213,6084,-6084,15213, 15137,6270,-6270,15137, 15059,6455,-6455,15059, 14978,6639,-6639,14978, 14896,6823,-6823,14896, 14811,7005,-7005,14811, 14724,7186,-7186,14724, 14635,7366,-7366,14635, 14543,7545,-7545,14543, 14449,7723,-7723,14449, 14354,7900,-7900,14354, 14256,8076,-8076,14256, 14155,8250,-8250,14155, 14053,8423,-8423,14053, 13949,8595,-8595,13949, 13842,8765,-8765,13842, 13733,8935,-8935,13733, 13623,9102,-9102,13623, 13510,9269,-9269,13510, 13395,9434,-9434,13395, 13279,9598,-9598,13279, 13160,9760,-9760,13160, 13039,9921,-9921,13039, 12916,10080,-10080,12916, 12792,10238,-10238,12792, 12665,10394,-10394,12665, 12537,10549,-10549,12537, 12406,10702,-10702,12406, 12274,10853,-10853,12274, 12140,11003,-11003,12140, 12004,11151,-11151,12004, 11866,11297,-11297,11866, 11727,11442,-11442,11727, 11585,11585,-11585,11585, 11442,11727,-11727,11442, 11297,11866,-11866,11297, 11151,12004,-12004,11151, 11003,12140,-12140,11003, 10853,12274,-12274,10853, 10702,12406,-12406,10702, 10549,12537,-12537,10549, 10394,12665,-12665,10394, 10238,12792,-12792,10238, 10080,12916,-12916,10080, 9921,13039,-13039,9921, 9760,13160,-13160,9760, 9598,13279,-13279,9598, 9434,13395,-13395,9434, 9269,13510,-13510,9269, 9102,13623,-13623,9102, 8935,13733,-13733,8935, 8765,13842,-13842,8765, 8595,13949,-13949,8595, 8423,14053,-14053,8423, 8250,14155,-14155,8250, 8076,14256,-14256,8076, 7900,14354,-14354,7900, 7723,14449,-14449,7723, 7545,14543,-14543,7545, 7366,14635,-14635,7366, 7186,14724,-14724,7186, 7005,14811,-14811,7005, 6823,14896,-14896,6823, 6639,14978,-14978,6639, 6455,15059,-15059,6455, 6270,15137,-15137,6270, 6084,15213,-15213,6084, 5897,15286,-15286,5897, 5708,15357,-15357,5708, 5520,15426,-15426,5520, 5330,15493,-15493,5330, 5139,15557,-15557,5139, 4948,15619,-15619,4948, 4756,15679,-15679,4756, 4563,15736,-15736,4563, 4370,15791,-15791,4370, 4176,15843,-15843,4176, 3981,15893,-15893,3981, 3786,15941,-15941,3786, 3590,15986,-15986,3590, 3393,16029,-16029,3393, 3196,16069,-16069,3196, 2999,16107,-16107,2999, 2801,16143,-16143,2801, 2603,16176,-16176,2603, 2404,16207,-16207,2404, 2205,16235,-16235,2205, 2006,16261,-16261,2006, 1806,16284,-16284,1806, 1606,16305,-16305,1606, 1406,16324,-16324,1406, 1205,16340,-16340,1205, 1005,16353,-16353,1005, 804,16364,-16364,804, 603,16373,-16373,603, 402,16379,-16379,402, 201,16383,-16383,201, 0,16384,-16384,0, -201,16383,-16383,-201, -402,16379,-16379,-402, -603,16373,-16373,-603, -804,16364,-16364,-804, -1005,16353,-16353,-1005, -1205,16340,-16340,-1205, -1406,16324,-16324,-1406, -1606,16305,-16305,-1606, -1806,16284,-16284,-1806, -2006,16261,-16261,-2006, -2205,16235,-16235,-2205, -2404,16207,-16207,-2404, -2603,16176,-16176,-2603, -2801,16143,-16143,-2801, -2999,16107,-16107,-2999, -3196,16069,-16069,-3196, -3393,16029,-16029,-3393, -3590,15986,-15986,-3590, -3786,15941,-15941,-3786, -3981,15893,-15893,-3981, -4176,15843,-15843,-4176, -4370,15791,-15791,-4370, -4563,15736,-15736,-4563, -4756,15679,-15679,-4756, -4948,15619,-15619,-4948, -5139,15557,-15557,-5139, -5330,15493,-15493,-5330, -5520,15426,-15426,-5520, -5708,15357,-15357,-5708, -5897,15286,-15286,-5897, -6084,15213,-15213,-6084, -6270,15137,-15137,-6270, -6455,15059,-15059,-6455, -6639,14978,-14978,-6639, -6823,14896,-14896,-6823, -7005,14811,-14811,-7005, -7186,14724,-14724,-7186, -7366,14635,-14635,-7366, -7545,14543,-14543,-7545, -7723,14449,-14449,-7723, -7900,14354,-14354,-7900, -8076,14256,-14256,-8076, -8250,14155,-14155,-8250, -8423,14053,-14053,-8423, -8595,13949,-13949,-8595, -8765,13842,-13842,-8765, -8935,13733,-13733,-8935, -9102,13623,-13623,-9102, -9269,13510,-13510,-9269, -9434,13395,-13395,-9434, -9598,13279,-13279,-9598, -9760,13160,-13160,-9760, -9921,13039,-13039,-9921, -10080,12916,-12916,-10080, -10238,12792,-12792,-10238, -10394,12665,-12665,-10394, -10549,12537,-12537,-10549, -10702,12406,-12406,-10702, -10853,12274,-12274,-10853, -11003,12140,-12140,-11003, -11151,12004,-12004,-11151, -11297,11866,-11866,-11297, -11442,11727,-11727,-11442, -11585,11585,-11585,-11585, -11727,11442,-11442,-11727, -11866,11297,-11297,-11866, -12004,11151,-11151,-12004, -12140,11003,-11003,-12140, -12274,10853,-10853,-12274, -12406,10702,-10702,-12406, -12537,10549,-10549,-12537, -12665,10394,-10394,-12665, -12792,10238,-10238,-12792, -12916,10080,-10080,-12916, -13039,9921,-9921,-13039, -13160,9760,-9760,-13160, -13279,9598,-9598,-13279, -13395,9434,-9434,-13395, -13510,9269,-9269,-13510, -13623,9102,-9102,-13623, -13733,8935,-8935,-13733, -13842,8765,-8765,-13842, -13949,8595,-8595,-13949, -14053,8423,-8423,-14053, -14155,8250,-8250,-14155, -14256,8076,-8076,-14256, -14354,7900,-7900,-14354, -14449,7723,-7723,-14449, -14543,7545,-7545,-14543, -14635,7366,-7366,-14635, -14724,7186,-7186,-14724, -14811,7005,-7005,-14811, -14896,6823,-6823,-14896, -14978,6639,-6639,-14978, -15059,6455,-6455,-15059, -15137,6270,-6270,-15137, -15213,6084,-6084,-15213, -15286,5897,-5897,-15286, -15357,5708,-5708,-15357, -15426,5520,-5520,-15426, -15493,5330,-5330,-15493, -15557,5139,-5139,-15557, -15619,4948,-4948,-15619, -15679,4756,-4756,-15679, -15736,4563,-4563,-15736, -15791,4370,-4370,-15791, -15843,4176,-4176,-15843, -15893,3981,-3981,-15893, -15941,3786,-3786,-15941, -15986,3590,-3590,-15986, -16029,3393,-3393,-16029, -16069,3196,-3196,-16069, -16107,2999,-2999,-16107, -16143,2801,-2801,-16143, -16176,2603,-2603,-16176, -16207,2404,-2404,-16207, -16235,2205,-2205,-16235, -16261,2006,-2006,-16261, -16284,1806,-1806,-16284, -16305,1606,-1606,-16305, -16324,1406,-1406,-16324, -16340,1205,-1205,-16340, -16353,1005,-1005,-16353, -16364,804,-804,-16364, -16373,603,-603,-16373, -16379,402,-402,-16379, -16383,201,-201,-16383}; short twiddle_ifft512[511*4] = {16384,0,0,16384, 16384,0,0,16384, 0,-16384,16384,0, 16384,0,0,16384, 11585,-11585,11585,11585, 0,-16384,16384,0, -11585,-11585,11585,-11585, 16384,0,0,16384, 15137,-6270,6270,15137, 11585,-11585,11585,11585, 6270,-15137,15137,6270, 0,-16384,16384,0, -6270,-15137,15137,-6270, -11585,-11585,11585,-11585, -15137,-6270,6270,-15137, 16384,0,0,16384, 16069,-3196,3196,16069, 15137,-6270,6270,15137, 13623,-9102,9102,13623, 11585,-11585,11585,11585, 9102,-13623,13623,9102, 6270,-15137,15137,6270, 3196,-16069,16069,3196, 0,-16384,16384,0, -3196,-16069,16069,-3196, -6270,-15137,15137,-6270, -9102,-13623,13623,-9102, -11585,-11585,11585,-11585, -13623,-9102,9102,-13623, -15137,-6270,6270,-15137, -16069,-3196,3196,-16069, 16384,0,0,16384, 16305,-1606,1606,16305, 16069,-3196,3196,16069, 15679,-4756,4756,15679, 15137,-6270,6270,15137, 14449,-7723,7723,14449, 13623,-9102,9102,13623, 12665,-10394,10394,12665, 11585,-11585,11585,11585, 10394,-12665,12665,10394, 9102,-13623,13623,9102, 7723,-14449,14449,7723, 6270,-15137,15137,6270, 4756,-15679,15679,4756, 3196,-16069,16069,3196, 1606,-16305,16305,1606, 0,-16384,16384,0, -1606,-16305,16305,-1606, -3196,-16069,16069,-3196, -4756,-15679,15679,-4756, -6270,-15137,15137,-6270, -7723,-14449,14449,-7723, -9102,-13623,13623,-9102, -10394,-12665,12665,-10394, -11585,-11585,11585,-11585, -12665,-10394,10394,-12665, -13623,-9102,9102,-13623, -14449,-7723,7723,-14449, -15137,-6270,6270,-15137, -15679,-4756,4756,-15679, -16069,-3196,3196,-16069, -16305,-1606,1606,-16305, 16384,0,0,16384, 16364,-804,804,16364, 16305,-1606,1606,16305, 16207,-2404,2404,16207, 16069,-3196,3196,16069, 15893,-3981,3981,15893, 15679,-4756,4756,15679, 15426,-5520,5520,15426, 15137,-6270,6270,15137, 14811,-7005,7005,14811, 14449,-7723,7723,14449, 14053,-8423,8423,14053, 13623,-9102,9102,13623, 13160,-9760,9760,13160, 12665,-10394,10394,12665, 12140,-11003,11003,12140, 11585,-11585,11585,11585, 11003,-12140,12140,11003, 10394,-12665,12665,10394, 9760,-13160,13160,9760, 9102,-13623,13623,9102, 8423,-14053,14053,8423, 7723,-14449,14449,7723, 7005,-14811,14811,7005, 6270,-15137,15137,6270, 5520,-15426,15426,5520, 4756,-15679,15679,4756, 3981,-15893,15893,3981, 3196,-16069,16069,3196, 2404,-16207,16207,2404, 1606,-16305,16305,1606, 804,-16364,16364,804, 0,-16384,16384,0, -804,-16364,16364,-804, -1606,-16305,16305,-1606, -2404,-16207,16207,-2404, -3196,-16069,16069,-3196, -3981,-15893,15893,-3981, -4756,-15679,15679,-4756, -5520,-15426,15426,-5520, -6270,-15137,15137,-6270, -7005,-14811,14811,-7005, -7723,-14449,14449,-7723, -8423,-14053,14053,-8423, -9102,-13623,13623,-9102, -9760,-13160,13160,-9760, -10394,-12665,12665,-10394, -11003,-12140,12140,-11003, -11585,-11585,11585,-11585, -12140,-11003,11003,-12140, -12665,-10394,10394,-12665, -13160,-9760,9760,-13160, -13623,-9102,9102,-13623, -14053,-8423,8423,-14053, -14449,-7723,7723,-14449, -14811,-7005,7005,-14811, -15137,-6270,6270,-15137, -15426,-5520,5520,-15426, -15679,-4756,4756,-15679, -15893,-3981,3981,-15893, -16069,-3196,3196,-16069, -16207,-2404,2404,-16207, -16305,-1606,1606,-16305, -16364,-804,804,-16364, 16384,0,0,16384, 16379,-402,402,16379, 16364,-804,804,16364, 16340,-1205,1205,16340, 16305,-1606,1606,16305, 16261,-2006,2006,16261, 16207,-2404,2404,16207, 16143,-2801,2801,16143, 16069,-3196,3196,16069, 15986,-3590,3590,15986, 15893,-3981,3981,15893, 15791,-4370,4370,15791, 15679,-4756,4756,15679, 15557,-5139,5139,15557, 15426,-5520,5520,15426, 15286,-5897,5897,15286, 15137,-6270,6270,15137, 14978,-6639,6639,14978, 14811,-7005,7005,14811, 14635,-7366,7366,14635, 14449,-7723,7723,14449, 14256,-8076,8076,14256, 14053,-8423,8423,14053, 13842,-8765,8765,13842, 13623,-9102,9102,13623, 13395,-9434,9434,13395, 13160,-9760,9760,13160, 12916,-10080,10080,12916, 12665,-10394,10394,12665, 12406,-10702,10702,12406, 12140,-11003,11003,12140, 11866,-11297,11297,11866, 11585,-11585,11585,11585, 11297,-11866,11866,11297, 11003,-12140,12140,11003, 10702,-12406,12406,10702, 10394,-12665,12665,10394, 10080,-12916,12916,10080, 9760,-13160,13160,9760, 9434,-13395,13395,9434, 9102,-13623,13623,9102, 8765,-13842,13842,8765, 8423,-14053,14053,8423, 8076,-14256,14256,8076, 7723,-14449,14449,7723, 7366,-14635,14635,7366, 7005,-14811,14811,7005, 6639,-14978,14978,6639, 6270,-15137,15137,6270, 5897,-15286,15286,5897, 5520,-15426,15426,5520, 5139,-15557,15557,5139, 4756,-15679,15679,4756, 4370,-15791,15791,4370, 3981,-15893,15893,3981, 3590,-15986,15986,3590, 3196,-16069,16069,3196, 2801,-16143,16143,2801, 2404,-16207,16207,2404, 2006,-16261,16261,2006, 1606,-16305,16305,1606, 1205,-16340,16340,1205, 804,-16364,16364,804, 402,-16379,16379,402, 0,-16384,16384,0, -402,-16379,16379,-402, -804,-16364,16364,-804, -1205,-16340,16340,-1205, -1606,-16305,16305,-1606, -2006,-16261,16261,-2006, -2404,-16207,16207,-2404, -2801,-16143,16143,-2801, -3196,-16069,16069,-3196, -3590,-15986,15986,-3590, -3981,-15893,15893,-3981, -4370,-15791,15791,-4370, -4756,-15679,15679,-4756, -5139,-15557,15557,-5139, -5520,-15426,15426,-5520, -5897,-15286,15286,-5897, -6270,-15137,15137,-6270, -6639,-14978,14978,-6639, -7005,-14811,14811,-7005, -7366,-14635,14635,-7366, -7723,-14449,14449,-7723, -8076,-14256,14256,-8076, -8423,-14053,14053,-8423, -8765,-13842,13842,-8765, -9102,-13623,13623,-9102, -9434,-13395,13395,-9434, -9760,-13160,13160,-9760, -10080,-12916,12916,-10080, -10394,-12665,12665,-10394, -10702,-12406,12406,-10702, -11003,-12140,12140,-11003, -11297,-11866,11866,-11297, -11585,-11585,11585,-11585, -11866,-11297,11297,-11866, -12140,-11003,11003,-12140, -12406,-10702,10702,-12406, -12665,-10394,10394,-12665, -12916,-10080,10080,-12916, -13160,-9760,9760,-13160, -13395,-9434,9434,-13395, -13623,-9102,9102,-13623, -13842,-8765,8765,-13842, -14053,-8423,8423,-14053, -14256,-8076,8076,-14256, -14449,-7723,7723,-14449, -14635,-7366,7366,-14635, -14811,-7005,7005,-14811, -14978,-6639,6639,-14978, -15137,-6270,6270,-15137, -15286,-5897,5897,-15286, -15426,-5520,5520,-15426, -15557,-5139,5139,-15557, -15679,-4756,4756,-15679, -15791,-4370,4370,-15791, -15893,-3981,3981,-15893, -15986,-3590,3590,-15986, -16069,-3196,3196,-16069, -16143,-2801,2801,-16143, -16207,-2404,2404,-16207, -16261,-2006,2006,-16261, -16305,-1606,1606,-16305, -16340,-1205,1205,-16340, -16364,-804,804,-16364, -16379,-402,402,-16379, 16384,0,0,16384, 16383,-201,201,16383, 16379,-402,402,16379, 16373,-603,603,16373, 16364,-804,804,16364, 16353,-1005,1005,16353, 16340,-1205,1205,16340, 16324,-1406,1406,16324, 16305,-1606,1606,16305, 16284,-1806,1806,16284, 16261,-2006,2006,16261, 16235,-2205,2205,16235, 16207,-2404,2404,16207, 16176,-2603,2603,16176, 16143,-2801,2801,16143, 16107,-2999,2999,16107, 16069,-3196,3196,16069, 16029,-3393,3393,16029, 15986,-3590,3590,15986, 15941,-3786,3786,15941, 15893,-3981,3981,15893, 15843,-4176,4176,15843, 15791,-4370,4370,15791, 15736,-4563,4563,15736, 15679,-4756,4756,15679, 15619,-4948,4948,15619, 15557,-5139,5139,15557, 15493,-5330,5330,15493, 15426,-5520,5520,15426, 15357,-5708,5708,15357, 15286,-5897,5897,15286, 15213,-6084,6084,15213, 15137,-6270,6270,15137, 15059,-6455,6455,15059, 14978,-6639,6639,14978, 14896,-6823,6823,14896, 14811,-7005,7005,14811, 14724,-7186,7186,14724, 14635,-7366,7366,14635, 14543,-7545,7545,14543, 14449,-7723,7723,14449, 14354,-7900,7900,14354, 14256,-8076,8076,14256, 14155,-8250,8250,14155, 14053,-8423,8423,14053, 13949,-8595,8595,13949, 13842,-8765,8765,13842, 13733,-8935,8935,13733, 13623,-9102,9102,13623, 13510,-9269,9269,13510, 13395,-9434,9434,13395, 13279,-9598,9598,13279, 13160,-9760,9760,13160, 13039,-9921,9921,13039, 12916,-10080,10080,12916, 12792,-10238,10238,12792, 12665,-10394,10394,12665, 12537,-10549,10549,12537, 12406,-10702,10702,12406, 12274,-10853,10853,12274, 12140,-11003,11003,12140, 12004,-11151,11151,12004, 11866,-11297,11297,11866, 11727,-11442,11442,11727, 11585,-11585,11585,11585, 11442,-11727,11727,11442, 11297,-11866,11866,11297, 11151,-12004,12004,11151, 11003,-12140,12140,11003, 10853,-12274,12274,10853, 10702,-12406,12406,10702, 10549,-12537,12537,10549, 10394,-12665,12665,10394, 10238,-12792,12792,10238, 10080,-12916,12916,10080, 9921,-13039,13039,9921, 9760,-13160,13160,9760, 9598,-13279,13279,9598, 9434,-13395,13395,9434, 9269,-13510,13510,9269, 9102,-13623,13623,9102, 8935,-13733,13733,8935, 8765,-13842,13842,8765, 8595,-13949,13949,8595, 8423,-14053,14053,8423, 8250,-14155,14155,8250, 8076,-14256,14256,8076, 7900,-14354,14354,7900, 7723,-14449,14449,7723, 7545,-14543,14543,7545, 7366,-14635,14635,7366, 7186,-14724,14724,7186, 7005,-14811,14811,7005, 6823,-14896,14896,6823, 6639,-14978,14978,6639, 6455,-15059,15059,6455, 6270,-15137,15137,6270, 6084,-15213,15213,6084, 5897,-15286,15286,5897, 5708,-15357,15357,5708, 5520,-15426,15426,5520, 5330,-15493,15493,5330, 5139,-15557,15557,5139, 4948,-15619,15619,4948, 4756,-15679,15679,4756, 4563,-15736,15736,4563, 4370,-15791,15791,4370, 4176,-15843,15843,4176, 3981,-15893,15893,3981, 3786,-15941,15941,3786, 3590,-15986,15986,3590, 3393,-16029,16029,3393, 3196,-16069,16069,3196, 2999,-16107,16107,2999, 2801,-16143,16143,2801, 2603,-16176,16176,2603, 2404,-16207,16207,2404, 2205,-16235,16235,2205, 2006,-16261,16261,2006, 1806,-16284,16284,1806, 1606,-16305,16305,1606, 1406,-16324,16324,1406, 1205,-16340,16340,1205, 1005,-16353,16353,1005, 804,-16364,16364,804, 603,-16373,16373,603, 402,-16379,16379,402, 201,-16383,16383,201, 0,-16384,16384,0, -201,-16383,16383,-201, -402,-16379,16379,-402, -603,-16373,16373,-603, -804,-16364,16364,-804, -1005,-16353,16353,-1005, -1205,-16340,16340,-1205, -1406,-16324,16324,-1406, -1606,-16305,16305,-1606, -1806,-16284,16284,-1806, -2006,-16261,16261,-2006, -2205,-16235,16235,-2205, -2404,-16207,16207,-2404, -2603,-16176,16176,-2603, -2801,-16143,16143,-2801, -2999,-16107,16107,-2999, -3196,-16069,16069,-3196, -3393,-16029,16029,-3393, -3590,-15986,15986,-3590, -3786,-15941,15941,-3786, -3981,-15893,15893,-3981, -4176,-15843,15843,-4176, -4370,-15791,15791,-4370, -4563,-15736,15736,-4563, -4756,-15679,15679,-4756, -4948,-15619,15619,-4948, -5139,-15557,15557,-5139, -5330,-15493,15493,-5330, -5520,-15426,15426,-5520, -5708,-15357,15357,-5708, -5897,-15286,15286,-5897, -6084,-15213,15213,-6084, -6270,-15137,15137,-6270, -6455,-15059,15059,-6455, -6639,-14978,14978,-6639, -6823,-14896,14896,-6823, -7005,-14811,14811,-7005, -7186,-14724,14724,-7186, -7366,-14635,14635,-7366, -7545,-14543,14543,-7545, -7723,-14449,14449,-7723, -7900,-14354,14354,-7900, -8076,-14256,14256,-8076, -8250,-14155,14155,-8250, -8423,-14053,14053,-8423, -8595,-13949,13949,-8595, -8765,-13842,13842,-8765, -8935,-13733,13733,-8935, -9102,-13623,13623,-9102, -9269,-13510,13510,-9269, -9434,-13395,13395,-9434, -9598,-13279,13279,-9598, -9760,-13160,13160,-9760, -9921,-13039,13039,-9921, -10080,-12916,12916,-10080, -10238,-12792,12792,-10238, -10394,-12665,12665,-10394, -10549,-12537,12537,-10549, -10702,-12406,12406,-10702, -10853,-12274,12274,-10853, -11003,-12140,12140,-11003, -11151,-12004,12004,-11151, -11297,-11866,11866,-11297, -11442,-11727,11727,-11442, -11585,-11585,11585,-11585, -11727,-11442,11442,-11727, -11866,-11297,11297,-11866, -12004,-11151,11151,-12004, -12140,-11003,11003,-12140, -12274,-10853,10853,-12274, -12406,-10702,10702,-12406, -12537,-10549,10549,-12537, -12665,-10394,10394,-12665, -12792,-10238,10238,-12792, -12916,-10080,10080,-12916, -13039,-9921,9921,-13039, -13160,-9760,9760,-13160, -13279,-9598,9598,-13279, -13395,-9434,9434,-13395, -13510,-9269,9269,-13510, -13623,-9102,9102,-13623, -13733,-8935,8935,-13733, -13842,-8765,8765,-13842, -13949,-8595,8595,-13949, -14053,-8423,8423,-14053, -14155,-8250,8250,-14155, -14256,-8076,8076,-14256, -14354,-7900,7900,-14354, -14449,-7723,7723,-14449, -14543,-7545,7545,-14543, -14635,-7366,7366,-14635, -14724,-7186,7186,-14724, -14811,-7005,7005,-14811, -14896,-6823,6823,-14896, -14978,-6639,6639,-14978, -15059,-6455,6455,-15059, -15137,-6270,6270,-15137, -15213,-6084,6084,-15213, -15286,-5897,5897,-15286, -15357,-5708,5708,-15357, -15426,-5520,5520,-15426, -15493,-5330,5330,-15493, -15557,-5139,5139,-15557, -15619,-4948,4948,-15619, -15679,-4756,4756,-15679, -15736,-4563,4563,-15736, -15791,-4370,4370,-15791, -15843,-4176,4176,-15843, -15893,-3981,3981,-15893, -15941,-3786,3786,-15941, -15986,-3590,3590,-15986, -16029,-3393,3393,-16029, -16069,-3196,3196,-16069, -16107,-2999,2999,-16107, -16143,-2801,2801,-16143, -16176,-2603,2603,-16176, -16207,-2404,2404,-16207, -16235,-2205,2205,-16235, -16261,-2006,2006,-16261, -16284,-1806,1806,-16284, -16305,-1606,1606,-16305, -16324,-1406,1406,-16324, -16340,-1205,1205,-16340, -16353,-1005,1005,-16353, -16364,-804,804,-16364, -16373,-603,603,-16373, -16379,-402,402,-16379, -16383,-201,201,-16383};