1 /* Emacs style mode select -*- C++ -*-
2 *-----------------------------------------------------------------------------
5 * PrBoom a Doom port merged with LxDoom and LSDLDoom
6 * based on BOOM, a modified and improved DOOM engine
7 * Copyright (C) 1999 by
8 * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
9 * Copyright (C) 1999-2000 by
10 * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
29 * Do not try to look them up :-).
30 * In the order of appearance:
32 * int finetangent[4096] - Tangens LUT.
33 * Should work with BAM fairly well (12 of 16bit,
34 * effectively, by shifting).
36 * int finesine[10240] - Sine lookup.
37 * Guess what, serves as cosine, too.
38 * Remarkable thing is, how to use BAMs with this?
40 * int tantoangle[2049] - ArcTan LUT,
41 * maps tan(angle) to angle fast. Gotta search.
43 *-----------------------------------------------------------------------------
50 // killough 5/3/98: reformatted
52 int SlopeDiv(unsigned num
, unsigned den
)
58 ans
= (num
<<3)/(den
>>8);
59 return ans
<= SLOPERANGE
? ans
: SLOPERANGE
;
62 #ifdef TABLES_AS_LUMPS
65 const fixed_t finetangent
[4096] = { -170910304,
66 -56965752,-34178904,-24413316,-18988036,-15535599,-13145455,-11392683,
67 -10052327,-8994149,-8137527,-7429880,-6835455,-6329090,-5892567,-5512368,
68 -5178251,-4882318,-4618375,-4381502,-4167737,-3973855,-3797206,-3635590,
69 -3487165,-3350381,-3223918,-3106651,-2997613,-2895966,-2800983,-2712030,
70 -2628549,-2550052,-2476104,-2406322,-2340362,-2277919,-2218719,-2162516,
71 -2109087,-2058233,-2009771,-1963536,-1919378,-1877161,-1836758,-1798063,
72 -1760956,-1725348,-1691149,-1658278,-1626658,-1596220,-1566898,-1538632,
73 -1511367,-1485049,-1459630,-1435065,-1411312,-1388330,-1366084,-1344537,
74 -1323658,-1303416,-1283783,-1264730,-1246234,-1228269,-1210813,-1193846,
75 -1177345,-1161294,-1145673,-1130465,-1115654,-1101225,-1087164,-1073455,
76 -1060087,-1047046,-1034322,-1021901,-1009774,-997931,-986361,-975054,
77 -964003,-953199,-942633,-932298,-922186,-912289,-902602,-893117,
78 -883829,-874730,-865817,-857081,-848520,-840127,-831898,-823827,
79 -815910,-808143,-800521,-793041,-785699,-778490,-771411,-764460,
80 -757631,-750922,-744331,-737853,-731486,-725227,-719074,-713023,
81 -707072,-701219,-695462,-689797,-684223,-678737,-673338,-668024,
82 -662792,-657640,-652568,-647572,-642651,-637803,-633028,-628323,
83 -623686,-619117,-614613,-610174,-605798,-601483,-597229,-593033,
84 -588896,-584815,-580789,-576818,-572901,-569035,-565221,-561456,
85 -557741,-554074,-550455,-546881,-543354,-539870,-536431,-533034,
86 -529680,-526366,-523094,-519861,-516667,-513512,-510394,-507313,
87 -504269,-501261,-498287,-495348,-492443,-489571,-486732,-483925,
88 -481150,-478406,-475692,-473009,-470355,-467730,-465133,-462565,
89 -460024,-457511,-455024,-452564,-450129,-447720,-445337,-442978,
90 -440643,-438332,-436045,-433781,-431540,-429321,-427125,-424951,
91 -422798,-420666,-418555,-416465,-414395,-412344,-410314,-408303,
92 -406311,-404338,-402384,-400448,-398530,-396630,-394747,-392882,
93 -391034,-389202,-387387,-385589,-383807,-382040,-380290,-378555,
94 -376835,-375130,-373440,-371765,-370105,-368459,-366826,-365208,
95 -363604,-362013,-360436,-358872,-357321,-355783,-354257,-352744,
96 -351244,-349756,-348280,-346816,-345364,-343924,-342495,-341078,
97 -339671,-338276,-336892,-335519,-334157,-332805,-331464,-330133,
98 -328812,-327502,-326201,-324910,-323629,-322358,-321097,-319844,
99 -318601,-317368,-316143,-314928,-313721,-312524,-311335,-310154,
100 -308983,-307819,-306664,-305517,-304379,-303248,-302126,-301011,
101 -299904,-298805,-297714,-296630,-295554,-294485,-293423,-292369,
102 -291322,-290282,-289249,-288223,-287204,-286192,-285186,-284188,
103 -283195,-282210,-281231,-280258,-279292,-278332,-277378,-276430,
104 -275489,-274553,-273624,-272700,-271782,-270871,-269965,-269064,
105 -268169,-267280,-266397,-265519,-264646,-263779,-262917,-262060,
106 -261209,-260363,-259522,-258686,-257855,-257029,-256208,-255392,
107 -254581,-253774,-252973,-252176,-251384,-250596,-249813,-249035,
108 -248261,-247492,-246727,-245966,-245210,-244458,-243711,-242967,
109 -242228,-241493,-240763,-240036,-239314,-238595,-237881,-237170,
110 -236463,-235761,-235062,-234367,-233676,-232988,-232304,-231624,
111 -230948,-230275,-229606,-228941,-228279,-227621,-226966,-226314,
112 -225666,-225022,-224381,-223743,-223108,-222477,-221849,-221225,
113 -220603,-219985,-219370,-218758,-218149,-217544,-216941,-216341,
114 -215745,-215151,-214561,-213973,-213389,-212807,-212228,-211652,
115 -211079,-210509,-209941,-209376,-208815,-208255,-207699,-207145,
116 -206594,-206045,-205500,-204956,-204416,-203878,-203342,-202809,
117 -202279,-201751,-201226,-200703,-200182,-199664,-199149,-198636,
118 -198125,-197616,-197110,-196606,-196105,-195606,-195109,-194614,
119 -194122,-193631,-193143,-192658,-192174,-191693,-191213,-190736,
120 -190261,-189789,-189318,-188849,-188382,-187918,-187455,-186995,
121 -186536,-186080,-185625,-185173,-184722,-184274,-183827,-183382,
122 -182939,-182498,-182059,-181622,-181186,-180753,-180321,-179891,
123 -179463,-179037,-178612,-178190,-177769,-177349,-176932,-176516,
124 -176102,-175690,-175279,-174870,-174463,-174057,-173653,-173251,
125 -172850,-172451,-172053,-171657,-171263,-170870,-170479,-170089,
126 -169701,-169315,-168930,-168546,-168164,-167784,-167405,-167027,
127 -166651,-166277,-165904,-165532,-165162,-164793,-164426,-164060,
128 -163695,-163332,-162970,-162610,-162251,-161893,-161537,-161182,
129 -160828,-160476,-160125,-159775,-159427,-159079,-158734,-158389,
130 -158046,-157704,-157363,-157024,-156686,-156349,-156013,-155678,
131 -155345,-155013,-154682,-154352,-154024,-153697,-153370,-153045,
132 -152722,-152399,-152077,-151757,-151438,-151120,-150803,-150487,
133 -150172,-149859,-149546,-149235,-148924,-148615,-148307,-148000,
134 -147693,-147388,-147084,-146782,-146480,-146179,-145879,-145580,
135 -145282,-144986,-144690,-144395,-144101,-143808,-143517,-143226,
136 -142936,-142647,-142359,-142072,-141786,-141501,-141217,-140934,
137 -140651,-140370,-140090,-139810,-139532,-139254,-138977,-138701,
138 -138426,-138152,-137879,-137607,-137335,-137065,-136795,-136526,
139 -136258,-135991,-135725,-135459,-135195,-134931,-134668,-134406,
140 -134145,-133884,-133625,-133366,-133108,-132851,-132594,-132339,
141 -132084,-131830,-131576,-131324,-131072,-130821,-130571,-130322,
142 -130073,-129825,-129578,-129332,-129086,-128841,-128597,-128353,
143 -128111,-127869,-127627,-127387,-127147,-126908,-126669,-126432,
144 -126195,-125959,-125723,-125488,-125254,-125020,-124787,-124555,
145 -124324,-124093,-123863,-123633,-123404,-123176,-122949,-122722,
146 -122496,-122270,-122045,-121821,-121597,-121374,-121152,-120930,
147 -120709,-120489,-120269,-120050,-119831,-119613,-119396,-119179,
148 -118963,-118747,-118532,-118318,-118104,-117891,-117678,-117466,
149 -117254,-117044,-116833,-116623,-116414,-116206,-115998,-115790,
150 -115583,-115377,-115171,-114966,-114761,-114557,-114354,-114151,
151 -113948,-113746,-113545,-113344,-113143,-112944,-112744,-112546,
152 -112347,-112150,-111952,-111756,-111560,-111364,-111169,-110974,
153 -110780,-110586,-110393,-110200,-110008,-109817,-109626,-109435,
154 -109245,-109055,-108866,-108677,-108489,-108301,-108114,-107927,
155 -107741,-107555,-107369,-107184,-107000,-106816,-106632,-106449,
156 -106266,-106084,-105902,-105721,-105540,-105360,-105180,-105000,
157 -104821,-104643,-104465,-104287,-104109,-103933,-103756,-103580,
158 -103404,-103229,-103054,-102880,-102706,-102533,-102360,-102187,
159 -102015,-101843,-101671,-101500,-101330,-101159,-100990,-100820,
160 -100651,-100482,-100314,-100146,-99979,-99812,-99645,-99479,
161 -99313,-99148,-98982,-98818,-98653,-98489,-98326,-98163,
162 -98000,-97837,-97675,-97513,-97352,-97191,-97030,-96870,
163 -96710,-96551,-96391,-96233,-96074,-95916,-95758,-95601,
164 -95444,-95287,-95131,-94975,-94819,-94664,-94509,-94354,
165 -94200,-94046,-93892,-93739,-93586,-93434,-93281,-93129,
166 -92978,-92826,-92675,-92525,-92375,-92225,-92075,-91926,
167 -91777,-91628,-91480,-91332,-91184,-91036,-90889,-90742,
168 -90596,-90450,-90304,-90158,-90013,-89868,-89724,-89579,
169 -89435,-89292,-89148,-89005,-88862,-88720,-88577,-88435,
170 -88294,-88152,-88011,-87871,-87730,-87590,-87450,-87310,
171 -87171,-87032,-86893,-86755,-86616,-86479,-86341,-86204,
172 -86066,-85930,-85793,-85657,-85521,-85385,-85250,-85114,
173 -84980,-84845,-84710,-84576,-84443,-84309,-84176,-84043,
174 -83910,-83777,-83645,-83513,-83381,-83250,-83118,-82987,
175 -82857,-82726,-82596,-82466,-82336,-82207,-82078,-81949,
176 -81820,-81691,-81563,-81435,-81307,-81180,-81053,-80925,
177 -80799,-80672,-80546,-80420,-80294,-80168,-80043,-79918,
178 -79793,-79668,-79544,-79420,-79296,-79172,-79048,-78925,
179 -78802,-78679,-78557,-78434,-78312,-78190,-78068,-77947,
180 -77826,-77705,-77584,-77463,-77343,-77223,-77103,-76983,
181 -76864,-76744,-76625,-76506,-76388,-76269,-76151,-76033,
182 -75915,-75797,-75680,-75563,-75446,-75329,-75213,-75096,
183 -74980,-74864,-74748,-74633,-74517,-74402,-74287,-74172,
184 -74058,-73944,-73829,-73715,-73602,-73488,-73375,-73262,
185 -73149,-73036,-72923,-72811,-72699,-72587,-72475,-72363,
186 -72252,-72140,-72029,-71918,-71808,-71697,-71587,-71477,
187 -71367,-71257,-71147,-71038,-70929,-70820,-70711,-70602,
188 -70494,-70385,-70277,-70169,-70061,-69954,-69846,-69739,
189 -69632,-69525,-69418,-69312,-69205,-69099,-68993,-68887,
190 -68781,-68676,-68570,-68465,-68360,-68255,-68151,-68046,
191 -67942,-67837,-67733,-67629,-67526,-67422,-67319,-67216,
192 -67113,-67010,-66907,-66804,-66702,-66600,-66498,-66396,
193 -66294,-66192,-66091,-65989,-65888,-65787,-65686,-65586,
194 -65485,-65385,-65285,-65185,-65085,-64985,-64885,-64786,
195 -64687,-64587,-64488,-64389,-64291,-64192,-64094,-63996,
196 -63897,-63799,-63702,-63604,-63506,-63409,-63312,-63215,
197 -63118,-63021,-62924,-62828,-62731,-62635,-62539,-62443,
198 -62347,-62251,-62156,-62060,-61965,-61870,-61775,-61680,
199 -61585,-61491,-61396,-61302,-61208,-61114,-61020,-60926,
200 -60833,-60739,-60646,-60552,-60459,-60366,-60273,-60181,
201 -60088,-59996,-59903,-59811,-59719,-59627,-59535,-59444,
202 -59352,-59261,-59169,-59078,-58987,-58896,-58805,-58715,
203 -58624,-58534,-58443,-58353,-58263,-58173,-58083,-57994,
204 -57904,-57815,-57725,-57636,-57547,-57458,-57369,-57281,
205 -57192,-57104,-57015,-56927,-56839,-56751,-56663,-56575,
206 -56487,-56400,-56312,-56225,-56138,-56051,-55964,-55877,
207 -55790,-55704,-55617,-55531,-55444,-55358,-55272,-55186,
208 -55100,-55015,-54929,-54843,-54758,-54673,-54587,-54502,
209 -54417,-54333,-54248,-54163,-54079,-53994,-53910,-53826,
210 -53741,-53657,-53574,-53490,-53406,-53322,-53239,-53156,
211 -53072,-52989,-52906,-52823,-52740,-52657,-52575,-52492,
212 -52410,-52327,-52245,-52163,-52081,-51999,-51917,-51835,
213 -51754,-51672,-51591,-51509,-51428,-51347,-51266,-51185,
214 -51104,-51023,-50942,-50862,-50781,-50701,-50621,-50540,
215 -50460,-50380,-50300,-50221,-50141,-50061,-49982,-49902,
216 -49823,-49744,-49664,-49585,-49506,-49427,-49349,-49270,
217 -49191,-49113,-49034,-48956,-48878,-48799,-48721,-48643,
218 -48565,-48488,-48410,-48332,-48255,-48177,-48100,-48022,
219 -47945,-47868,-47791,-47714,-47637,-47560,-47484,-47407,
220 -47331,-47254,-47178,-47102,-47025,-46949,-46873,-46797,
221 -46721,-46646,-46570,-46494,-46419,-46343,-46268,-46193,
222 -46118,-46042,-45967,-45892,-45818,-45743,-45668,-45593,
223 -45519,-45444,-45370,-45296,-45221,-45147,-45073,-44999,
224 -44925,-44851,-44778,-44704,-44630,-44557,-44483,-44410,
225 -44337,-44263,-44190,-44117,-44044,-43971,-43898,-43826,
226 -43753,-43680,-43608,-43535,-43463,-43390,-43318,-43246,
227 -43174,-43102,-43030,-42958,-42886,-42814,-42743,-42671,
228 -42600,-42528,-42457,-42385,-42314,-42243,-42172,-42101,
229 -42030,-41959,-41888,-41817,-41747,-41676,-41605,-41535,
230 -41465,-41394,-41324,-41254,-41184,-41113,-41043,-40973,
231 -40904,-40834,-40764,-40694,-40625,-40555,-40486,-40416,
232 -40347,-40278,-40208,-40139,-40070,-40001,-39932,-39863,
233 -39794,-39726,-39657,-39588,-39520,-39451,-39383,-39314,
234 -39246,-39178,-39110,-39042,-38973,-38905,-38837,-38770,
235 -38702,-38634,-38566,-38499,-38431,-38364,-38296,-38229,
236 -38161,-38094,-38027,-37960,-37893,-37826,-37759,-37692,
237 -37625,-37558,-37491,-37425,-37358,-37291,-37225,-37158,
238 -37092,-37026,-36959,-36893,-36827,-36761,-36695,-36629,
239 -36563,-36497,-36431,-36365,-36300,-36234,-36168,-36103,
240 -36037,-35972,-35907,-35841,-35776,-35711,-35646,-35580,
241 -35515,-35450,-35385,-35321,-35256,-35191,-35126,-35062,
242 -34997,-34932,-34868,-34803,-34739,-34675,-34610,-34546,
243 -34482,-34418,-34354,-34289,-34225,-34162,-34098,-34034,
244 -33970,-33906,-33843,-33779,-33715,-33652,-33588,-33525,
245 -33461,-33398,-33335,-33272,-33208,-33145,-33082,-33019,
246 -32956,-32893,-32830,-32767,-32705,-32642,-32579,-32516,
247 -32454,-32391,-32329,-32266,-32204,-32141,-32079,-32017,
248 -31955,-31892,-31830,-31768,-31706,-31644,-31582,-31520,
249 -31458,-31396,-31335,-31273,-31211,-31150,-31088,-31026,
250 -30965,-30904,-30842,-30781,-30719,-30658,-30597,-30536,
251 -30474,-30413,-30352,-30291,-30230,-30169,-30108,-30048,
252 -29987,-29926,-29865,-29805,-29744,-29683,-29623,-29562,
253 -29502,-29441,-29381,-29321,-29260,-29200,-29140,-29080,
254 -29020,-28959,-28899,-28839,-28779,-28719,-28660,-28600,
255 -28540,-28480,-28420,-28361,-28301,-28241,-28182,-28122,
256 -28063,-28003,-27944,-27884,-27825,-27766,-27707,-27647,
257 -27588,-27529,-27470,-27411,-27352,-27293,-27234,-27175,
258 -27116,-27057,-26998,-26940,-26881,-26822,-26763,-26705,
259 -26646,-26588,-26529,-26471,-26412,-26354,-26295,-26237,
260 -26179,-26120,-26062,-26004,-25946,-25888,-25830,-25772,
261 -25714,-25656,-25598,-25540,-25482,-25424,-25366,-25308,
262 -25251,-25193,-25135,-25078,-25020,-24962,-24905,-24847,
263 -24790,-24732,-24675,-24618,-24560,-24503,-24446,-24389,
264 -24331,-24274,-24217,-24160,-24103,-24046,-23989,-23932,
265 -23875,-23818,-23761,-23704,-23647,-23591,-23534,-23477,
266 -23420,-23364,-23307,-23250,-23194,-23137,-23081,-23024,
267 -22968,-22911,-22855,-22799,-22742,-22686,-22630,-22573,
268 -22517,-22461,-22405,-22349,-22293,-22237,-22181,-22125,
269 -22069,-22013,-21957,-21901,-21845,-21789,-21733,-21678,
270 -21622,-21566,-21510,-21455,-21399,-21343,-21288,-21232,
271 -21177,-21121,-21066,-21010,-20955,-20900,-20844,-20789,
272 -20734,-20678,-20623,-20568,-20513,-20457,-20402,-20347,
273 -20292,-20237,-20182,-20127,-20072,-20017,-19962,-19907,
274 -19852,-19797,-19742,-19688,-19633,-19578,-19523,-19469,
275 -19414,-19359,-19305,-19250,-19195,-19141,-19086,-19032,
276 -18977,-18923,-18868,-18814,-18760,-18705,-18651,-18597,
277 -18542,-18488,-18434,-18380,-18325,-18271,-18217,-18163,
278 -18109,-18055,-18001,-17946,-17892,-17838,-17784,-17731,
279 -17677,-17623,-17569,-17515,-17461,-17407,-17353,-17300,
280 -17246,-17192,-17138,-17085,-17031,-16977,-16924,-16870,
281 -16817,-16763,-16710,-16656,-16603,-16549,-16496,-16442,
282 -16389,-16335,-16282,-16229,-16175,-16122,-16069,-16015,
283 -15962,-15909,-15856,-15802,-15749,-15696,-15643,-15590,
284 -15537,-15484,-15431,-15378,-15325,-15272,-15219,-15166,
285 -15113,-15060,-15007,-14954,-14901,-14848,-14795,-14743,
286 -14690,-14637,-14584,-14531,-14479,-14426,-14373,-14321,
287 -14268,-14215,-14163,-14110,-14057,-14005,-13952,-13900,
288 -13847,-13795,-13742,-13690,-13637,-13585,-13533,-13480,
289 -13428,-13375,-13323,-13271,-13218,-13166,-13114,-13062,
290 -13009,-12957,-12905,-12853,-12800,-12748,-12696,-12644,
291 -12592,-12540,-12488,-12436,-12383,-12331,-12279,-12227,
292 -12175,-12123,-12071,-12019,-11967,-11916,-11864,-11812,
293 -11760,-11708,-11656,-11604,-11552,-11501,-11449,-11397,
294 -11345,-11293,-11242,-11190,-11138,-11086,-11035,-10983,
295 -10931,-10880,-10828,-10777,-10725,-10673,-10622,-10570,
296 -10519,-10467,-10415,-10364,-10312,-10261,-10209,-10158,
297 -10106,-10055,-10004,-9952,-9901,-9849,-9798,-9747,
298 -9695,-9644,-9592,-9541,-9490,-9438,-9387,-9336,
299 -9285,-9233,-9182,-9131,-9080,-9028,-8977,-8926,
300 -8875,-8824,-8772,-8721,-8670,-8619,-8568,-8517,
301 -8466,-8414,-8363,-8312,-8261,-8210,-8159,-8108,
302 -8057,-8006,-7955,-7904,-7853,-7802,-7751,-7700,
303 -7649,-7598,-7547,-7496,-7445,-7395,-7344,-7293,
304 -7242,-7191,-7140,-7089,-7038,-6988,-6937,-6886,
305 -6835,-6784,-6733,-6683,-6632,-6581,-6530,-6480,
306 -6429,-6378,-6327,-6277,-6226,-6175,-6124,-6074,
307 -6023,-5972,-5922,-5871,-5820,-5770,-5719,-5668,
308 -5618,-5567,-5517,-5466,-5415,-5365,-5314,-5264,
309 -5213,-5162,-5112,-5061,-5011,-4960,-4910,-4859,
310 -4808,-4758,-4707,-4657,-4606,-4556,-4505,-4455,
311 -4404,-4354,-4303,-4253,-4202,-4152,-4101,-4051,
312 -4001,-3950,-3900,-3849,-3799,-3748,-3698,-3648,
313 -3597,-3547,-3496,-3446,-3395,-3345,-3295,-3244,
314 -3194,-3144,-3093,-3043,-2992,-2942,-2892,-2841,
315 -2791,-2741,-2690,-2640,-2590,-2539,-2489,-2439,
316 -2388,-2338,-2288,-2237,-2187,-2137,-2086,-2036,
317 -1986,-1935,-1885,-1835,-1784,-1734,-1684,-1633,
318 -1583,-1533,-1483,-1432,-1382,-1332,-1281,-1231,
319 -1181,-1131,-1080,-1030,-980,-929,-879,-829,
320 -779,-728,-678,-628,-578,-527,-477,-427,
321 -376,-326,-276,-226,-175,-125,-75,-25,
322 25,75,125,175,226,276,326,376,
323 427,477,527,578,628,678,728,779,
324 829,879,929,980,1030,1080,1131,1181,
325 1231,1281,1332,1382,1432,1483,1533,1583,
326 1633,1684,1734,1784,1835,1885,1935,1986,
327 2036,2086,2137,2187,2237,2288,2338,2388,
328 2439,2489,2539,2590,2640,2690,2741,2791,
329 2841,2892,2942,2992,3043,3093,3144,3194,
330 3244,3295,3345,3395,3446,3496,3547,3597,
331 3648,3698,3748,3799,3849,3900,3950,4001,
332 4051,4101,4152,4202,4253,4303,4354,4404,
333 4455,4505,4556,4606,4657,4707,4758,4808,
334 4859,4910,4960,5011,5061,5112,5162,5213,
335 5264,5314,5365,5415,5466,5517,5567,5618,
336 5668,5719,5770,5820,5871,5922,5972,6023,
337 6074,6124,6175,6226,6277,6327,6378,6429,
338 6480,6530,6581,6632,6683,6733,6784,6835,
339 6886,6937,6988,7038,7089,7140,7191,7242,
340 7293,7344,7395,7445,7496,7547,7598,7649,
341 7700,7751,7802,7853,7904,7955,8006,8057,
342 8108,8159,8210,8261,8312,8363,8414,8466,
343 8517,8568,8619,8670,8721,8772,8824,8875,
344 8926,8977,9028,9080,9131,9182,9233,9285,
345 9336,9387,9438,9490,9541,9592,9644,9695,
346 9747,9798,9849,9901,9952,10004,10055,10106,
347 10158,10209,10261,10312,10364,10415,10467,10519,
348 10570,10622,10673,10725,10777,10828,10880,10931,
349 10983,11035,11086,11138,11190,11242,11293,11345,
350 11397,11449,11501,11552,11604,11656,11708,11760,
351 11812,11864,11916,11967,12019,12071,12123,12175,
352 12227,12279,12331,12383,12436,12488,12540,12592,
353 12644,12696,12748,12800,12853,12905,12957,13009,
354 13062,13114,13166,13218,13271,13323,13375,13428,
355 13480,13533,13585,13637,13690,13742,13795,13847,
356 13900,13952,14005,14057,14110,14163,14215,14268,
357 14321,14373,14426,14479,14531,14584,14637,14690,
358 14743,14795,14848,14901,14954,15007,15060,15113,
359 15166,15219,15272,15325,15378,15431,15484,15537,
360 15590,15643,15696,15749,15802,15856,15909,15962,
361 16015,16069,16122,16175,16229,16282,16335,16389,
362 16442,16496,16549,16603,16656,16710,16763,16817,
363 16870,16924,16977,17031,17085,17138,17192,17246,
364 17300,17353,17407,17461,17515,17569,17623,17677,
365 17731,17784,17838,17892,17946,18001,18055,18109,
366 18163,18217,18271,18325,18380,18434,18488,18542,
367 18597,18651,18705,18760,18814,18868,18923,18977,
368 19032,19086,19141,19195,19250,19305,19359,19414,
369 19469,19523,19578,19633,19688,19742,19797,19852,
370 19907,19962,20017,20072,20127,20182,20237,20292,
371 20347,20402,20457,20513,20568,20623,20678,20734,
372 20789,20844,20900,20955,21010,21066,21121,21177,
373 21232,21288,21343,21399,21455,21510,21566,21622,
374 21678,21733,21789,21845,21901,21957,22013,22069,
375 22125,22181,22237,22293,22349,22405,22461,22517,
376 22573,22630,22686,22742,22799,22855,22911,22968,
377 23024,23081,23137,23194,23250,23307,23364,23420,
378 23477,23534,23591,23647,23704,23761,23818,23875,
379 23932,23989,24046,24103,24160,24217,24274,24331,
380 24389,24446,24503,24560,24618,24675,24732,24790,
381 24847,24905,24962,25020,25078,25135,25193,25251,
382 25308,25366,25424,25482,25540,25598,25656,25714,
383 25772,25830,25888,25946,26004,26062,26120,26179,
384 26237,26295,26354,26412,26471,26529,26588,26646,
385 26705,26763,26822,26881,26940,26998,27057,27116,
386 27175,27234,27293,27352,27411,27470,27529,27588,
387 27647,27707,27766,27825,27884,27944,28003,28063,
388 28122,28182,28241,28301,28361,28420,28480,28540,
389 28600,28660,28719,28779,28839,28899,28959,29020,
390 29080,29140,29200,29260,29321,29381,29441,29502,
391 29562,29623,29683,29744,29805,29865,29926,29987,
392 30048,30108,30169,30230,30291,30352,30413,30474,
393 30536,30597,30658,30719,30781,30842,30904,30965,
394 31026,31088,31150,31211,31273,31335,31396,31458,
395 31520,31582,31644,31706,31768,31830,31892,31955,
396 32017,32079,32141,32204,32266,32329,32391,32454,
397 32516,32579,32642,32705,32767,32830,32893,32956,
398 33019,33082,33145,33208,33272,33335,33398,33461,
399 33525,33588,33652,33715,33779,33843,33906,33970,
400 34034,34098,34162,34225,34289,34354,34418,34482,
401 34546,34610,34675,34739,34803,34868,34932,34997,
402 35062,35126,35191,35256,35321,35385,35450,35515,
403 35580,35646,35711,35776,35841,35907,35972,36037,
404 36103,36168,36234,36300,36365,36431,36497,36563,
405 36629,36695,36761,36827,36893,36959,37026,37092,
406 37158,37225,37291,37358,37425,37491,37558,37625,
407 37692,37759,37826,37893,37960,38027,38094,38161,
408 38229,38296,38364,38431,38499,38566,38634,38702,
409 38770,38837,38905,38973,39042,39110,39178,39246,
410 39314,39383,39451,39520,39588,39657,39726,39794,
411 39863,39932,40001,40070,40139,40208,40278,40347,
412 40416,40486,40555,40625,40694,40764,40834,40904,
413 40973,41043,41113,41184,41254,41324,41394,41465,
414 41535,41605,41676,41747,41817,41888,41959,42030,
415 42101,42172,42243,42314,42385,42457,42528,42600,
416 42671,42743,42814,42886,42958,43030,43102,43174,
417 43246,43318,43390,43463,43535,43608,43680,43753,
418 43826,43898,43971,44044,44117,44190,44263,44337,
419 44410,44483,44557,44630,44704,44778,44851,44925,
420 44999,45073,45147,45221,45296,45370,45444,45519,
421 45593,45668,45743,45818,45892,45967,46042,46118,
422 46193,46268,46343,46419,46494,46570,46646,46721,
423 46797,46873,46949,47025,47102,47178,47254,47331,
424 47407,47484,47560,47637,47714,47791,47868,47945,
425 48022,48100,48177,48255,48332,48410,48488,48565,
426 48643,48721,48799,48878,48956,49034,49113,49191,
427 49270,49349,49427,49506,49585,49664,49744,49823,
428 49902,49982,50061,50141,50221,50300,50380,50460,
429 50540,50621,50701,50781,50862,50942,51023,51104,
430 51185,51266,51347,51428,51509,51591,51672,51754,
431 51835,51917,51999,52081,52163,52245,52327,52410,
432 52492,52575,52657,52740,52823,52906,52989,53072,
433 53156,53239,53322,53406,53490,53574,53657,53741,
434 53826,53910,53994,54079,54163,54248,54333,54417,
435 54502,54587,54673,54758,54843,54929,55015,55100,
436 55186,55272,55358,55444,55531,55617,55704,55790,
437 55877,55964,56051,56138,56225,56312,56400,56487,
438 56575,56663,56751,56839,56927,57015,57104,57192,
439 57281,57369,57458,57547,57636,57725,57815,57904,
440 57994,58083,58173,58263,58353,58443,58534,58624,
441 58715,58805,58896,58987,59078,59169,59261,59352,
442 59444,59535,59627,59719,59811,59903,59996,60088,
443 60181,60273,60366,60459,60552,60646,60739,60833,
444 60926,61020,61114,61208,61302,61396,61491,61585,
445 61680,61775,61870,61965,62060,62156,62251,62347,
446 62443,62539,62635,62731,62828,62924,63021,63118,
447 63215,63312,63409,63506,63604,63702,63799,63897,
448 63996,64094,64192,64291,64389,64488,64587,64687,
449 64786,64885,64985,65085,65185,65285,65385,65485,
450 65586,65686,65787,65888,65989,66091,66192,66294,
451 66396,66498,66600,66702,66804,66907,67010,67113,
452 67216,67319,67422,67526,67629,67733,67837,67942,
453 68046,68151,68255,68360,68465,68570,68676,68781,
454 68887,68993,69099,69205,69312,69418,69525,69632,
455 69739,69846,69954,70061,70169,70277,70385,70494,
456 70602,70711,70820,70929,71038,71147,71257,71367,
457 71477,71587,71697,71808,71918,72029,72140,72252,
458 72363,72475,72587,72699,72811,72923,73036,73149,
459 73262,73375,73488,73602,73715,73829,73944,74058,
460 74172,74287,74402,74517,74633,74748,74864,74980,
461 75096,75213,75329,75446,75563,75680,75797,75915,
462 76033,76151,76269,76388,76506,76625,76744,76864,
463 76983,77103,77223,77343,77463,77584,77705,77826,
464 77947,78068,78190,78312,78434,78557,78679,78802,
465 78925,79048,79172,79296,79420,79544,79668,79793,
466 79918,80043,80168,80294,80420,80546,80672,80799,
467 80925,81053,81180,81307,81435,81563,81691,81820,
468 81949,82078,82207,82336,82466,82596,82726,82857,
469 82987,83118,83250,83381,83513,83645,83777,83910,
470 84043,84176,84309,84443,84576,84710,84845,84980,
471 85114,85250,85385,85521,85657,85793,85930,86066,
472 86204,86341,86479,86616,86755,86893,87032,87171,
473 87310,87450,87590,87730,87871,88011,88152,88294,
474 88435,88577,88720,88862,89005,89148,89292,89435,
475 89579,89724,89868,90013,90158,90304,90450,90596,
476 90742,90889,91036,91184,91332,91480,91628,91777,
477 91926,92075,92225,92375,92525,92675,92826,92978,
478 93129,93281,93434,93586,93739,93892,94046,94200,
479 94354,94509,94664,94819,94975,95131,95287,95444,
480 95601,95758,95916,96074,96233,96391,96551,96710,
481 96870,97030,97191,97352,97513,97675,97837,98000,
482 98163,98326,98489,98653,98818,98982,99148,99313,
483 99479,99645,99812,99979,100146,100314,100482,100651,
484 100820,100990,101159,101330,101500,101671,101843,102015,
485 102187,102360,102533,102706,102880,103054,103229,103404,
486 103580,103756,103933,104109,104287,104465,104643,104821,
487 105000,105180,105360,105540,105721,105902,106084,106266,
488 106449,106632,106816,107000,107184,107369,107555,107741,
489 107927,108114,108301,108489,108677,108866,109055,109245,
490 109435,109626,109817,110008,110200,110393,110586,110780,
491 110974,111169,111364,111560,111756,111952,112150,112347,
492 112546,112744,112944,113143,113344,113545,113746,113948,
493 114151,114354,114557,114761,114966,115171,115377,115583,
494 115790,115998,116206,116414,116623,116833,117044,117254,
495 117466,117678,117891,118104,118318,118532,118747,118963,
496 119179,119396,119613,119831,120050,120269,120489,120709,
497 120930,121152,121374,121597,121821,122045,122270,122496,
498 122722,122949,123176,123404,123633,123863,124093,124324,
499 124555,124787,125020,125254,125488,125723,125959,126195,
500 126432,126669,126908,127147,127387,127627,127869,128111,
501 128353,128597,128841,129086,129332,129578,129825,130073,
502 130322,130571,130821,131072,131324,131576,131830,132084,
503 132339,132594,132851,133108,133366,133625,133884,134145,
504 134406,134668,134931,135195,135459,135725,135991,136258,
505 136526,136795,137065,137335,137607,137879,138152,138426,
506 138701,138977,139254,139532,139810,140090,140370,140651,
507 140934,141217,141501,141786,142072,142359,142647,142936,
508 143226,143517,143808,144101,144395,144690,144986,145282,
509 145580,145879,146179,146480,146782,147084,147388,147693,
510 148000,148307,148615,148924,149235,149546,149859,150172,
511 150487,150803,151120,151438,151757,152077,152399,152722,
512 153045,153370,153697,154024,154352,154682,155013,155345,
513 155678,156013,156349,156686,157024,157363,157704,158046,
514 158389,158734,159079,159427,159775,160125,160476,160828,
515 161182,161537,161893,162251,162610,162970,163332,163695,
516 164060,164426,164793,165162,165532,165904,166277,166651,
517 167027,167405,167784,168164,168546,168930,169315,169701,
518 170089,170479,170870,171263,171657,172053,172451,172850,
519 173251,173653,174057,174463,174870,175279,175690,176102,
520 176516,176932,177349,177769,178190,178612,179037,179463,
521 179891,180321,180753,181186,181622,182059,182498,182939,
522 183382,183827,184274,184722,185173,185625,186080,186536,
523 186995,187455,187918,188382,188849,189318,189789,190261,
524 190736,191213,191693,192174,192658,193143,193631,194122,
525 194614,195109,195606,196105,196606,197110,197616,198125,
526 198636,199149,199664,200182,200703,201226,201751,202279,
527 202809,203342,203878,204416,204956,205500,206045,206594,
528 207145,207699,208255,208815,209376,209941,210509,211079,
529 211652,212228,212807,213389,213973,214561,215151,215745,
530 216341,216941,217544,218149,218758,219370,219985,220603,
531 221225,221849,222477,223108,223743,224381,225022,225666,
532 226314,226966,227621,228279,228941,229606,230275,230948,
533 231624,232304,232988,233676,234367,235062,235761,236463,
534 237170,237881,238595,239314,240036,240763,241493,242228,
535 242967,243711,244458,245210,245966,246727,247492,248261,
536 249035,249813,250596,251384,252176,252973,253774,254581,
537 255392,256208,257029,257855,258686,259522,260363,261209,
538 262060,262917,263779,264646,265519,266397,267280,268169,
539 269064,269965,270871,271782,272700,273624,274553,275489,
540 276430,277378,278332,279292,280258,281231,282210,283195,
541 284188,285186,286192,287204,288223,289249,290282,291322,
542 292369,293423,294485,295554,296630,297714,298805,299904,
543 301011,302126,303248,304379,305517,306664,307819,308983,
544 310154,311335,312524,313721,314928,316143,317368,318601,
545 319844,321097,322358,323629,324910,326201,327502,328812,
546 330133,331464,332805,334157,335519,336892,338276,339671,
547 341078,342495,343924,345364,346816,348280,349756,351244,
548 352744,354257,355783,357321,358872,360436,362013,363604,
549 365208,366826,368459,370105,371765,373440,375130,376835,
550 378555,380290,382040,383807,385589,387387,389202,391034,
551 392882,394747,396630,398530,400448,402384,404338,406311,
552 408303,410314,412344,414395,416465,418555,420666,422798,
553 424951,427125,429321,431540,433781,436045,438332,440643,
554 442978,445337,447720,450129,452564,455024,457511,460024,
555 462565,465133,467730,470355,473009,475692,478406,481150,
556 483925,486732,489571,492443,495348,498287,501261,504269,
557 507313,510394,513512,516667,519861,523094,526366,529680,
558 533034,536431,539870,543354,546881,550455,554074,557741,
559 561456,565221,569035,572901,576818,580789,584815,588896,
560 593033,597229,601483,605798,610174,614613,619117,623686,
561 628323,633028,637803,642651,647572,652568,657640,662792,
562 668024,673338,678737,684223,689797,695462,701219,707072,
563 713023,719074,725227,731486,737853,744331,750922,757631,
564 764460,771411,778490,785699,793041,800521,808143,815910,
565 823827,831898,840127,848520,857081,865817,874730,883829,
566 893117,902602,912289,922186,932298,942633,953199,964003,
567 975054,986361,997931,1009774,1021901,1034322,1047046,1060087,
568 1073455,1087164,1101225,1115654,1130465,1145673,1161294,1177345,
569 1193846,1210813,1228269,1246234,1264730,1283783,1303416,1323658,
570 1344537,1366084,1388330,1411312,1435065,1459630,1485049,1511367,
571 1538632,1566898,1596220,1626658,1658278,1691149,1725348,1760956,
572 1798063,1836758,1877161,1919378,1963536,2009771,2058233,2109087,
573 2162516,2218719,2277919,2340362,2406322,2476104,2550052,2628549,
574 2712030,2800983,2895966,2997613,3106651,3223918,3350381,3487165,
575 3635590,3797206,3973855,4167737,4381502,4618375,4882318,5178251,
576 5512368,5892567,6329090,6835455,7429880,8137527,8994149,10052327,
577 11392683,13145455,15535599,18988036,24413316,34178904,56965752,170910304
583 #ifdef TABLES_AS_LUMPS
586 const fixed_t finesine
[10240] = {
587 25,75,125,175,226,276,326,376,
588 427,477,527,578,628,678,728,779,
589 829,879,929,980,1030,1080,1130,1181,
590 1231,1281,1331,1382,1432,1482,1532,1583,
591 1633,1683,1733,1784,1834,1884,1934,1985,
592 2035,2085,2135,2186,2236,2286,2336,2387,
593 2437,2487,2537,2587,2638,2688,2738,2788,
594 2839,2889,2939,2989,3039,3090,3140,3190,
595 3240,3291,3341,3391,3441,3491,3541,3592,
596 3642,3692,3742,3792,3843,3893,3943,3993,
597 4043,4093,4144,4194,4244,4294,4344,4394,
598 4445,4495,4545,4595,4645,4695,4745,4796,
599 4846,4896,4946,4996,5046,5096,5146,5197,
600 5247,5297,5347,5397,5447,5497,5547,5597,
601 5647,5697,5748,5798,5848,5898,5948,5998,
602 6048,6098,6148,6198,6248,6298,6348,6398,
603 6448,6498,6548,6598,6648,6698,6748,6798,
604 6848,6898,6948,6998,7048,7098,7148,7198,
605 7248,7298,7348,7398,7448,7498,7548,7598,
606 7648,7697,7747,7797,7847,7897,7947,7997,
607 8047,8097,8147,8196,8246,8296,8346,8396,
608 8446,8496,8545,8595,8645,8695,8745,8794,
609 8844,8894,8944,8994,9043,9093,9143,9193,
610 9243,9292,9342,9392,9442,9491,9541,9591,
611 9640,9690,9740,9790,9839,9889,9939,9988,
612 10038,10088,10137,10187,10237,10286,10336,10386,
613 10435,10485,10534,10584,10634,10683,10733,10782,
614 10832,10882,10931,10981,11030,11080,11129,11179,
615 11228,11278,11327,11377,11426,11476,11525,11575,
616 11624,11674,11723,11773,11822,11872,11921,11970,
617 12020,12069,12119,12168,12218,12267,12316,12366,
618 12415,12464,12514,12563,12612,12662,12711,12760,
619 12810,12859,12908,12957,13007,13056,13105,13154,
620 13204,13253,13302,13351,13401,13450,13499,13548,
621 13597,13647,13696,13745,13794,13843,13892,13941,
622 13990,14040,14089,14138,14187,14236,14285,14334,
623 14383,14432,14481,14530,14579,14628,14677,14726,
624 14775,14824,14873,14922,14971,15020,15069,15118,
625 15167,15215,15264,15313,15362,15411,15460,15509,
626 15557,15606,15655,15704,15753,15802,15850,15899,
627 15948,15997,16045,16094,16143,16191,16240,16289,
628 16338,16386,16435,16484,16532,16581,16629,16678,
629 16727,16775,16824,16872,16921,16970,17018,17067,
630 17115,17164,17212,17261,17309,17358,17406,17455,
631 17503,17551,17600,17648,17697,17745,17793,17842,
632 17890,17939,17987,18035,18084,18132,18180,18228,
633 18277,18325,18373,18421,18470,18518,18566,18614,
634 18663,18711,18759,18807,18855,18903,18951,19000,
635 19048,19096,19144,19192,19240,19288,19336,19384,
636 19432,19480,19528,19576,19624,19672,19720,19768,
637 19816,19864,19912,19959,20007,20055,20103,20151,
638 20199,20246,20294,20342,20390,20438,20485,20533,
639 20581,20629,20676,20724,20772,20819,20867,20915,
640 20962,21010,21057,21105,21153,21200,21248,21295,
641 21343,21390,21438,21485,21533,21580,21628,21675,
642 21723,21770,21817,21865,21912,21960,22007,22054,
643 22102,22149,22196,22243,22291,22338,22385,22433,
644 22480,22527,22574,22621,22668,22716,22763,22810,
645 22857,22904,22951,22998,23045,23092,23139,23186,
646 23233,23280,23327,23374,23421,23468,23515,23562,
647 23609,23656,23703,23750,23796,23843,23890,23937,
648 23984,24030,24077,24124,24171,24217,24264,24311,
649 24357,24404,24451,24497,24544,24591,24637,24684,
650 24730,24777,24823,24870,24916,24963,25009,25056,
651 25102,25149,25195,25241,25288,25334,25381,25427,
652 25473,25520,25566,25612,25658,25705,25751,25797,
653 25843,25889,25936,25982,26028,26074,26120,26166,
654 26212,26258,26304,26350,26396,26442,26488,26534,
655 26580,26626,26672,26718,26764,26810,26856,26902,
656 26947,26993,27039,27085,27131,27176,27222,27268,
657 27313,27359,27405,27450,27496,27542,27587,27633,
658 27678,27724,27770,27815,27861,27906,27952,27997,
659 28042,28088,28133,28179,28224,28269,28315,28360,
660 28405,28451,28496,28541,28586,28632,28677,28722,
661 28767,28812,28858,28903,28948,28993,29038,29083,
662 29128,29173,29218,29263,29308,29353,29398,29443,
663 29488,29533,29577,29622,29667,29712,29757,29801,
664 29846,29891,29936,29980,30025,30070,30114,30159,
665 30204,30248,30293,30337,30382,30426,30471,30515,
666 30560,30604,30649,30693,30738,30782,30826,30871,
667 30915,30959,31004,31048,31092,31136,31181,31225,
668 31269,31313,31357,31402,31446,31490,31534,31578,
669 31622,31666,31710,31754,31798,31842,31886,31930,
670 31974,32017,32061,32105,32149,32193,32236,32280,
671 32324,32368,32411,32455,32499,32542,32586,32630,
672 32673,32717,32760,32804,32847,32891,32934,32978,
673 33021,33065,33108,33151,33195,33238,33281,33325,
674 33368,33411,33454,33498,33541,33584,33627,33670,
675 33713,33756,33799,33843,33886,33929,33972,34015,
676 34057,34100,34143,34186,34229,34272,34315,34358,
677 34400,34443,34486,34529,34571,34614,34657,34699,
678 34742,34785,34827,34870,34912,34955,34997,35040,
679 35082,35125,35167,35210,35252,35294,35337,35379,
680 35421,35464,35506,35548,35590,35633,35675,35717,
681 35759,35801,35843,35885,35927,35969,36011,36053,
682 36095,36137,36179,36221,36263,36305,36347,36388,
683 36430,36472,36514,36555,36597,36639,36681,36722,
684 36764,36805,36847,36889,36930,36972,37013,37055,
685 37096,37137,37179,37220,37262,37303,37344,37386,
686 37427,37468,37509,37551,37592,37633,37674,37715,
687 37756,37797,37838,37879,37920,37961,38002,38043,
688 38084,38125,38166,38207,38248,38288,38329,38370,
689 38411,38451,38492,38533,38573,38614,38655,38695,
690 38736,38776,38817,38857,38898,38938,38979,39019,
691 39059,39100,39140,39180,39221,39261,39301,39341,
692 39382,39422,39462,39502,39542,39582,39622,39662,
693 39702,39742,39782,39822,39862,39902,39942,39982,
694 40021,40061,40101,40141,40180,40220,40260,40300,
695 40339,40379,40418,40458,40497,40537,40576,40616,
696 40655,40695,40734,40773,40813,40852,40891,40931,
697 40970,41009,41048,41087,41127,41166,41205,41244,
698 41283,41322,41361,41400,41439,41478,41517,41556,
699 41595,41633,41672,41711,41750,41788,41827,41866,
700 41904,41943,41982,42020,42059,42097,42136,42174,
701 42213,42251,42290,42328,42366,42405,42443,42481,
702 42520,42558,42596,42634,42672,42711,42749,42787,
703 42825,42863,42901,42939,42977,43015,43053,43091,
704 43128,43166,43204,43242,43280,43317,43355,43393,
705 43430,43468,43506,43543,43581,43618,43656,43693,
706 43731,43768,43806,43843,43880,43918,43955,43992,
707 44029,44067,44104,44141,44178,44215,44252,44289,
708 44326,44363,44400,44437,44474,44511,44548,44585,
709 44622,44659,44695,44732,44769,44806,44842,44879,
710 44915,44952,44989,45025,45062,45098,45135,45171,
711 45207,45244,45280,45316,45353,45389,45425,45462,
712 45498,45534,45570,45606,45642,45678,45714,45750,
713 45786,45822,45858,45894,45930,45966,46002,46037,
714 46073,46109,46145,46180,46216,46252,46287,46323,
715 46358,46394,46429,46465,46500,46536,46571,46606,
716 46642,46677,46712,46747,46783,46818,46853,46888,
717 46923,46958,46993,47028,47063,47098,47133,47168,
718 47203,47238,47273,47308,47342,47377,47412,47446,
719 47481,47516,47550,47585,47619,47654,47688,47723,
720 47757,47792,47826,47860,47895,47929,47963,47998,
721 48032,48066,48100,48134,48168,48202,48237,48271,
722 48305,48338,48372,48406,48440,48474,48508,48542,
723 48575,48609,48643,48676,48710,48744,48777,48811,
724 48844,48878,48911,48945,48978,49012,49045,49078,
725 49112,49145,49178,49211,49244,49278,49311,49344,
726 49377,49410,49443,49476,49509,49542,49575,49608,
727 49640,49673,49706,49739,49771,49804,49837,49869,
728 49902,49935,49967,50000,50032,50065,50097,50129,
729 50162,50194,50226,50259,50291,50323,50355,50387,
730 50420,50452,50484,50516,50548,50580,50612,50644,
731 50675,50707,50739,50771,50803,50834,50866,50898,
732 50929,50961,50993,51024,51056,51087,51119,51150,
733 51182,51213,51244,51276,51307,51338,51369,51401,
734 51432,51463,51494,51525,51556,51587,51618,51649,
735 51680,51711,51742,51773,51803,51834,51865,51896,
736 51926,51957,51988,52018,52049,52079,52110,52140,
737 52171,52201,52231,52262,52292,52322,52353,52383,
738 52413,52443,52473,52503,52534,52564,52594,52624,
739 52653,52683,52713,52743,52773,52803,52832,52862,
740 52892,52922,52951,52981,53010,53040,53069,53099,
741 53128,53158,53187,53216,53246,53275,53304,53334,
742 53363,53392,53421,53450,53479,53508,53537,53566,
743 53595,53624,53653,53682,53711,53739,53768,53797,
744 53826,53854,53883,53911,53940,53969,53997,54026,
745 54054,54082,54111,54139,54167,54196,54224,54252,
746 54280,54308,54337,54365,54393,54421,54449,54477,
747 54505,54533,54560,54588,54616,54644,54672,54699,
748 54727,54755,54782,54810,54837,54865,54892,54920,
749 54947,54974,55002,55029,55056,55084,55111,55138,
750 55165,55192,55219,55246,55274,55300,55327,55354,
751 55381,55408,55435,55462,55489,55515,55542,55569,
752 55595,55622,55648,55675,55701,55728,55754,55781,
753 55807,55833,55860,55886,55912,55938,55965,55991,
754 56017,56043,56069,56095,56121,56147,56173,56199,
755 56225,56250,56276,56302,56328,56353,56379,56404,
756 56430,56456,56481,56507,56532,56557,56583,56608,
757 56633,56659,56684,56709,56734,56760,56785,56810,
758 56835,56860,56885,56910,56935,56959,56984,57009,
759 57034,57059,57083,57108,57133,57157,57182,57206,
760 57231,57255,57280,57304,57329,57353,57377,57402,
761 57426,57450,57474,57498,57522,57546,57570,57594,
762 57618,57642,57666,57690,57714,57738,57762,57785,
763 57809,57833,57856,57880,57903,57927,57950,57974,
764 57997,58021,58044,58067,58091,58114,58137,58160,
765 58183,58207,58230,58253,58276,58299,58322,58345,
766 58367,58390,58413,58436,58459,58481,58504,58527,
767 58549,58572,58594,58617,58639,58662,58684,58706,
768 58729,58751,58773,58795,58818,58840,58862,58884,
769 58906,58928,58950,58972,58994,59016,59038,59059,
770 59081,59103,59125,59146,59168,59190,59211,59233,
771 59254,59276,59297,59318,59340,59361,59382,59404,
772 59425,59446,59467,59488,59509,59530,59551,59572,
773 59593,59614,59635,59656,59677,59697,59718,59739,
774 59759,59780,59801,59821,59842,59862,59883,59903,
775 59923,59944,59964,59984,60004,60025,60045,60065,
776 60085,60105,60125,60145,60165,60185,60205,60225,
777 60244,60264,60284,60304,60323,60343,60363,60382,
778 60402,60421,60441,60460,60479,60499,60518,60537,
779 60556,60576,60595,60614,60633,60652,60671,60690,
780 60709,60728,60747,60766,60785,60803,60822,60841,
781 60859,60878,60897,60915,60934,60952,60971,60989,
782 61007,61026,61044,61062,61081,61099,61117,61135,
783 61153,61171,61189,61207,61225,61243,61261,61279,
784 61297,61314,61332,61350,61367,61385,61403,61420,
785 61438,61455,61473,61490,61507,61525,61542,61559,
786 61577,61594,61611,61628,61645,61662,61679,61696,
787 61713,61730,61747,61764,61780,61797,61814,61831,
788 61847,61864,61880,61897,61913,61930,61946,61963,
789 61979,61995,62012,62028,62044,62060,62076,62092,
790 62108,62125,62141,62156,62172,62188,62204,62220,
791 62236,62251,62267,62283,62298,62314,62329,62345,
792 62360,62376,62391,62407,62422,62437,62453,62468,
793 62483,62498,62513,62528,62543,62558,62573,62588,
794 62603,62618,62633,62648,62662,62677,62692,62706,
795 62721,62735,62750,62764,62779,62793,62808,62822,
796 62836,62850,62865,62879,62893,62907,62921,62935,
797 62949,62963,62977,62991,63005,63019,63032,63046,
798 63060,63074,63087,63101,63114,63128,63141,63155,
799 63168,63182,63195,63208,63221,63235,63248,63261,
800 63274,63287,63300,63313,63326,63339,63352,63365,
801 63378,63390,63403,63416,63429,63441,63454,63466,
802 63479,63491,63504,63516,63528,63541,63553,63565,
803 63578,63590,63602,63614,63626,63638,63650,63662,
804 63674,63686,63698,63709,63721,63733,63745,63756,
805 63768,63779,63791,63803,63814,63825,63837,63848,
806 63859,63871,63882,63893,63904,63915,63927,63938,
807 63949,63960,63971,63981,63992,64003,64014,64025,
808 64035,64046,64057,64067,64078,64088,64099,64109,
809 64120,64130,64140,64151,64161,64171,64181,64192,
810 64202,64212,64222,64232,64242,64252,64261,64271,
811 64281,64291,64301,64310,64320,64330,64339,64349,
812 64358,64368,64377,64387,64396,64405,64414,64424,
813 64433,64442,64451,64460,64469,64478,64487,64496,
814 64505,64514,64523,64532,64540,64549,64558,64566,
815 64575,64584,64592,64601,64609,64617,64626,64634,
816 64642,64651,64659,64667,64675,64683,64691,64699,
817 64707,64715,64723,64731,64739,64747,64754,64762,
818 64770,64777,64785,64793,64800,64808,64815,64822,
819 64830,64837,64844,64852,64859,64866,64873,64880,
820 64887,64895,64902,64908,64915,64922,64929,64936,
821 64943,64949,64956,64963,64969,64976,64982,64989,
822 64995,65002,65008,65015,65021,65027,65033,65040,
823 65046,65052,65058,65064,65070,65076,65082,65088,
824 65094,65099,65105,65111,65117,65122,65128,65133,
825 65139,65144,65150,65155,65161,65166,65171,65177,
826 65182,65187,65192,65197,65202,65207,65212,65217,
827 65222,65227,65232,65237,65242,65246,65251,65256,
828 65260,65265,65270,65274,65279,65283,65287,65292,
829 65296,65300,65305,65309,65313,65317,65321,65325,
830 65329,65333,65337,65341,65345,65349,65352,65356,
831 65360,65363,65367,65371,65374,65378,65381,65385,
832 65388,65391,65395,65398,65401,65404,65408,65411,
833 65414,65417,65420,65423,65426,65429,65431,65434,
834 65437,65440,65442,65445,65448,65450,65453,65455,
835 65458,65460,65463,65465,65467,65470,65472,65474,
836 65476,65478,65480,65482,65484,65486,65488,65490,
837 65492,65494,65496,65497,65499,65501,65502,65504,
838 65505,65507,65508,65510,65511,65513,65514,65515,
839 65516,65518,65519,65520,65521,65522,65523,65524,
840 65525,65526,65527,65527,65528,65529,65530,65530,
841 65531,65531,65532,65532,65533,65533,65534,65534,
842 65534,65535,65535,65535,65535,65535,65535,65535,
843 65535,65535,65535,65535,65535,65535,65535,65534,
844 65534,65534,65533,65533,65532,65532,65531,65531,
845 65530,65530,65529,65528,65527,65527,65526,65525,
846 65524,65523,65522,65521,65520,65519,65518,65516,
847 65515,65514,65513,65511,65510,65508,65507,65505,
848 65504,65502,65501,65499,65497,65496,65494,65492,
849 65490,65488,65486,65484,65482,65480,65478,65476,
850 65474,65472,65470,65467,65465,65463,65460,65458,
851 65455,65453,65450,65448,65445,65442,65440,65437,
852 65434,65431,65429,65426,65423,65420,65417,65414,
853 65411,65408,65404,65401,65398,65395,65391,65388,
854 65385,65381,65378,65374,65371,65367,65363,65360,
855 65356,65352,65349,65345,65341,65337,65333,65329,
856 65325,65321,65317,65313,65309,65305,65300,65296,
857 65292,65287,65283,65279,65274,65270,65265,65260,
858 65256,65251,65246,65242,65237,65232,65227,65222,
859 65217,65212,65207,65202,65197,65192,65187,65182,
860 65177,65171,65166,65161,65155,65150,65144,65139,
861 65133,65128,65122,65117,65111,65105,65099,65094,
862 65088,65082,65076,65070,65064,65058,65052,65046,
863 65040,65033,65027,65021,65015,65008,65002,64995,
864 64989,64982,64976,64969,64963,64956,64949,64943,
865 64936,64929,64922,64915,64908,64902,64895,64887,
866 64880,64873,64866,64859,64852,64844,64837,64830,
867 64822,64815,64808,64800,64793,64785,64777,64770,
868 64762,64754,64747,64739,64731,64723,64715,64707,
869 64699,64691,64683,64675,64667,64659,64651,64642,
870 64634,64626,64617,64609,64600,64592,64584,64575,
871 64566,64558,64549,64540,64532,64523,64514,64505,
872 64496,64487,64478,64469,64460,64451,64442,64433,
873 64424,64414,64405,64396,64387,64377,64368,64358,
874 64349,64339,64330,64320,64310,64301,64291,64281,
875 64271,64261,64252,64242,64232,64222,64212,64202,
876 64192,64181,64171,64161,64151,64140,64130,64120,
877 64109,64099,64088,64078,64067,64057,64046,64035,
878 64025,64014,64003,63992,63981,63971,63960,63949,
879 63938,63927,63915,63904,63893,63882,63871,63859,
880 63848,63837,63825,63814,63803,63791,63779,63768,
881 63756,63745,63733,63721,63709,63698,63686,63674,
882 63662,63650,63638,63626,63614,63602,63590,63578,
883 63565,63553,63541,63528,63516,63504,63491,63479,
884 63466,63454,63441,63429,63416,63403,63390,63378,
885 63365,63352,63339,63326,63313,63300,63287,63274,
886 63261,63248,63235,63221,63208,63195,63182,63168,
887 63155,63141,63128,63114,63101,63087,63074,63060,
888 63046,63032,63019,63005,62991,62977,62963,62949,
889 62935,62921,62907,62893,62879,62865,62850,62836,
890 62822,62808,62793,62779,62764,62750,62735,62721,
891 62706,62692,62677,62662,62648,62633,62618,62603,
892 62588,62573,62558,62543,62528,62513,62498,62483,
893 62468,62453,62437,62422,62407,62391,62376,62360,
894 62345,62329,62314,62298,62283,62267,62251,62236,
895 62220,62204,62188,62172,62156,62141,62125,62108,
896 62092,62076,62060,62044,62028,62012,61995,61979,
897 61963,61946,61930,61913,61897,61880,61864,61847,
898 61831,61814,61797,61780,61764,61747,61730,61713,
899 61696,61679,61662,61645,61628,61611,61594,61577,
900 61559,61542,61525,61507,61490,61473,61455,61438,
901 61420,61403,61385,61367,61350,61332,61314,61297,
902 61279,61261,61243,61225,61207,61189,61171,61153,
903 61135,61117,61099,61081,61062,61044,61026,61007,
904 60989,60971,60952,60934,60915,60897,60878,60859,
905 60841,60822,60803,60785,60766,60747,60728,60709,
906 60690,60671,60652,60633,60614,60595,60576,60556,
907 60537,60518,60499,60479,60460,60441,60421,60402,
908 60382,60363,60343,60323,60304,60284,60264,60244,
909 60225,60205,60185,60165,60145,60125,60105,60085,
910 60065,60045,60025,60004,59984,59964,59944,59923,
911 59903,59883,59862,59842,59821,59801,59780,59759,
912 59739,59718,59697,59677,59656,59635,59614,59593,
913 59572,59551,59530,59509,59488,59467,59446,59425,
914 59404,59382,59361,59340,59318,59297,59276,59254,
915 59233,59211,59190,59168,59146,59125,59103,59081,
916 59059,59038,59016,58994,58972,58950,58928,58906,
917 58884,58862,58840,58818,58795,58773,58751,58729,
918 58706,58684,58662,58639,58617,58594,58572,58549,
919 58527,58504,58481,58459,58436,58413,58390,58367,
920 58345,58322,58299,58276,58253,58230,58207,58183,
921 58160,58137,58114,58091,58067,58044,58021,57997,
922 57974,57950,57927,57903,57880,57856,57833,57809,
923 57785,57762,57738,57714,57690,57666,57642,57618,
924 57594,57570,57546,57522,57498,57474,57450,57426,
925 57402,57377,57353,57329,57304,57280,57255,57231,
926 57206,57182,57157,57133,57108,57083,57059,57034,
927 57009,56984,56959,56935,56910,56885,56860,56835,
928 56810,56785,56760,56734,56709,56684,56659,56633,
929 56608,56583,56557,56532,56507,56481,56456,56430,
930 56404,56379,56353,56328,56302,56276,56250,56225,
931 56199,56173,56147,56121,56095,56069,56043,56017,
932 55991,55965,55938,55912,55886,55860,55833,55807,
933 55781,55754,55728,55701,55675,55648,55622,55595,
934 55569,55542,55515,55489,55462,55435,55408,55381,
935 55354,55327,55300,55274,55246,55219,55192,55165,
936 55138,55111,55084,55056,55029,55002,54974,54947,
937 54920,54892,54865,54837,54810,54782,54755,54727,
938 54699,54672,54644,54616,54588,54560,54533,54505,
939 54477,54449,54421,54393,54365,54337,54308,54280,
940 54252,54224,54196,54167,54139,54111,54082,54054,
941 54026,53997,53969,53940,53911,53883,53854,53826,
942 53797,53768,53739,53711,53682,53653,53624,53595,
943 53566,53537,53508,53479,53450,53421,53392,53363,
944 53334,53304,53275,53246,53216,53187,53158,53128,
945 53099,53069,53040,53010,52981,52951,52922,52892,
946 52862,52832,52803,52773,52743,52713,52683,52653,
947 52624,52594,52564,52534,52503,52473,52443,52413,
948 52383,52353,52322,52292,52262,52231,52201,52171,
949 52140,52110,52079,52049,52018,51988,51957,51926,
950 51896,51865,51834,51803,51773,51742,51711,51680,
951 51649,51618,51587,51556,51525,51494,51463,51432,
952 51401,51369,51338,51307,51276,51244,51213,51182,
953 51150,51119,51087,51056,51024,50993,50961,50929,
954 50898,50866,50834,50803,50771,50739,50707,50675,
955 50644,50612,50580,50548,50516,50484,50452,50420,
956 50387,50355,50323,50291,50259,50226,50194,50162,
957 50129,50097,50065,50032,50000,49967,49935,49902,
958 49869,49837,49804,49771,49739,49706,49673,49640,
959 49608,49575,49542,49509,49476,49443,49410,49377,
960 49344,49311,49278,49244,49211,49178,49145,49112,
961 49078,49045,49012,48978,48945,48911,48878,48844,
962 48811,48777,48744,48710,48676,48643,48609,48575,
963 48542,48508,48474,48440,48406,48372,48338,48304,
964 48271,48237,48202,48168,48134,48100,48066,48032,
965 47998,47963,47929,47895,47860,47826,47792,47757,
966 47723,47688,47654,47619,47585,47550,47516,47481,
967 47446,47412,47377,47342,47308,47273,47238,47203,
968 47168,47133,47098,47063,47028,46993,46958,46923,
969 46888,46853,46818,46783,46747,46712,46677,46642,
970 46606,46571,46536,46500,46465,46429,46394,46358,
971 46323,46287,46252,46216,46180,46145,46109,46073,
972 46037,46002,45966,45930,45894,45858,45822,45786,
973 45750,45714,45678,45642,45606,45570,45534,45498,
974 45462,45425,45389,45353,45316,45280,45244,45207,
975 45171,45135,45098,45062,45025,44989,44952,44915,
976 44879,44842,44806,44769,44732,44695,44659,44622,
977 44585,44548,44511,44474,44437,44400,44363,44326,
978 44289,44252,44215,44178,44141,44104,44067,44029,
979 43992,43955,43918,43880,43843,43806,43768,43731,
980 43693,43656,43618,43581,43543,43506,43468,43430,
981 43393,43355,43317,43280,43242,43204,43166,43128,
982 43091,43053,43015,42977,42939,42901,42863,42825,
983 42787,42749,42711,42672,42634,42596,42558,42520,
984 42481,42443,42405,42366,42328,42290,42251,42213,
985 42174,42136,42097,42059,42020,41982,41943,41904,
986 41866,41827,41788,41750,41711,41672,41633,41595,
987 41556,41517,41478,41439,41400,41361,41322,41283,
988 41244,41205,41166,41127,41088,41048,41009,40970,
989 40931,40891,40852,40813,40773,40734,40695,40655,
990 40616,40576,40537,40497,40458,40418,40379,40339,
991 40300,40260,40220,40180,40141,40101,40061,40021,
992 39982,39942,39902,39862,39822,39782,39742,39702,
993 39662,39622,39582,39542,39502,39462,39422,39382,
994 39341,39301,39261,39221,39180,39140,39100,39059,
995 39019,38979,38938,38898,38857,38817,38776,38736,
996 38695,38655,38614,38573,38533,38492,38451,38411,
997 38370,38329,38288,38248,38207,38166,38125,38084,
998 38043,38002,37961,37920,37879,37838,37797,37756,
999 37715,37674,37633,37592,37551,37509,37468,37427,
1000 37386,37344,37303,37262,37220,37179,37137,37096,
1001 37055,37013,36972,36930,36889,36847,36805,36764,
1002 36722,36681,36639,36597,36556,36514,36472,36430,
1003 36388,36347,36305,36263,36221,36179,36137,36095,
1004 36053,36011,35969,35927,35885,35843,35801,35759,
1005 35717,35675,35633,35590,35548,35506,35464,35421,
1006 35379,35337,35294,35252,35210,35167,35125,35082,
1007 35040,34997,34955,34912,34870,34827,34785,34742,
1008 34699,34657,34614,34571,34529,34486,34443,34400,
1009 34358,34315,34272,34229,34186,34143,34100,34057,
1010 34015,33972,33929,33886,33843,33799,33756,33713,
1011 33670,33627,33584,33541,33498,33454,33411,33368,
1012 33325,33281,33238,33195,33151,33108,33065,33021,
1013 32978,32934,32891,32847,32804,32760,32717,32673,
1014 32630,32586,32542,32499,32455,32411,32368,32324,
1015 32280,32236,32193,32149,32105,32061,32017,31974,
1016 31930,31886,31842,31798,31754,31710,31666,31622,
1017 31578,31534,31490,31446,31402,31357,31313,31269,
1018 31225,31181,31136,31092,31048,31004,30959,30915,
1019 30871,30826,30782,30738,30693,30649,30604,30560,
1020 30515,30471,30426,30382,30337,30293,30248,30204,
1021 30159,30114,30070,30025,29980,29936,29891,29846,
1022 29801,29757,29712,29667,29622,29577,29533,29488,
1023 29443,29398,29353,29308,29263,29218,29173,29128,
1024 29083,29038,28993,28948,28903,28858,28812,28767,
1025 28722,28677,28632,28586,28541,28496,28451,28405,
1026 28360,28315,28269,28224,28179,28133,28088,28042,
1027 27997,27952,27906,27861,27815,27770,27724,27678,
1028 27633,27587,27542,27496,27450,27405,27359,27313,
1029 27268,27222,27176,27131,27085,27039,26993,26947,
1030 26902,26856,26810,26764,26718,26672,26626,26580,
1031 26534,26488,26442,26396,26350,26304,26258,26212,
1032 26166,26120,26074,26028,25982,25936,25889,25843,
1033 25797,25751,25705,25658,25612,25566,25520,25473,
1034 25427,25381,25334,25288,25241,25195,25149,25102,
1035 25056,25009,24963,24916,24870,24823,24777,24730,
1036 24684,24637,24591,24544,24497,24451,24404,24357,
1037 24311,24264,24217,24171,24124,24077,24030,23984,
1038 23937,23890,23843,23796,23750,23703,23656,23609,
1039 23562,23515,23468,23421,23374,23327,23280,23233,
1040 23186,23139,23092,23045,22998,22951,22904,22857,
1041 22810,22763,22716,22668,22621,22574,22527,22480,
1042 22433,22385,22338,22291,22243,22196,22149,22102,
1043 22054,22007,21960,21912,21865,21817,21770,21723,
1044 21675,21628,21580,21533,21485,21438,21390,21343,
1045 21295,21248,21200,21153,21105,21057,21010,20962,
1046 20915,20867,20819,20772,20724,20676,20629,20581,
1047 20533,20485,20438,20390,20342,20294,20246,20199,
1048 20151,20103,20055,20007,19959,19912,19864,19816,
1049 19768,19720,19672,19624,19576,19528,19480,19432,
1050 19384,19336,19288,19240,19192,19144,19096,19048,
1051 19000,18951,18903,18855,18807,18759,18711,18663,
1052 18614,18566,18518,18470,18421,18373,18325,18277,
1053 18228,18180,18132,18084,18035,17987,17939,17890,
1054 17842,17793,17745,17697,17648,17600,17551,17503,
1055 17455,17406,17358,17309,17261,17212,17164,17115,
1056 17067,17018,16970,16921,16872,16824,16775,16727,
1057 16678,16629,16581,16532,16484,16435,16386,16338,
1058 16289,16240,16191,16143,16094,16045,15997,15948,
1059 15899,15850,15802,15753,15704,15655,15606,15557,
1060 15509,15460,15411,15362,15313,15264,15215,15167,
1061 15118,15069,15020,14971,14922,14873,14824,14775,
1062 14726,14677,14628,14579,14530,14481,14432,14383,
1063 14334,14285,14236,14187,14138,14089,14040,13990,
1064 13941,13892,13843,13794,13745,13696,13646,13597,
1065 13548,13499,13450,13401,13351,13302,13253,13204,
1066 13154,13105,13056,13007,12957,12908,12859,12810,
1067 12760,12711,12662,12612,12563,12514,12464,12415,
1068 12366,12316,12267,12218,12168,12119,12069,12020,
1069 11970,11921,11872,11822,11773,11723,11674,11624,
1070 11575,11525,11476,11426,11377,11327,11278,11228,
1071 11179,11129,11080,11030,10981,10931,10882,10832,
1072 10782,10733,10683,10634,10584,10534,10485,10435,
1073 10386,10336,10286,10237,10187,10137,10088,10038,
1074 9988,9939,9889,9839,9790,9740,9690,9640,
1075 9591,9541,9491,9442,9392,9342,9292,9243,
1076 9193,9143,9093,9043,8994,8944,8894,8844,
1077 8794,8745,8695,8645,8595,8545,8496,8446,
1078 8396,8346,8296,8246,8196,8147,8097,8047,
1079 7997,7947,7897,7847,7797,7747,7697,7648,
1080 7598,7548,7498,7448,7398,7348,7298,7248,
1081 7198,7148,7098,7048,6998,6948,6898,6848,
1082 6798,6748,6698,6648,6598,6548,6498,6448,
1083 6398,6348,6298,6248,6198,6148,6098,6048,
1084 5998,5948,5898,5848,5798,5748,5697,5647,
1085 5597,5547,5497,5447,5397,5347,5297,5247,
1086 5197,5146,5096,5046,4996,4946,4896,4846,
1087 4796,4745,4695,4645,4595,4545,4495,4445,
1088 4394,4344,4294,4244,4194,4144,4093,4043,
1089 3993,3943,3893,3843,3792,3742,3692,3642,
1090 3592,3541,3491,3441,3391,3341,3291,3240,
1091 3190,3140,3090,3039,2989,2939,2889,2839,
1092 2788,2738,2688,2638,2587,2537,2487,2437,
1093 2387,2336,2286,2236,2186,2135,2085,2035,
1094 1985,1934,1884,1834,1784,1733,1683,1633,
1095 1583,1532,1482,1432,1382,1331,1281,1231,
1096 1181,1130,1080,1030,980,929,879,829,
1097 779,728,678,628,578,527,477,427,
1098 376,326,276,226,175,125,75,25,
1099 -25,-75,-125,-175,-226,-276,-326,-376,
1100 -427,-477,-527,-578,-628,-678,-728,-779,
1101 -829,-879,-929,-980,-1030,-1080,-1130,-1181,
1102 -1231,-1281,-1331,-1382,-1432,-1482,-1532,-1583,
1103 -1633,-1683,-1733,-1784,-1834,-1884,-1934,-1985,
1104 -2035,-2085,-2135,-2186,-2236,-2286,-2336,-2387,
1105 -2437,-2487,-2537,-2588,-2638,-2688,-2738,-2788,
1106 -2839,-2889,-2939,-2989,-3039,-3090,-3140,-3190,
1107 -3240,-3291,-3341,-3391,-3441,-3491,-3541,-3592,
1108 -3642,-3692,-3742,-3792,-3843,-3893,-3943,-3993,
1109 -4043,-4093,-4144,-4194,-4244,-4294,-4344,-4394,
1110 -4445,-4495,-4545,-4595,-4645,-4695,-4745,-4796,
1111 -4846,-4896,-4946,-4996,-5046,-5096,-5146,-5197,
1112 -5247,-5297,-5347,-5397,-5447,-5497,-5547,-5597,
1113 -5647,-5697,-5748,-5798,-5848,-5898,-5948,-5998,
1114 -6048,-6098,-6148,-6198,-6248,-6298,-6348,-6398,
1115 -6448,-6498,-6548,-6598,-6648,-6698,-6748,-6798,
1116 -6848,-6898,-6948,-6998,-7048,-7098,-7148,-7198,
1117 -7248,-7298,-7348,-7398,-7448,-7498,-7548,-7598,
1118 -7648,-7697,-7747,-7797,-7847,-7897,-7947,-7997,
1119 -8047,-8097,-8147,-8196,-8246,-8296,-8346,-8396,
1120 -8446,-8496,-8545,-8595,-8645,-8695,-8745,-8794,
1121 -8844,-8894,-8944,-8994,-9043,-9093,-9143,-9193,
1122 -9243,-9292,-9342,-9392,-9442,-9491,-9541,-9591,
1123 -9640,-9690,-9740,-9790,-9839,-9889,-9939,-9988,
1124 -10038,-10088,-10137,-10187,-10237,-10286,-10336,-10386,
1125 -10435,-10485,-10534,-10584,-10634,-10683,-10733,-10782,
1126 -10832,-10882,-10931,-10981,-11030,-11080,-11129,-11179,
1127 -11228,-11278,-11327,-11377,-11426,-11476,-11525,-11575,
1128 -11624,-11674,-11723,-11773,-11822,-11872,-11921,-11970,
1129 -12020,-12069,-12119,-12168,-12218,-12267,-12316,-12366,
1130 -12415,-12464,-12514,-12563,-12612,-12662,-12711,-12760,
1131 -12810,-12859,-12908,-12957,-13007,-13056,-13105,-13154,
1132 -13204,-13253,-13302,-13351,-13401,-13450,-13499,-13548,
1133 -13597,-13647,-13696,-13745,-13794,-13843,-13892,-13941,
1134 -13990,-14040,-14089,-14138,-14187,-14236,-14285,-14334,
1135 -14383,-14432,-14481,-14530,-14579,-14628,-14677,-14726,
1136 -14775,-14824,-14873,-14922,-14971,-15020,-15069,-15118,
1137 -15167,-15215,-15264,-15313,-15362,-15411,-15460,-15509,
1138 -15557,-15606,-15655,-15704,-15753,-15802,-15850,-15899,
1139 -15948,-15997,-16045,-16094,-16143,-16191,-16240,-16289,
1140 -16338,-16386,-16435,-16484,-16532,-16581,-16629,-16678,
1141 -16727,-16775,-16824,-16872,-16921,-16970,-17018,-17067,
1142 -17115,-17164,-17212,-17261,-17309,-17358,-17406,-17455,
1143 -17503,-17551,-17600,-17648,-17697,-17745,-17793,-17842,
1144 -17890,-17939,-17987,-18035,-18084,-18132,-18180,-18228,
1145 -18277,-18325,-18373,-18421,-18470,-18518,-18566,-18614,
1146 -18663,-18711,-18759,-18807,-18855,-18903,-18951,-19000,
1147 -19048,-19096,-19144,-19192,-19240,-19288,-19336,-19384,
1148 -19432,-19480,-19528,-19576,-19624,-19672,-19720,-19768,
1149 -19816,-19864,-19912,-19959,-20007,-20055,-20103,-20151,
1150 -20199,-20246,-20294,-20342,-20390,-20438,-20485,-20533,
1151 -20581,-20629,-20676,-20724,-20772,-20819,-20867,-20915,
1152 -20962,-21010,-21057,-21105,-21153,-21200,-21248,-21295,
1153 -21343,-21390,-21438,-21485,-21533,-21580,-21628,-21675,
1154 -21723,-21770,-21817,-21865,-21912,-21960,-22007,-22054,
1155 -22102,-22149,-22196,-22243,-22291,-22338,-22385,-22433,
1156 -22480,-22527,-22574,-22621,-22668,-22716,-22763,-22810,
1157 -22857,-22904,-22951,-22998,-23045,-23092,-23139,-23186,
1158 -23233,-23280,-23327,-23374,-23421,-23468,-23515,-23562,
1159 -23609,-23656,-23703,-23750,-23796,-23843,-23890,-23937,
1160 -23984,-24030,-24077,-24124,-24171,-24217,-24264,-24311,
1161 -24357,-24404,-24451,-24497,-24544,-24591,-24637,-24684,
1162 -24730,-24777,-24823,-24870,-24916,-24963,-25009,-25056,
1163 -25102,-25149,-25195,-25241,-25288,-25334,-25381,-25427,
1164 -25473,-25520,-25566,-25612,-25658,-25705,-25751,-25797,
1165 -25843,-25889,-25936,-25982,-26028,-26074,-26120,-26166,
1166 -26212,-26258,-26304,-26350,-26396,-26442,-26488,-26534,
1167 -26580,-26626,-26672,-26718,-26764,-26810,-26856,-26902,
1168 -26947,-26993,-27039,-27085,-27131,-27176,-27222,-27268,
1169 -27313,-27359,-27405,-27450,-27496,-27542,-27587,-27633,
1170 -27678,-27724,-27770,-27815,-27861,-27906,-27952,-27997,
1171 -28042,-28088,-28133,-28179,-28224,-28269,-28315,-28360,
1172 -28405,-28451,-28496,-28541,-28586,-28632,-28677,-28722,
1173 -28767,-28812,-28858,-28903,-28948,-28993,-29038,-29083,
1174 -29128,-29173,-29218,-29263,-29308,-29353,-29398,-29443,
1175 -29488,-29533,-29577,-29622,-29667,-29712,-29757,-29801,
1176 -29846,-29891,-29936,-29980,-30025,-30070,-30114,-30159,
1177 -30204,-30248,-30293,-30337,-30382,-30426,-30471,-30515,
1178 -30560,-30604,-30649,-30693,-30738,-30782,-30826,-30871,
1179 -30915,-30959,-31004,-31048,-31092,-31136,-31181,-31225,
1180 -31269,-31313,-31357,-31402,-31446,-31490,-31534,-31578,
1181 -31622,-31666,-31710,-31754,-31798,-31842,-31886,-31930,
1182 -31974,-32017,-32061,-32105,-32149,-32193,-32236,-32280,
1183 -32324,-32368,-32411,-32455,-32499,-32542,-32586,-32630,
1184 -32673,-32717,-32760,-32804,-32847,-32891,-32934,-32978,
1185 -33021,-33065,-33108,-33151,-33195,-33238,-33281,-33325,
1186 -33368,-33411,-33454,-33498,-33541,-33584,-33627,-33670,
1187 -33713,-33756,-33799,-33843,-33886,-33929,-33972,-34015,
1188 -34057,-34100,-34143,-34186,-34229,-34272,-34315,-34358,
1189 -34400,-34443,-34486,-34529,-34571,-34614,-34657,-34699,
1190 -34742,-34785,-34827,-34870,-34912,-34955,-34997,-35040,
1191 -35082,-35125,-35167,-35210,-35252,-35294,-35337,-35379,
1192 -35421,-35464,-35506,-35548,-35590,-35633,-35675,-35717,
1193 -35759,-35801,-35843,-35885,-35927,-35969,-36011,-36053,
1194 -36095,-36137,-36179,-36221,-36263,-36305,-36347,-36388,
1195 -36430,-36472,-36514,-36555,-36597,-36639,-36681,-36722,
1196 -36764,-36805,-36847,-36889,-36930,-36972,-37013,-37055,
1197 -37096,-37137,-37179,-37220,-37262,-37303,-37344,-37386,
1198 -37427,-37468,-37509,-37551,-37592,-37633,-37674,-37715,
1199 -37756,-37797,-37838,-37879,-37920,-37961,-38002,-38043,
1200 -38084,-38125,-38166,-38207,-38248,-38288,-38329,-38370,
1201 -38411,-38451,-38492,-38533,-38573,-38614,-38655,-38695,
1202 -38736,-38776,-38817,-38857,-38898,-38938,-38979,-39019,
1203 -39059,-39100,-39140,-39180,-39221,-39261,-39301,-39341,
1204 -39382,-39422,-39462,-39502,-39542,-39582,-39622,-39662,
1205 -39702,-39742,-39782,-39822,-39862,-39902,-39942,-39982,
1206 -40021,-40061,-40101,-40141,-40180,-40220,-40260,-40299,
1207 -40339,-40379,-40418,-40458,-40497,-40537,-40576,-40616,
1208 -40655,-40695,-40734,-40773,-40813,-40852,-40891,-40931,
1209 -40970,-41009,-41048,-41087,-41127,-41166,-41205,-41244,
1210 -41283,-41322,-41361,-41400,-41439,-41478,-41517,-41556,
1211 -41595,-41633,-41672,-41711,-41750,-41788,-41827,-41866,
1212 -41904,-41943,-41982,-42020,-42059,-42097,-42136,-42174,
1213 -42213,-42251,-42290,-42328,-42366,-42405,-42443,-42481,
1214 -42520,-42558,-42596,-42634,-42672,-42711,-42749,-42787,
1215 -42825,-42863,-42901,-42939,-42977,-43015,-43053,-43091,
1216 -43128,-43166,-43204,-43242,-43280,-43317,-43355,-43393,
1217 -43430,-43468,-43506,-43543,-43581,-43618,-43656,-43693,
1218 -43731,-43768,-43806,-43843,-43880,-43918,-43955,-43992,
1219 -44029,-44067,-44104,-44141,-44178,-44215,-44252,-44289,
1220 -44326,-44363,-44400,-44437,-44474,-44511,-44548,-44585,
1221 -44622,-44659,-44695,-44732,-44769,-44806,-44842,-44879,
1222 -44915,-44952,-44989,-45025,-45062,-45098,-45135,-45171,
1223 -45207,-45244,-45280,-45316,-45353,-45389,-45425,-45462,
1224 -45498,-45534,-45570,-45606,-45642,-45678,-45714,-45750,
1225 -45786,-45822,-45858,-45894,-45930,-45966,-46002,-46037,
1226 -46073,-46109,-46145,-46180,-46216,-46252,-46287,-46323,
1227 -46358,-46394,-46429,-46465,-46500,-46536,-46571,-46606,
1228 -46642,-46677,-46712,-46747,-46783,-46818,-46853,-46888,
1229 -46923,-46958,-46993,-47028,-47063,-47098,-47133,-47168,
1230 -47203,-47238,-47273,-47308,-47342,-47377,-47412,-47446,
1231 -47481,-47516,-47550,-47585,-47619,-47654,-47688,-47723,
1232 -47757,-47792,-47826,-47860,-47895,-47929,-47963,-47998,
1233 -48032,-48066,-48100,-48134,-48168,-48202,-48236,-48271,
1234 -48304,-48338,-48372,-48406,-48440,-48474,-48508,-48542,
1235 -48575,-48609,-48643,-48676,-48710,-48744,-48777,-48811,
1236 -48844,-48878,-48911,-48945,-48978,-49012,-49045,-49078,
1237 -49112,-49145,-49178,-49211,-49244,-49278,-49311,-49344,
1238 -49377,-49410,-49443,-49476,-49509,-49542,-49575,-49608,
1239 -49640,-49673,-49706,-49739,-49771,-49804,-49837,-49869,
1240 -49902,-49935,-49967,-50000,-50032,-50065,-50097,-50129,
1241 -50162,-50194,-50226,-50259,-50291,-50323,-50355,-50387,
1242 -50420,-50452,-50484,-50516,-50548,-50580,-50612,-50644,
1243 -50675,-50707,-50739,-50771,-50803,-50834,-50866,-50898,
1244 -50929,-50961,-50993,-51024,-51056,-51087,-51119,-51150,
1245 -51182,-51213,-51244,-51276,-51307,-51338,-51369,-51401,
1246 -51432,-51463,-51494,-51525,-51556,-51587,-51618,-51649,
1247 -51680,-51711,-51742,-51773,-51803,-51834,-51865,-51896,
1248 -51926,-51957,-51988,-52018,-52049,-52079,-52110,-52140,
1249 -52171,-52201,-52231,-52262,-52292,-52322,-52353,-52383,
1250 -52413,-52443,-52473,-52503,-52534,-52564,-52594,-52624,
1251 -52653,-52683,-52713,-52743,-52773,-52803,-52832,-52862,
1252 -52892,-52922,-52951,-52981,-53010,-53040,-53069,-53099,
1253 -53128,-53158,-53187,-53216,-53246,-53275,-53304,-53334,
1254 -53363,-53392,-53421,-53450,-53479,-53508,-53537,-53566,
1255 -53595,-53624,-53653,-53682,-53711,-53739,-53768,-53797,
1256 -53826,-53854,-53883,-53911,-53940,-53969,-53997,-54026,
1257 -54054,-54082,-54111,-54139,-54167,-54196,-54224,-54252,
1258 -54280,-54308,-54337,-54365,-54393,-54421,-54449,-54477,
1259 -54505,-54533,-54560,-54588,-54616,-54644,-54672,-54699,
1260 -54727,-54755,-54782,-54810,-54837,-54865,-54892,-54920,
1261 -54947,-54974,-55002,-55029,-55056,-55084,-55111,-55138,
1262 -55165,-55192,-55219,-55246,-55274,-55300,-55327,-55354,
1263 -55381,-55408,-55435,-55462,-55489,-55515,-55542,-55569,
1264 -55595,-55622,-55648,-55675,-55701,-55728,-55754,-55781,
1265 -55807,-55833,-55860,-55886,-55912,-55938,-55965,-55991,
1266 -56017,-56043,-56069,-56095,-56121,-56147,-56173,-56199,
1267 -56225,-56250,-56276,-56302,-56328,-56353,-56379,-56404,
1268 -56430,-56456,-56481,-56507,-56532,-56557,-56583,-56608,
1269 -56633,-56659,-56684,-56709,-56734,-56760,-56785,-56810,
1270 -56835,-56860,-56885,-56910,-56935,-56959,-56984,-57009,
1271 -57034,-57059,-57083,-57108,-57133,-57157,-57182,-57206,
1272 -57231,-57255,-57280,-57304,-57329,-57353,-57377,-57402,
1273 -57426,-57450,-57474,-57498,-57522,-57546,-57570,-57594,
1274 -57618,-57642,-57666,-57690,-57714,-57738,-57762,-57785,
1275 -57809,-57833,-57856,-57880,-57903,-57927,-57950,-57974,
1276 -57997,-58021,-58044,-58067,-58091,-58114,-58137,-58160,
1277 -58183,-58207,-58230,-58253,-58276,-58299,-58322,-58345,
1278 -58367,-58390,-58413,-58436,-58459,-58481,-58504,-58527,
1279 -58549,-58572,-58594,-58617,-58639,-58662,-58684,-58706,
1280 -58729,-58751,-58773,-58795,-58818,-58840,-58862,-58884,
1281 -58906,-58928,-58950,-58972,-58994,-59016,-59038,-59059,
1282 -59081,-59103,-59125,-59146,-59168,-59190,-59211,-59233,
1283 -59254,-59276,-59297,-59318,-59340,-59361,-59382,-59404,
1284 -59425,-59446,-59467,-59488,-59509,-59530,-59551,-59572,
1285 -59593,-59614,-59635,-59656,-59677,-59697,-59718,-59739,
1286 -59759,-59780,-59801,-59821,-59842,-59862,-59883,-59903,
1287 -59923,-59944,-59964,-59984,-60004,-60025,-60045,-60065,
1288 -60085,-60105,-60125,-60145,-60165,-60185,-60205,-60225,
1289 -60244,-60264,-60284,-60304,-60323,-60343,-60363,-60382,
1290 -60402,-60421,-60441,-60460,-60479,-60499,-60518,-60537,
1291 -60556,-60576,-60595,-60614,-60633,-60652,-60671,-60690,
1292 -60709,-60728,-60747,-60766,-60785,-60803,-60822,-60841,
1293 -60859,-60878,-60897,-60915,-60934,-60952,-60971,-60989,
1294 -61007,-61026,-61044,-61062,-61081,-61099,-61117,-61135,
1295 -61153,-61171,-61189,-61207,-61225,-61243,-61261,-61279,
1296 -61297,-61314,-61332,-61350,-61367,-61385,-61403,-61420,
1297 -61438,-61455,-61473,-61490,-61507,-61525,-61542,-61559,
1298 -61577,-61594,-61611,-61628,-61645,-61662,-61679,-61696,
1299 -61713,-61730,-61747,-61764,-61780,-61797,-61814,-61831,
1300 -61847,-61864,-61880,-61897,-61913,-61930,-61946,-61963,
1301 -61979,-61995,-62012,-62028,-62044,-62060,-62076,-62092,
1302 -62108,-62125,-62141,-62156,-62172,-62188,-62204,-62220,
1303 -62236,-62251,-62267,-62283,-62298,-62314,-62329,-62345,
1304 -62360,-62376,-62391,-62407,-62422,-62437,-62453,-62468,
1305 -62483,-62498,-62513,-62528,-62543,-62558,-62573,-62588,
1306 -62603,-62618,-62633,-62648,-62662,-62677,-62692,-62706,
1307 -62721,-62735,-62750,-62764,-62779,-62793,-62808,-62822,
1308 -62836,-62850,-62865,-62879,-62893,-62907,-62921,-62935,
1309 -62949,-62963,-62977,-62991,-63005,-63019,-63032,-63046,
1310 -63060,-63074,-63087,-63101,-63114,-63128,-63141,-63155,
1311 -63168,-63182,-63195,-63208,-63221,-63235,-63248,-63261,
1312 -63274,-63287,-63300,-63313,-63326,-63339,-63352,-63365,
1313 -63378,-63390,-63403,-63416,-63429,-63441,-63454,-63466,
1314 -63479,-63491,-63504,-63516,-63528,-63541,-63553,-63565,
1315 -63578,-63590,-63602,-63614,-63626,-63638,-63650,-63662,
1316 -63674,-63686,-63698,-63709,-63721,-63733,-63745,-63756,
1317 -63768,-63779,-63791,-63803,-63814,-63825,-63837,-63848,
1318 -63859,-63871,-63882,-63893,-63904,-63915,-63927,-63938,
1319 -63949,-63960,-63971,-63981,-63992,-64003,-64014,-64025,
1320 -64035,-64046,-64057,-64067,-64078,-64088,-64099,-64109,
1321 -64120,-64130,-64140,-64151,-64161,-64171,-64181,-64192,
1322 -64202,-64212,-64222,-64232,-64242,-64252,-64261,-64271,
1323 -64281,-64291,-64301,-64310,-64320,-64330,-64339,-64349,
1324 -64358,-64368,-64377,-64387,-64396,-64405,-64414,-64424,
1325 -64433,-64442,-64451,-64460,-64469,-64478,-64487,-64496,
1326 -64505,-64514,-64523,-64532,-64540,-64549,-64558,-64566,
1327 -64575,-64584,-64592,-64601,-64609,-64617,-64626,-64634,
1328 -64642,-64651,-64659,-64667,-64675,-64683,-64691,-64699,
1329 -64707,-64715,-64723,-64731,-64739,-64747,-64754,-64762,
1330 -64770,-64777,-64785,-64793,-64800,-64808,-64815,-64822,
1331 -64830,-64837,-64844,-64852,-64859,-64866,-64873,-64880,
1332 -64887,-64895,-64902,-64908,-64915,-64922,-64929,-64936,
1333 -64943,-64949,-64956,-64963,-64969,-64976,-64982,-64989,
1334 -64995,-65002,-65008,-65015,-65021,-65027,-65033,-65040,
1335 -65046,-65052,-65058,-65064,-65070,-65076,-65082,-65088,
1336 -65094,-65099,-65105,-65111,-65117,-65122,-65128,-65133,
1337 -65139,-65144,-65150,-65155,-65161,-65166,-65171,-65177,
1338 -65182,-65187,-65192,-65197,-65202,-65207,-65212,-65217,
1339 -65222,-65227,-65232,-65237,-65242,-65246,-65251,-65256,
1340 -65260,-65265,-65270,-65274,-65279,-65283,-65287,-65292,
1341 -65296,-65300,-65305,-65309,-65313,-65317,-65321,-65325,
1342 -65329,-65333,-65337,-65341,-65345,-65349,-65352,-65356,
1343 -65360,-65363,-65367,-65371,-65374,-65378,-65381,-65385,
1344 -65388,-65391,-65395,-65398,-65401,-65404,-65408,-65411,
1345 -65414,-65417,-65420,-65423,-65426,-65429,-65431,-65434,
1346 -65437,-65440,-65442,-65445,-65448,-65450,-65453,-65455,
1347 -65458,-65460,-65463,-65465,-65467,-65470,-65472,-65474,
1348 -65476,-65478,-65480,-65482,-65484,-65486,-65488,-65490,
1349 -65492,-65494,-65496,-65497,-65499,-65501,-65502,-65504,
1350 -65505,-65507,-65508,-65510,-65511,-65513,-65514,-65515,
1351 -65516,-65518,-65519,-65520,-65521,-65522,-65523,-65524,
1352 -65525,-65526,-65527,-65527,-65528,-65529,-65530,-65530,
1353 -65531,-65531,-65532,-65532,-65533,-65533,-65534,-65534,
1354 -65534,-65535,-65535,-65535,-65535,-65535,-65535,-65535,
1355 -65535,-65535,-65535,-65535,-65535,-65535,-65535,-65534,
1356 -65534,-65534,-65533,-65533,-65532,-65532,-65531,-65531,
1357 -65530,-65530,-65529,-65528,-65527,-65527,-65526,-65525,
1358 -65524,-65523,-65522,-65521,-65520,-65519,-65518,-65516,
1359 -65515,-65514,-65513,-65511,-65510,-65508,-65507,-65505,
1360 -65504,-65502,-65501,-65499,-65497,-65496,-65494,-65492,
1361 -65490,-65488,-65486,-65484,-65482,-65480,-65478,-65476,
1362 -65474,-65472,-65470,-65467,-65465,-65463,-65460,-65458,
1363 -65455,-65453,-65450,-65448,-65445,-65442,-65440,-65437,
1364 -65434,-65431,-65429,-65426,-65423,-65420,-65417,-65414,
1365 -65411,-65408,-65404,-65401,-65398,-65395,-65391,-65388,
1366 -65385,-65381,-65378,-65374,-65371,-65367,-65363,-65360,
1367 -65356,-65352,-65349,-65345,-65341,-65337,-65333,-65329,
1368 -65325,-65321,-65317,-65313,-65309,-65305,-65300,-65296,
1369 -65292,-65287,-65283,-65279,-65274,-65270,-65265,-65260,
1370 -65256,-65251,-65246,-65242,-65237,-65232,-65227,-65222,
1371 -65217,-65212,-65207,-65202,-65197,-65192,-65187,-65182,
1372 -65177,-65171,-65166,-65161,-65155,-65150,-65144,-65139,
1373 -65133,-65128,-65122,-65117,-65111,-65105,-65099,-65094,
1374 -65088,-65082,-65076,-65070,-65064,-65058,-65052,-65046,
1375 -65040,-65033,-65027,-65021,-65015,-65008,-65002,-64995,
1376 -64989,-64982,-64976,-64969,-64963,-64956,-64949,-64943,
1377 -64936,-64929,-64922,-64915,-64908,-64902,-64895,-64887,
1378 -64880,-64873,-64866,-64859,-64852,-64844,-64837,-64830,
1379 -64822,-64815,-64808,-64800,-64793,-64785,-64777,-64770,
1380 -64762,-64754,-64747,-64739,-64731,-64723,-64715,-64707,
1381 -64699,-64691,-64683,-64675,-64667,-64659,-64651,-64642,
1382 -64634,-64626,-64617,-64609,-64601,-64592,-64584,-64575,
1383 -64566,-64558,-64549,-64540,-64532,-64523,-64514,-64505,
1384 -64496,-64487,-64478,-64469,-64460,-64451,-64442,-64433,
1385 -64424,-64414,-64405,-64396,-64387,-64377,-64368,-64358,
1386 -64349,-64339,-64330,-64320,-64310,-64301,-64291,-64281,
1387 -64271,-64261,-64252,-64242,-64232,-64222,-64212,-64202,
1388 -64192,-64181,-64171,-64161,-64151,-64140,-64130,-64120,
1389 -64109,-64099,-64088,-64078,-64067,-64057,-64046,-64035,
1390 -64025,-64014,-64003,-63992,-63981,-63971,-63960,-63949,
1391 -63938,-63927,-63915,-63904,-63893,-63882,-63871,-63859,
1392 -63848,-63837,-63825,-63814,-63803,-63791,-63779,-63768,
1393 -63756,-63745,-63733,-63721,-63709,-63698,-63686,-63674,
1394 -63662,-63650,-63638,-63626,-63614,-63602,-63590,-63578,
1395 -63565,-63553,-63541,-63528,-63516,-63504,-63491,-63479,
1396 -63466,-63454,-63441,-63429,-63416,-63403,-63390,-63378,
1397 -63365,-63352,-63339,-63326,-63313,-63300,-63287,-63274,
1398 -63261,-63248,-63235,-63221,-63208,-63195,-63182,-63168,
1399 -63155,-63141,-63128,-63114,-63101,-63087,-63074,-63060,
1400 -63046,-63032,-63019,-63005,-62991,-62977,-62963,-62949,
1401 -62935,-62921,-62907,-62893,-62879,-62865,-62850,-62836,
1402 -62822,-62808,-62793,-62779,-62764,-62750,-62735,-62721,
1403 -62706,-62692,-62677,-62662,-62648,-62633,-62618,-62603,
1404 -62588,-62573,-62558,-62543,-62528,-62513,-62498,-62483,
1405 -62468,-62453,-62437,-62422,-62407,-62391,-62376,-62360,
1406 -62345,-62329,-62314,-62298,-62283,-62267,-62251,-62236,
1407 -62220,-62204,-62188,-62172,-62156,-62141,-62125,-62108,
1408 -62092,-62076,-62060,-62044,-62028,-62012,-61995,-61979,
1409 -61963,-61946,-61930,-61913,-61897,-61880,-61864,-61847,
1410 -61831,-61814,-61797,-61780,-61764,-61747,-61730,-61713,
1411 -61696,-61679,-61662,-61645,-61628,-61611,-61594,-61577,
1412 -61559,-61542,-61525,-61507,-61490,-61473,-61455,-61438,
1413 -61420,-61403,-61385,-61367,-61350,-61332,-61314,-61297,
1414 -61279,-61261,-61243,-61225,-61207,-61189,-61171,-61153,
1415 -61135,-61117,-61099,-61081,-61062,-61044,-61026,-61007,
1416 -60989,-60971,-60952,-60934,-60915,-60897,-60878,-60859,
1417 -60841,-60822,-60803,-60785,-60766,-60747,-60728,-60709,
1418 -60690,-60671,-60652,-60633,-60614,-60595,-60576,-60556,
1419 -60537,-60518,-60499,-60479,-60460,-60441,-60421,-60402,
1420 -60382,-60363,-60343,-60323,-60304,-60284,-60264,-60244,
1421 -60225,-60205,-60185,-60165,-60145,-60125,-60105,-60085,
1422 -60065,-60045,-60025,-60004,-59984,-59964,-59944,-59923,
1423 -59903,-59883,-59862,-59842,-59821,-59801,-59780,-59759,
1424 -59739,-59718,-59697,-59677,-59656,-59635,-59614,-59593,
1425 -59572,-59551,-59530,-59509,-59488,-59467,-59446,-59425,
1426 -59404,-59382,-59361,-59340,-59318,-59297,-59276,-59254,
1427 -59233,-59211,-59189,-59168,-59146,-59125,-59103,-59081,
1428 -59059,-59038,-59016,-58994,-58972,-58950,-58928,-58906,
1429 -58884,-58862,-58840,-58818,-58795,-58773,-58751,-58729,
1430 -58706,-58684,-58662,-58639,-58617,-58594,-58572,-58549,
1431 -58527,-58504,-58481,-58459,-58436,-58413,-58390,-58367,
1432 -58345,-58322,-58299,-58276,-58253,-58230,-58207,-58183,
1433 -58160,-58137,-58114,-58091,-58067,-58044,-58021,-57997,
1434 -57974,-57950,-57927,-57903,-57880,-57856,-57833,-57809,
1435 -57785,-57762,-57738,-57714,-57690,-57666,-57642,-57618,
1436 -57594,-57570,-57546,-57522,-57498,-57474,-57450,-57426,
1437 -57402,-57377,-57353,-57329,-57304,-57280,-57255,-57231,
1438 -57206,-57182,-57157,-57133,-57108,-57083,-57059,-57034,
1439 -57009,-56984,-56959,-56935,-56910,-56885,-56860,-56835,
1440 -56810,-56785,-56760,-56734,-56709,-56684,-56659,-56633,
1441 -56608,-56583,-56557,-56532,-56507,-56481,-56456,-56430,
1442 -56404,-56379,-56353,-56328,-56302,-56276,-56250,-56225,
1443 -56199,-56173,-56147,-56121,-56095,-56069,-56043,-56017,
1444 -55991,-55965,-55938,-55912,-55886,-55860,-55833,-55807,
1445 -55781,-55754,-55728,-55701,-55675,-55648,-55622,-55595,
1446 -55569,-55542,-55515,-55489,-55462,-55435,-55408,-55381,
1447 -55354,-55327,-55300,-55274,-55246,-55219,-55192,-55165,
1448 -55138,-55111,-55084,-55056,-55029,-55002,-54974,-54947,
1449 -54920,-54892,-54865,-54837,-54810,-54782,-54755,-54727,
1450 -54699,-54672,-54644,-54616,-54588,-54560,-54533,-54505,
1451 -54477,-54449,-54421,-54393,-54365,-54337,-54308,-54280,
1452 -54252,-54224,-54196,-54167,-54139,-54111,-54082,-54054,
1453 -54026,-53997,-53969,-53940,-53911,-53883,-53854,-53826,
1454 -53797,-53768,-53739,-53711,-53682,-53653,-53624,-53595,
1455 -53566,-53537,-53508,-53479,-53450,-53421,-53392,-53363,
1456 -53334,-53304,-53275,-53246,-53216,-53187,-53158,-53128,
1457 -53099,-53069,-53040,-53010,-52981,-52951,-52922,-52892,
1458 -52862,-52832,-52803,-52773,-52743,-52713,-52683,-52653,
1459 -52624,-52594,-52564,-52534,-52503,-52473,-52443,-52413,
1460 -52383,-52353,-52322,-52292,-52262,-52231,-52201,-52171,
1461 -52140,-52110,-52079,-52049,-52018,-51988,-51957,-51926,
1462 -51896,-51865,-51834,-51803,-51773,-51742,-51711,-51680,
1463 -51649,-51618,-51587,-51556,-51525,-51494,-51463,-51432,
1464 -51401,-51369,-51338,-51307,-51276,-51244,-51213,-51182,
1465 -51150,-51119,-51087,-51056,-51024,-50993,-50961,-50929,
1466 -50898,-50866,-50834,-50803,-50771,-50739,-50707,-50675,
1467 -50644,-50612,-50580,-50548,-50516,-50484,-50452,-50420,
1468 -50387,-50355,-50323,-50291,-50259,-50226,-50194,-50162,
1469 -50129,-50097,-50065,-50032,-50000,-49967,-49935,-49902,
1470 -49869,-49837,-49804,-49771,-49739,-49706,-49673,-49640,
1471 -49608,-49575,-49542,-49509,-49476,-49443,-49410,-49377,
1472 -49344,-49311,-49278,-49244,-49211,-49178,-49145,-49112,
1473 -49078,-49045,-49012,-48978,-48945,-48911,-48878,-48844,
1474 -48811,-48777,-48744,-48710,-48676,-48643,-48609,-48575,
1475 -48542,-48508,-48474,-48440,-48406,-48372,-48338,-48305,
1476 -48271,-48237,-48202,-48168,-48134,-48100,-48066,-48032,
1477 -47998,-47963,-47929,-47895,-47860,-47826,-47792,-47757,
1478 -47723,-47688,-47654,-47619,-47585,-47550,-47516,-47481,
1479 -47446,-47412,-47377,-47342,-47307,-47273,-47238,-47203,
1480 -47168,-47133,-47098,-47063,-47028,-46993,-46958,-46923,
1481 -46888,-46853,-46818,-46783,-46747,-46712,-46677,-46642,
1482 -46606,-46571,-46536,-46500,-46465,-46429,-46394,-46358,
1483 -46323,-46287,-46251,-46216,-46180,-46145,-46109,-46073,
1484 -46037,-46002,-45966,-45930,-45894,-45858,-45822,-45786,
1485 -45750,-45714,-45678,-45642,-45606,-45570,-45534,-45498,
1486 -45462,-45425,-45389,-45353,-45316,-45280,-45244,-45207,
1487 -45171,-45135,-45098,-45062,-45025,-44989,-44952,-44915,
1488 -44879,-44842,-44806,-44769,-44732,-44695,-44659,-44622,
1489 -44585,-44548,-44511,-44474,-44437,-44400,-44363,-44326,
1490 -44289,-44252,-44215,-44178,-44141,-44104,-44067,-44029,
1491 -43992,-43955,-43918,-43880,-43843,-43806,-43768,-43731,
1492 -43693,-43656,-43618,-43581,-43543,-43506,-43468,-43430,
1493 -43393,-43355,-43317,-43280,-43242,-43204,-43166,-43128,
1494 -43091,-43053,-43015,-42977,-42939,-42901,-42863,-42825,
1495 -42787,-42749,-42711,-42672,-42634,-42596,-42558,-42520,
1496 -42481,-42443,-42405,-42366,-42328,-42290,-42251,-42213,
1497 -42174,-42136,-42097,-42059,-42020,-41982,-41943,-41904,
1498 -41866,-41827,-41788,-41750,-41711,-41672,-41633,-41595,
1499 -41556,-41517,-41478,-41439,-41400,-41361,-41322,-41283,
1500 -41244,-41205,-41166,-41127,-41087,-41048,-41009,-40970,
1501 -40931,-40891,-40852,-40813,-40773,-40734,-40695,-40655,
1502 -40616,-40576,-40537,-40497,-40458,-40418,-40379,-40339,
1503 -40299,-40260,-40220,-40180,-40141,-40101,-40061,-40021,
1504 -39982,-39942,-39902,-39862,-39822,-39782,-39742,-39702,
1505 -39662,-39622,-39582,-39542,-39502,-39462,-39422,-39382,
1506 -39341,-39301,-39261,-39221,-39180,-39140,-39100,-39059,
1507 -39019,-38979,-38938,-38898,-38857,-38817,-38776,-38736,
1508 -38695,-38655,-38614,-38573,-38533,-38492,-38451,-38411,
1509 -38370,-38329,-38288,-38248,-38207,-38166,-38125,-38084,
1510 -38043,-38002,-37961,-37920,-37879,-37838,-37797,-37756,
1511 -37715,-37674,-37633,-37592,-37550,-37509,-37468,-37427,
1512 -37386,-37344,-37303,-37262,-37220,-37179,-37137,-37096,
1513 -37055,-37013,-36972,-36930,-36889,-36847,-36805,-36764,
1514 -36722,-36681,-36639,-36597,-36556,-36514,-36472,-36430,
1515 -36388,-36347,-36305,-36263,-36221,-36179,-36137,-36095,
1516 -36053,-36011,-35969,-35927,-35885,-35843,-35801,-35759,
1517 -35717,-35675,-35633,-35590,-35548,-35506,-35464,-35421,
1518 -35379,-35337,-35294,-35252,-35210,-35167,-35125,-35082,
1519 -35040,-34997,-34955,-34912,-34870,-34827,-34785,-34742,
1520 -34699,-34657,-34614,-34571,-34529,-34486,-34443,-34400,
1521 -34358,-34315,-34272,-34229,-34186,-34143,-34100,-34057,
1522 -34015,-33972,-33929,-33886,-33843,-33799,-33756,-33713,
1523 -33670,-33627,-33584,-33541,-33498,-33454,-33411,-33368,
1524 -33325,-33281,-33238,-33195,-33151,-33108,-33065,-33021,
1525 -32978,-32934,-32891,-32847,-32804,-32760,-32717,-32673,
1526 -32630,-32586,-32542,-32499,-32455,-32411,-32368,-32324,
1527 -32280,-32236,-32193,-32149,-32105,-32061,-32017,-31974,
1528 -31930,-31886,-31842,-31798,-31754,-31710,-31666,-31622,
1529 -31578,-31534,-31490,-31446,-31402,-31357,-31313,-31269,
1530 -31225,-31181,-31136,-31092,-31048,-31004,-30959,-30915,
1531 -30871,-30826,-30782,-30738,-30693,-30649,-30604,-30560,
1532 -30515,-30471,-30426,-30382,-30337,-30293,-30248,-30204,
1533 -30159,-30114,-30070,-30025,-29980,-29936,-29891,-29846,
1534 -29801,-29757,-29712,-29667,-29622,-29577,-29533,-29488,
1535 -29443,-29398,-29353,-29308,-29263,-29218,-29173,-29128,
1536 -29083,-29038,-28993,-28948,-28903,-28858,-28812,-28767,
1537 -28722,-28677,-28632,-28586,-28541,-28496,-28451,-28405,
1538 -28360,-28315,-28269,-28224,-28179,-28133,-28088,-28042,
1539 -27997,-27952,-27906,-27861,-27815,-27770,-27724,-27678,
1540 -27633,-27587,-27542,-27496,-27450,-27405,-27359,-27313,
1541 -27268,-27222,-27176,-27131,-27085,-27039,-26993,-26947,
1542 -26902,-26856,-26810,-26764,-26718,-26672,-26626,-26580,
1543 -26534,-26488,-26442,-26396,-26350,-26304,-26258,-26212,
1544 -26166,-26120,-26074,-26028,-25982,-25936,-25889,-25843,
1545 -25797,-25751,-25705,-25658,-25612,-25566,-25520,-25473,
1546 -25427,-25381,-25334,-25288,-25241,-25195,-25149,-25102,
1547 -25056,-25009,-24963,-24916,-24870,-24823,-24777,-24730,
1548 -24684,-24637,-24591,-24544,-24497,-24451,-24404,-24357,
1549 -24311,-24264,-24217,-24171,-24124,-24077,-24030,-23984,
1550 -23937,-23890,-23843,-23796,-23750,-23703,-23656,-23609,
1551 -23562,-23515,-23468,-23421,-23374,-23327,-23280,-23233,
1552 -23186,-23139,-23092,-23045,-22998,-22951,-22904,-22857,
1553 -22810,-22763,-22716,-22668,-22621,-22574,-22527,-22480,
1554 -22432,-22385,-22338,-22291,-22243,-22196,-22149,-22102,
1555 -22054,-22007,-21960,-21912,-21865,-21817,-21770,-21723,
1556 -21675,-21628,-21580,-21533,-21485,-21438,-21390,-21343,
1557 -21295,-21248,-21200,-21153,-21105,-21057,-21010,-20962,
1558 -20915,-20867,-20819,-20772,-20724,-20676,-20629,-20581,
1559 -20533,-20485,-20438,-20390,-20342,-20294,-20246,-20199,
1560 -20151,-20103,-20055,-20007,-19959,-19912,-19864,-19816,
1561 -19768,-19720,-19672,-19624,-19576,-19528,-19480,-19432,
1562 -19384,-19336,-19288,-19240,-19192,-19144,-19096,-19048,
1563 -19000,-18951,-18903,-18855,-18807,-18759,-18711,-18663,
1564 -18614,-18566,-18518,-18470,-18421,-18373,-18325,-18277,
1565 -18228,-18180,-18132,-18084,-18035,-17987,-17939,-17890,
1566 -17842,-17793,-17745,-17697,-17648,-17600,-17551,-17503,
1567 -17455,-17406,-17358,-17309,-17261,-17212,-17164,-17115,
1568 -17067,-17018,-16970,-16921,-16872,-16824,-16775,-16727,
1569 -16678,-16629,-16581,-16532,-16484,-16435,-16386,-16338,
1570 -16289,-16240,-16191,-16143,-16094,-16045,-15997,-15948,
1571 -15899,-15850,-15802,-15753,-15704,-15655,-15606,-15557,
1572 -15509,-15460,-15411,-15362,-15313,-15264,-15215,-15167,
1573 -15118,-15069,-15020,-14971,-14922,-14873,-14824,-14775,
1574 -14726,-14677,-14628,-14579,-14530,-14481,-14432,-14383,
1575 -14334,-14285,-14236,-14187,-14138,-14089,-14040,-13990,
1576 -13941,-13892,-13843,-13794,-13745,-13696,-13647,-13597,
1577 -13548,-13499,-13450,-13401,-13351,-13302,-13253,-13204,
1578 -13154,-13105,-13056,-13007,-12957,-12908,-12859,-12810,
1579 -12760,-12711,-12662,-12612,-12563,-12514,-12464,-12415,
1580 -12366,-12316,-12267,-12217,-12168,-12119,-12069,-12020,
1581 -11970,-11921,-11872,-11822,-11773,-11723,-11674,-11624,
1582 -11575,-11525,-11476,-11426,-11377,-11327,-11278,-11228,
1583 -11179,-11129,-11080,-11030,-10981,-10931,-10882,-10832,
1584 -10782,-10733,-10683,-10634,-10584,-10534,-10485,-10435,
1585 -10386,-10336,-10286,-10237,-10187,-10137,-10088,-10038,
1586 -9988,-9939,-9889,-9839,-9790,-9740,-9690,-9640,
1587 -9591,-9541,-9491,-9442,-9392,-9342,-9292,-9243,
1588 -9193,-9143,-9093,-9043,-8994,-8944,-8894,-8844,
1589 -8794,-8745,-8695,-8645,-8595,-8545,-8496,-8446,
1590 -8396,-8346,-8296,-8246,-8196,-8147,-8097,-8047,
1591 -7997,-7947,-7897,-7847,-7797,-7747,-7697,-7648,
1592 -7598,-7548,-7498,-7448,-7398,-7348,-7298,-7248,
1593 -7198,-7148,-7098,-7048,-6998,-6948,-6898,-6848,
1594 -6798,-6748,-6698,-6648,-6598,-6548,-6498,-6448,
1595 -6398,-6348,-6298,-6248,-6198,-6148,-6098,-6048,
1596 -5998,-5948,-5898,-5848,-5798,-5747,-5697,-5647,
1597 -5597,-5547,-5497,-5447,-5397,-5347,-5297,-5247,
1598 -5197,-5146,-5096,-5046,-4996,-4946,-4896,-4846,
1599 -4796,-4745,-4695,-4645,-4595,-4545,-4495,-4445,
1600 -4394,-4344,-4294,-4244,-4194,-4144,-4093,-4043,
1601 -3993,-3943,-3893,-3843,-3792,-3742,-3692,-3642,
1602 -3592,-3541,-3491,-3441,-3391,-3341,-3291,-3240,
1603 -3190,-3140,-3090,-3039,-2989,-2939,-2889,-2839,
1604 -2788,-2738,-2688,-2638,-2588,-2537,-2487,-2437,
1605 -2387,-2336,-2286,-2236,-2186,-2135,-2085,-2035,
1606 -1985,-1934,-1884,-1834,-1784,-1733,-1683,-1633,
1607 -1583,-1532,-1482,-1432,-1382,-1331,-1281,-1231,
1608 -1181,-1130,-1080,-1030,-980,-929,-879,-829,
1609 -779,-728,-678,-628,-578,-527,-477,-427,
1610 -376,-326,-276,-226,-175,-125,-75,-25,
1611 25,75,125,175,226,276,326,376,
1612 427,477,527,578,628,678,728,779,
1613 829,879,929,980,1030,1080,1130,1181,
1614 1231,1281,1331,1382,1432,1482,1532,1583,
1615 1633,1683,1733,1784,1834,1884,1934,1985,
1616 2035,2085,2135,2186,2236,2286,2336,2387,
1617 2437,2487,2537,2587,2638,2688,2738,2788,
1618 2839,2889,2939,2989,3039,3090,3140,3190,
1619 3240,3291,3341,3391,3441,3491,3542,3592,
1620 3642,3692,3742,3792,3843,3893,3943,3993,
1621 4043,4093,4144,4194,4244,4294,4344,4394,
1622 4445,4495,4545,4595,4645,4695,4745,4796,
1623 4846,4896,4946,4996,5046,5096,5146,5197,
1624 5247,5297,5347,5397,5447,5497,5547,5597,
1625 5647,5697,5747,5798,5848,5898,5948,5998,
1626 6048,6098,6148,6198,6248,6298,6348,6398,
1627 6448,6498,6548,6598,6648,6698,6748,6798,
1628 6848,6898,6948,6998,7048,7098,7148,7198,
1629 7248,7298,7348,7398,7448,7498,7548,7598,
1630 7648,7697,7747,7797,7847,7897,7947,7997,
1631 8047,8097,8147,8196,8246,8296,8346,8396,
1632 8446,8496,8545,8595,8645,8695,8745,8794,
1633 8844,8894,8944,8994,9043,9093,9143,9193,
1634 9243,9292,9342,9392,9442,9491,9541,9591,
1635 9640,9690,9740,9790,9839,9889,9939,9988,
1636 10038,10088,10137,10187,10237,10286,10336,10386,
1637 10435,10485,10534,10584,10634,10683,10733,10782,
1638 10832,10882,10931,10981,11030,11080,11129,11179,
1639 11228,11278,11327,11377,11426,11476,11525,11575,
1640 11624,11674,11723,11773,11822,11872,11921,11970,
1641 12020,12069,12119,12168,12218,12267,12316,12366,
1642 12415,12464,12514,12563,12612,12662,12711,12760,
1643 12810,12859,12908,12957,13007,13056,13105,13154,
1644 13204,13253,13302,13351,13401,13450,13499,13548,
1645 13597,13647,13696,13745,13794,13843,13892,13941,
1646 13990,14040,14089,14138,14187,14236,14285,14334,
1647 14383,14432,14481,14530,14579,14628,14677,14726,
1648 14775,14824,14873,14922,14971,15020,15069,15118,
1649 15167,15215,15264,15313,15362,15411,15460,15509,
1650 15557,15606,15655,15704,15753,15802,15850,15899,
1651 15948,15997,16045,16094,16143,16191,16240,16289,
1652 16338,16386,16435,16484,16532,16581,16629,16678,
1653 16727,16775,16824,16872,16921,16970,17018,17067,
1654 17115,17164,17212,17261,17309,17358,17406,17455,
1655 17503,17551,17600,17648,17697,17745,17793,17842,
1656 17890,17939,17987,18035,18084,18132,18180,18228,
1657 18277,18325,18373,18421,18470,18518,18566,18614,
1658 18663,18711,18759,18807,18855,18903,18951,19000,
1659 19048,19096,19144,19192,19240,19288,19336,19384,
1660 19432,19480,19528,19576,19624,19672,19720,19768,
1661 19816,19864,19912,19959,20007,20055,20103,20151,
1662 20199,20246,20294,20342,20390,20438,20485,20533,
1663 20581,20629,20676,20724,20772,20819,20867,20915,
1664 20962,21010,21057,21105,21153,21200,21248,21295,
1665 21343,21390,21438,21485,21533,21580,21628,21675,
1666 21723,21770,21817,21865,21912,21960,22007,22054,
1667 22102,22149,22196,22243,22291,22338,22385,22432,
1668 22480,22527,22574,22621,22668,22716,22763,22810,
1669 22857,22904,22951,22998,23045,23092,23139,23186,
1670 23233,23280,23327,23374,23421,23468,23515,23562,
1671 23609,23656,23703,23750,23796,23843,23890,23937,
1672 23984,24030,24077,24124,24171,24217,24264,24311,
1673 24357,24404,24451,24497,24544,24591,24637,24684,
1674 24730,24777,24823,24870,24916,24963,25009,25056,
1675 25102,25149,25195,25241,25288,25334,25381,25427,
1676 25473,25520,25566,25612,25658,25705,25751,25797,
1677 25843,25889,25936,25982,26028,26074,26120,26166,
1678 26212,26258,26304,26350,26396,26442,26488,26534,
1679 26580,26626,26672,26718,26764,26810,26856,26902,
1680 26947,26993,27039,27085,27131,27176,27222,27268,
1681 27313,27359,27405,27450,27496,27542,27587,27633,
1682 27678,27724,27770,27815,27861,27906,27952,27997,
1683 28042,28088,28133,28179,28224,28269,28315,28360,
1684 28405,28451,28496,28541,28586,28632,28677,28722,
1685 28767,28812,28858,28903,28948,28993,29038,29083,
1686 29128,29173,29218,29263,29308,29353,29398,29443,
1687 29488,29533,29577,29622,29667,29712,29757,29801,
1688 29846,29891,29936,29980,30025,30070,30114,30159,
1689 30204,30248,30293,30337,30382,30427,30471,30516,
1690 30560,30604,30649,30693,30738,30782,30826,30871,
1691 30915,30959,31004,31048,31092,31136,31181,31225,
1692 31269,31313,31357,31402,31446,31490,31534,31578,
1693 31622,31666,31710,31754,31798,31842,31886,31930,
1694 31974,32017,32061,32105,32149,32193,32236,32280,
1695 32324,32368,32411,32455,32499,32542,32586,32630,
1696 32673,32717,32760,32804,32847,32891,32934,32978,
1697 33021,33065,33108,33151,33195,33238,33281,33325,
1698 33368,33411,33454,33498,33541,33584,33627,33670,
1699 33713,33756,33799,33843,33886,33929,33972,34015,
1700 34057,34100,34143,34186,34229,34272,34315,34358,
1701 34400,34443,34486,34529,34571,34614,34657,34699,
1702 34742,34785,34827,34870,34912,34955,34997,35040,
1703 35082,35125,35167,35210,35252,35294,35337,35379,
1704 35421,35464,35506,35548,35590,35633,35675,35717,
1705 35759,35801,35843,35885,35927,35969,36011,36053,
1706 36095,36137,36179,36221,36263,36305,36347,36388,
1707 36430,36472,36514,36556,36597,36639,36681,36722,
1708 36764,36805,36847,36889,36930,36972,37013,37055,
1709 37096,37137,37179,37220,37262,37303,37344,37386,
1710 37427,37468,37509,37551,37592,37633,37674,37715,
1711 37756,37797,37838,37879,37920,37961,38002,38043,
1712 38084,38125,38166,38207,38248,38288,38329,38370,
1713 38411,38451,38492,38533,38573,38614,38655,38695,
1714 38736,38776,38817,38857,38898,38938,38979,39019,
1715 39059,39100,39140,39180,39221,39261,39301,39341,
1716 39382,39422,39462,39502,39542,39582,39622,39662,
1717 39702,39742,39782,39822,39862,39902,39942,39982,
1718 40021,40061,40101,40141,40180,40220,40260,40299,
1719 40339,40379,40418,40458,40497,40537,40576,40616,
1720 40655,40695,40734,40773,40813,40852,40891,40931,
1721 40970,41009,41048,41087,41127,41166,41205,41244,
1722 41283,41322,41361,41400,41439,41478,41517,41556,
1723 41595,41633,41672,41711,41750,41788,41827,41866,
1724 41904,41943,41982,42020,42059,42097,42136,42174,
1725 42213,42251,42290,42328,42366,42405,42443,42481,
1726 42520,42558,42596,42634,42672,42711,42749,42787,
1727 42825,42863,42901,42939,42977,43015,43053,43091,
1728 43128,43166,43204,43242,43280,43317,43355,43393,
1729 43430,43468,43506,43543,43581,43618,43656,43693,
1730 43731,43768,43806,43843,43880,43918,43955,43992,
1731 44029,44067,44104,44141,44178,44215,44252,44289,
1732 44326,44363,44400,44437,44474,44511,44548,44585,
1733 44622,44659,44695,44732,44769,44806,44842,44879,
1734 44915,44952,44989,45025,45062,45098,45135,45171,
1735 45207,45244,45280,45316,45353,45389,45425,45462,
1736 45498,45534,45570,45606,45642,45678,45714,45750,
1737 45786,45822,45858,45894,45930,45966,46002,46037,
1738 46073,46109,46145,46180,46216,46252,46287,46323,
1739 46358,46394,46429,46465,46500,46536,46571,46606,
1740 46642,46677,46712,46747,46783,46818,46853,46888,
1741 46923,46958,46993,47028,47063,47098,47133,47168,
1742 47203,47238,47273,47308,47342,47377,47412,47446,
1743 47481,47516,47550,47585,47619,47654,47688,47723,
1744 47757,47792,47826,47861,47895,47929,47963,47998,
1745 48032,48066,48100,48134,48168,48202,48237,48271,
1746 48305,48338,48372,48406,48440,48474,48508,48542,
1747 48575,48609,48643,48676,48710,48744,48777,48811,
1748 48844,48878,48911,48945,48978,49012,49045,49078,
1749 49112,49145,49178,49211,49244,49278,49311,49344,
1750 49377,49410,49443,49476,49509,49542,49575,49608,
1751 49640,49673,49706,49739,49771,49804,49837,49869,
1752 49902,49935,49967,50000,50032,50064,50097,50129,
1753 50162,50194,50226,50259,50291,50323,50355,50387,
1754 50420,50452,50484,50516,50548,50580,50612,50644,
1755 50675,50707,50739,50771,50803,50834,50866,50898,
1756 50929,50961,50993,51024,51056,51087,51119,51150,
1757 51182,51213,51244,51276,51307,51338,51369,51401,
1758 51432,51463,51494,51525,51556,51587,51618,51649,
1759 51680,51711,51742,51773,51803,51834,51865,51896,
1760 51926,51957,51988,52018,52049,52079,52110,52140,
1761 52171,52201,52231,52262,52292,52322,52353,52383,
1762 52413,52443,52473,52503,52534,52564,52594,52624,
1763 52653,52683,52713,52743,52773,52803,52832,52862,
1764 52892,52922,52951,52981,53010,53040,53069,53099,
1765 53128,53158,53187,53216,53246,53275,53304,53334,
1766 53363,53392,53421,53450,53479,53508,53537,53566,
1767 53595,53624,53653,53682,53711,53739,53768,53797,
1768 53826,53854,53883,53912,53940,53969,53997,54026,
1769 54054,54082,54111,54139,54167,54196,54224,54252,
1770 54280,54309,54337,54365,54393,54421,54449,54477,
1771 54505,54533,54560,54588,54616,54644,54672,54699,
1772 54727,54755,54782,54810,54837,54865,54892,54920,
1773 54947,54974,55002,55029,55056,55084,55111,55138,
1774 55165,55192,55219,55246,55274,55300,55327,55354,
1775 55381,55408,55435,55462,55489,55515,55542,55569,
1776 55595,55622,55648,55675,55701,55728,55754,55781,
1777 55807,55833,55860,55886,55912,55938,55965,55991,
1778 56017,56043,56069,56095,56121,56147,56173,56199,
1779 56225,56250,56276,56302,56328,56353,56379,56404,
1780 56430,56456,56481,56507,56532,56557,56583,56608,
1781 56633,56659,56684,56709,56734,56760,56785,56810,
1782 56835,56860,56885,56910,56935,56959,56984,57009,
1783 57034,57059,57083,57108,57133,57157,57182,57206,
1784 57231,57255,57280,57304,57329,57353,57377,57402,
1785 57426,57450,57474,57498,57522,57546,57570,57594,
1786 57618,57642,57666,57690,57714,57738,57762,57785,
1787 57809,57833,57856,57880,57903,57927,57950,57974,
1788 57997,58021,58044,58067,58091,58114,58137,58160,
1789 58183,58207,58230,58253,58276,58299,58322,58345,
1790 58367,58390,58413,58436,58459,58481,58504,58527,
1791 58549,58572,58594,58617,58639,58662,58684,58706,
1792 58729,58751,58773,58795,58818,58840,58862,58884,
1793 58906,58928,58950,58972,58994,59016,59038,59059,
1794 59081,59103,59125,59146,59168,59190,59211,59233,
1795 59254,59276,59297,59318,59340,59361,59382,59404,
1796 59425,59446,59467,59488,59509,59530,59551,59572,
1797 59593,59614,59635,59656,59677,59697,59718,59739,
1798 59759,59780,59801,59821,59842,59862,59883,59903,
1799 59923,59944,59964,59984,60004,60025,60045,60065,
1800 60085,60105,60125,60145,60165,60185,60205,60225,
1801 60244,60264,60284,60304,60323,60343,60363,60382,
1802 60402,60421,60441,60460,60479,60499,60518,60537,
1803 60556,60576,60595,60614,60633,60652,60671,60690,
1804 60709,60728,60747,60766,60785,60803,60822,60841,
1805 60859,60878,60897,60915,60934,60952,60971,60989,
1806 61007,61026,61044,61062,61081,61099,61117,61135,
1807 61153,61171,61189,61207,61225,61243,61261,61279,
1808 61297,61314,61332,61350,61367,61385,61403,61420,
1809 61438,61455,61473,61490,61507,61525,61542,61559,
1810 61577,61594,61611,61628,61645,61662,61679,61696,
1811 61713,61730,61747,61764,61780,61797,61814,61831,
1812 61847,61864,61880,61897,61913,61930,61946,61963,
1813 61979,61995,62012,62028,62044,62060,62076,62092,
1814 62108,62125,62141,62156,62172,62188,62204,62220,
1815 62236,62251,62267,62283,62298,62314,62329,62345,
1816 62360,62376,62391,62407,62422,62437,62453,62468,
1817 62483,62498,62513,62528,62543,62558,62573,62588,
1818 62603,62618,62633,62648,62662,62677,62692,62706,
1819 62721,62735,62750,62764,62779,62793,62808,62822,
1820 62836,62850,62865,62879,62893,62907,62921,62935,
1821 62949,62963,62977,62991,63005,63019,63032,63046,
1822 63060,63074,63087,63101,63114,63128,63141,63155,
1823 63168,63182,63195,63208,63221,63235,63248,63261,
1824 63274,63287,63300,63313,63326,63339,63352,63365,
1825 63378,63390,63403,63416,63429,63441,63454,63466,
1826 63479,63491,63504,63516,63528,63541,63553,63565,
1827 63578,63590,63602,63614,63626,63638,63650,63662,
1828 63674,63686,63698,63709,63721,63733,63745,63756,
1829 63768,63779,63791,63803,63814,63825,63837,63848,
1830 63859,63871,63882,63893,63904,63915,63927,63938,
1831 63949,63960,63971,63981,63992,64003,64014,64025,
1832 64035,64046,64057,64067,64078,64088,64099,64109,
1833 64120,64130,64140,64151,64161,64171,64181,64192,
1834 64202,64212,64222,64232,64242,64252,64261,64271,
1835 64281,64291,64301,64310,64320,64330,64339,64349,
1836 64358,64368,64377,64387,64396,64405,64414,64424,
1837 64433,64442,64451,64460,64469,64478,64487,64496,
1838 64505,64514,64523,64532,64540,64549,64558,64566,
1839 64575,64584,64592,64600,64609,64617,64626,64634,
1840 64642,64651,64659,64667,64675,64683,64691,64699,
1841 64707,64715,64723,64731,64739,64747,64754,64762,
1842 64770,64777,64785,64793,64800,64808,64815,64822,
1843 64830,64837,64844,64852,64859,64866,64873,64880,
1844 64887,64895,64902,64908,64915,64922,64929,64936,
1845 64943,64949,64956,64963,64969,64976,64982,64989,
1846 64995,65002,65008,65015,65021,65027,65033,65040,
1847 65046,65052,65058,65064,65070,65076,65082,65088,
1848 65094,65099,65105,65111,65117,65122,65128,65133,
1849 65139,65144,65150,65155,65161,65166,65171,65177,
1850 65182,65187,65192,65197,65202,65207,65212,65217,
1851 65222,65227,65232,65237,65242,65246,65251,65256,
1852 65260,65265,65270,65274,65279,65283,65287,65292,
1853 65296,65300,65305,65309,65313,65317,65321,65325,
1854 65329,65333,65337,65341,65345,65349,65352,65356,
1855 65360,65363,65367,65371,65374,65378,65381,65385,
1856 65388,65391,65395,65398,65401,65404,65408,65411,
1857 65414,65417,65420,65423,65426,65429,65431,65434,
1858 65437,65440,65442,65445,65448,65450,65453,65455,
1859 65458,65460,65463,65465,65467,65470,65472,65474,
1860 65476,65478,65480,65482,65484,65486,65488,65490,
1861 65492,65494,65496,65497,65499,65501,65502,65504,
1862 65505,65507,65508,65510,65511,65513,65514,65515,
1863 65516,65518,65519,65520,65521,65522,65523,65524,
1864 65525,65526,65527,65527,65528,65529,65530,65530,
1865 65531,65531,65532,65532,65533,65533,65534,65534,
1866 65534,65535,65535,65535,65535,65535,65535,65535
1870 #ifdef TABLES_AS_LUMPS
1871 angle_t
*tantoangle
;
1873 const angle_t tantoangle
[2049] = {
1874 0,333772,667544,1001315,1335086,1668857,2002626,2336395,
1875 2670163,3003929,3337694,3671457,4005219,4338979,4672736,5006492,
1876 5340245,5673995,6007743,6341488,6675230,7008968,7342704,7676435,
1877 8010164,8343888,8677609,9011325,9345037,9678744,10012447,10346145,
1878 10679838,11013526,11347209,11680887,12014558,12348225,12681885,13015539,
1879 13349187,13682829,14016464,14350092,14683714,15017328,15350936,15684536,
1880 16018129,16351714,16685291,17018860,17352422,17685974,18019518,18353054,
1881 18686582,19020100,19353610,19687110,20020600,20354080,20687552,21021014,
1882 21354466,21687906,22021338,22354758,22688168,23021568,23354956,23688332,
1883 24021698,24355052,24688396,25021726,25355046,25688352,26021648,26354930,
1884 26688200,27021456,27354702,27687932,28021150,28354356,28687548,29020724,
1885 29353888,29687038,30020174,30353296,30686404,31019496,31352574,31685636,
1886 32018684,32351718,32684734,33017736,33350722,33683692,34016648,34349584,
1887 34682508,35015412,35348300,35681172,36014028,36346868,36679688,37012492,
1888 37345276,37678044,38010792,38343524,38676240,39008936,39341612,39674272,
1889 40006912,40339532,40672132,41004716,41337276,41669820,42002344,42334848,
1890 42667332,42999796,43332236,43664660,43997060,44329444,44661800,44994140,
1891 45326456,45658752,45991028,46323280,46655512,46987720,47319908,47652072,
1892 47984212,48316332,48648428,48980500,49312548,49644576,49976580,50308556,
1893 50640512,50972444,51304352,51636236,51968096,52299928,52631740,52963524,
1894 53295284,53627020,53958728,54290412,54622068,54953704,55285308,55616888,
1895 55948444,56279972,56611472,56942948,57274396,57605816,57937212,58268576,
1896 58599916,58931228,59262512,59593768,59924992,60256192,60587364,60918508,
1897 61249620,61580704,61911760,62242788,62573788,62904756,63235692,63566604,
1898 63897480,64228332,64559148,64889940,65220696,65551424,65882120,66212788,
1899 66543420,66874024,67204600,67535136,67865648,68196120,68526568,68856984,
1900 69187360,69517712,69848024,70178304,70508560,70838776,71168960,71499112,
1901 71829224,72159312,72489360,72819376,73149360,73479304,73809216,74139096,
1902 74468936,74798744,75128520,75458264,75787968,76117632,76447264,76776864,
1903 77106424,77435952,77765440,78094888,78424304,78753688,79083032,79412336,
1904 79741608,80070840,80400032,80729192,81058312,81387392,81716432,82045440,
1905 82374408,82703336,83032224,83361080,83689896,84018664,84347400,84676096,
1906 85004760,85333376,85661952,85990488,86318984,86647448,86975864,87304240,
1907 87632576,87960872,88289128,88617344,88945520,89273648,89601736,89929792,
1908 90257792,90585760,90913688,91241568,91569408,91897200,92224960,92552672,
1909 92880336,93207968,93535552,93863088,94190584,94518040,94845448,95172816,
1910 95500136,95827416,96154648,96481832,96808976,97136080,97463136,97790144,
1911 98117112,98444032,98770904,99097736,99424520,99751256,100077944,100404592,
1912 100731192,101057744,101384248,101710712,102037128,102363488,102689808,103016080,
1913 103342312,103668488,103994616,104320696,104646736,104972720,105298656,105624552,
1914 105950392,106276184,106601928,106927624,107253272,107578872,107904416,108229920,
1915 108555368,108880768,109206120,109531416,109856664,110181872,110507016,110832120,
1916 111157168,111482168,111807112,112132008,112456856,112781648,113106392,113431080,
1917 113755720,114080312,114404848,114729328,115053760,115378136,115702464,116026744,
1918 116350960,116675128,116999248,117323312,117647320,117971272,118295176,118619024,
1919 118942816,119266560,119590248,119913880,120237456,120560984,120884456,121207864,
1920 121531224,121854528,122177784,122500976,122824112,123147200,123470224,123793200,
1921 124116120,124438976,124761784,125084528,125407224,125729856,126052432,126374960,
1922 126697424,127019832,127342184,127664472,127986712,128308888,128631008,128953072,
1923 129275080,129597024,129918912,130240744,130562520,130884232,131205888,131527480,
1924 131849016,132170496,132491912,132813272,133134576,133455816,133776992,134098120,
1925 134419184,134740176,135061120,135382000,135702816,136023584,136344272,136664912,
1926 136985488,137306016,137626464,137946864,138267184,138587456,138907664,139227808,
1927 139547904,139867920,140187888,140507776,140827616,141147392,141467104,141786752,
1928 142106336,142425856,142745312,143064720,143384048,143703312,144022512,144341664,
1929 144660736,144979744,145298704,145617584,145936400,146255168,146573856,146892480,
1930 147211040,147529536,147847968,148166336,148484640,148802880,149121056,149439152,
1931 149757200,150075168,150393072,150710912,151028688,151346400,151664048,151981616,
1932 152299136,152616576,152933952,153251264,153568496,153885680,154202784,154519824,
1933 154836784,155153696,155470528,155787296,156104000,156420624,156737200,157053696,
1934 157370112,157686480,158002768,158318976,158635136,158951216,159267232,159583168,
1935 159899040,160214848,160530592,160846256,161161840,161477376,161792832,162108208,
1936 162423520,162738768,163053952,163369040,163684080,163999040,164313936,164628752,
1937 164943504,165258176,165572784,165887312,166201776,166516160,166830480,167144736,
1938 167458912,167773008,168087040,168400992,168714880,169028688,169342432,169656096,
1939 169969696,170283216,170596672,170910032,171223344,171536576,171849728,172162800,
1940 172475808,172788736,173101600,173414384,173727104,174039728,174352288,174664784,
1941 174977200,175289536,175601792,175913984,176226096,176538144,176850096,177161984,
1942 177473792,177785536,178097200,178408784,178720288,179031728,179343088,179654368,
1943 179965568,180276704,180587744,180898720,181209616,181520448,181831184,182141856,
1944 182452448,182762960,183073408,183383760,183694048,184004240,184314368,184624416,
1945 184934400,185244288,185554096,185863840,186173504,186483072,186792576,187102000,
1946 187411344,187720608,188029808,188338912,188647936,188956896,189265760,189574560,
1947 189883264,190191904,190500448,190808928,191117312,191425632,191733872,192042016,
1948 192350096,192658096,192966000,193273840,193581584,193889264,194196848,194504352,
1949 194811792,195119136,195426400,195733584,196040688,196347712,196654656,196961520,
1950 197268304,197574992,197881616,198188144,198494592,198800960,199107248,199413456,
1951 199719584,200025616,200331584,200637456,200943248,201248960,201554576,201860128,
1952 202165584,202470960,202776256,203081456,203386592,203691632,203996592,204301472,
1953 204606256,204910976,205215600,205520144,205824592,206128960,206433248,206737456,
1954 207041584,207345616,207649568,207953424,208257216,208560912,208864512,209168048,
1955 209471488,209774832,210078112,210381296,210684384,210987408,211290336,211593184,
1956 211895936,212198608,212501184,212803680,213106096,213408432,213710672,214012816,
1957 214314880,214616864,214918768,215220576,215522288,215823920,216125472,216426928,
1958 216728304,217029584,217330784,217631904,217932928,218233856,218534704,218835472,
1959 219136144,219436720,219737216,220037632,220337952,220638192,220938336,221238384,
1960 221538352,221838240,222138032,222437728,222737344,223036880,223336304,223635664,
1961 223934912,224234096,224533168,224832160,225131072,225429872,225728608,226027232,
1962 226325776,226624240,226922608,227220880,227519056,227817152,228115168,228413088,
1963 228710912,229008640,229306288,229603840,229901312,230198688,230495968,230793152,
1964 231090256,231387280,231684192,231981024,232277760,232574416,232870960,233167440,
1965 233463808,233760096,234056288,234352384,234648384,234944304,235240128,235535872,
1966 235831504,236127056,236422512,236717888,237013152,237308336,237603424,237898416,
1967 238193328,238488144,238782864,239077488,239372016,239666464,239960816,240255072,
1968 240549232,240843312,241137280,241431168,241724960,242018656,242312256,242605776,
1969 242899200,243192512,243485744,243778896,244071936,244364880,244657744,244950496,
1970 245243168,245535744,245828224,246120608,246412912,246705104,246997216,247289216,
1971 247581136,247872960,248164688,248456320,248747856,249039296,249330640,249621904,
1972 249913056,250204128,250495088,250785968,251076736,251367424,251658016,251948512,
1973 252238912,252529200,252819408,253109520,253399536,253689456,253979280,254269008,
1974 254558640,254848176,255137632,255426976,255716224,256005376,256294432,256583392,
1975 256872256,257161024,257449696,257738272,258026752,258315136,258603424,258891600,
1976 259179696,259467696,259755600,260043392,260331104,260618704,260906224,261193632,
1977 261480960,261768176,262055296,262342320,262629248,262916080,263202816,263489456,
1978 263776000,264062432,264348784,264635024,264921168,265207216,265493168,265779024,
1979 266064784,266350448,266636000,266921472,267206832,267492096,267777264,268062336,
1980 268347312,268632192,268916960,269201632,269486208,269770688,270055072,270339360,
1981 270623552,270907616,271191616,271475488,271759296,272042976,272326560,272610048,
1982 272893440,273176736,273459936,273743040,274026048,274308928,274591744,274874432,
1983 275157024,275439520,275721920,276004224,276286432,276568512,276850528,277132416,
1984 277414240,277695936,277977536,278259040,278540448,278821728,279102944,279384032,
1985 279665056,279945952,280226752,280507456,280788064,281068544,281348960,281629248,
1986 281909472,282189568,282469568,282749440,283029248,283308960,283588544,283868032,
1987 284147424,284426720,284705920,284985024,285264000,285542912,285821696,286100384,
1988 286378976,286657440,286935840,287214112,287492320,287770400,288048384,288326240,
1989 288604032,288881696,289159264,289436768,289714112,289991392,290268576,290545632,
1990 290822592,291099456,291376224,291652896,291929440,292205888,292482272,292758528,
1991 293034656,293310720,293586656,293862496,294138240,294413888,294689440,294964864,
1992 295240192,295515424,295790560,296065600,296340512,296615360,296890080,297164704,
1993 297439200,297713632,297987936,298262144,298536256,298810240,299084160,299357952,
1994 299631648,299905248,300178720,300452128,300725408,300998592,301271680,301544640,
1995 301817536,302090304,302362976,302635520,302908000,303180352,303452608,303724768,
1996 303996800,304268768,304540608,304812320,305083968,305355520,305626944,305898272,
1997 306169472,306440608,306711616,306982528,307253344,307524064,307794656,308065152,
1998 308335552,308605856,308876032,309146112,309416096,309685984,309955744,310225408,
1999 310494976,310764448,311033824,311303072,311572224,311841280,312110208,312379040,
2000 312647776,312916416,313184960,313453376,313721696,313989920,314258016,314526016,
2001 314793920,315061728,315329408,315597024,315864512,316131872,316399168,316666336,
2002 316933408,317200384,317467232,317733984,318000640,318267200,318533632,318799968,
2003 319066208,319332352,319598368,319864288,320130112,320395808,320661408,320926912,
2004 321192320,321457632,321722816,321987904,322252864,322517760,322782528,323047200,
2005 323311744,323576192,323840544,324104800,324368928,324632992,324896928,325160736,
2006 325424448,325688096,325951584,326215008,326478304,326741504,327004608,327267584,
2007 327530464,327793248,328055904,328318496,328580960,328843296,329105568,329367712,
2008 329629760,329891680,330153536,330415264,330676864,330938400,331199808,331461120,
2009 331722304,331983392,332244384,332505280,332766048,333026752,333287296,333547776,
2010 333808128,334068384,334328544,334588576,334848512,335108352,335368064,335627712,
2011 335887200,336146624,336405920,336665120,336924224,337183200,337442112,337700864,
2012 337959552,338218112,338476576,338734944,338993184,339251328,339509376,339767296,
2013 340025120,340282848,340540480,340797984,341055392,341312704,341569888,341826976,
2014 342083968,342340832,342597600,342854272,343110848,343367296,343623648,343879904,
2015 344136032,344392064,344648000,344903808,345159520,345415136,345670656,345926048,
2016 346181344,346436512,346691616,346946592,347201440,347456224,347710880,347965440,
2017 348219872,348474208,348728448,348982592,349236608,349490528,349744320,349998048,
2018 350251648,350505152,350758528,351011808,351264992,351518048,351771040,352023872,
2019 352276640,352529280,352781824,353034272,353286592,353538816,353790944,354042944,
2020 354294880,354546656,354798368,355049952,355301440,355552800,355804096,356055264,
2021 356306304,356557280,356808128,357058848,357309504,357560032,357810464,358060768,
2022 358311008,358561088,358811104,359060992,359310784,359560480,359810048,360059520,
2023 360308896,360558144,360807296,361056352,361305312,361554144,361802880,362051488,
2024 362300032,362548448,362796736,363044960,363293056,363541024,363788928,364036704,
2025 364284384,364531936,364779392,365026752,365274016,365521152,365768192,366015136,
2026 366261952,366508672,366755296,367001792,367248192,367494496,367740704,367986784,
2027 368232768,368478656,368724416,368970080,369215648,369461088,369706432,369951680,
2028 370196800,370441824,370686752,370931584,371176288,371420896,371665408,371909792,
2029 372154080,372398272,372642336,372886304,373130176,373373952,373617600,373861152,
2030 374104608,374347936,374591168,374834304,375077312,375320224,375563040,375805760,
2031 376048352,376290848,376533248,376775520,377017696,377259776,377501728,377743584,
2032 377985344,378227008,378468544,378709984,378951328,379192544,379433664,379674688,
2033 379915584,380156416,380397088,380637696,380878176,381118560,381358848,381599040,
2034 381839104,382079072,382318912,382558656,382798304,383037856,383277280,383516640,
2035 383755840,383994976,384233984,384472896,384711712,384950400,385188992,385427488,
2036 385665888,385904160,386142336,386380384,386618368,386856224,387093984,387331616,
2037 387569152,387806592,388043936,388281152,388518272,388755296,388992224,389229024,
2038 389465728,389702336,389938816,390175200,390411488,390647680,390883744,391119712,
2039 391355584,391591328,391826976,392062528,392297984,392533312,392768544,393003680,
2040 393238720,393473632,393708448,393943168,394177760,394412256,394646656,394880960,
2041 395115136,395349216,395583200,395817088,396050848,396284512,396518080,396751520,
2042 396984864,397218112,397451264,397684288,397917248,398150080,398382784,398615424,
2043 398847936,399080320,399312640,399544832,399776928,400008928,400240832,400472608,
2044 400704288,400935872,401167328,401398720,401629984,401861120,402092192,402323136,
2045 402553984,402784736,403015360,403245888,403476320,403706656,403936896,404167008,
2046 404397024,404626944,404856736,405086432,405316032,405545536,405774912,406004224,
2047 406233408,406462464,406691456,406920320,407149088,407377760,407606336,407834784,
2048 408063136,408291392,408519520,408747584,408975520,409203360,409431072,409658720,
2049 409886240,410113664,410340992,410568192,410795296,411022304,411249216,411476032,
2050 411702720,411929312,412155808,412382176,412608480,412834656,413060736,413286720,
2051 413512576,413738336,413964000,414189568,414415040,414640384,414865632,415090784,
2052 415315840,415540800,415765632,415990368,416215008,416439552,416663968,416888288,
2053 417112512,417336640,417560672,417784576,418008384,418232096,418455712,418679200,
2054 418902624,419125920,419349120,419572192,419795200,420018080,420240864,420463552,
2055 420686144,420908608,421130976,421353280,421575424,421797504,422019488,422241344,
2056 422463104,422684768,422906336,423127776,423349120,423570400,423791520,424012576,
2057 424233536,424454368,424675104,424895744,425116288,425336736,425557056,425777280,
2058 425997408,426217440,426437376,426657184,426876928,427096544,427316064,427535488,
2059 427754784,427974016,428193120,428412128,428631040,428849856,429068544,429287168,
2060 429505664,429724064,429942368,430160576,430378656,430596672,430814560,431032352,
2061 431250048,431467616,431685120,431902496,432119808,432336992,432554080,432771040,
2062 432987936,433204736,433421408,433637984,433854464,434070848,434287104,434503296,
2063 434719360,434935360,435151232,435367008,435582656,435798240,436013696,436229088,
2064 436444352,436659520,436874592,437089568,437304416,437519200,437733856,437948416,
2065 438162880,438377248,438591520,438805696,439019744,439233728,439447584,439661344,
2066 439875008,440088576,440302048,440515392,440728672,440941824,441154880,441367872,
2067 441580736,441793472,442006144,442218720,442431168,442643552,442855808,443067968,
2068 443280032,443492000,443703872,443915648,444127296,444338880,444550336,444761696,
2069 444972992,445184160,445395232,445606176,445817056,446027840,446238496,446449088,
2070 446659552,446869920,447080192,447290400,447500448,447710432,447920320,448130112,
2071 448339776,448549376,448758848,448968224,449177536,449386720,449595808,449804800,
2072 450013664,450222464,450431168,450639776,450848256,451056640,451264960,451473152,
2073 451681248,451889248,452097152,452304960,452512672,452720288,452927808,453135232,
2074 453342528,453549760,453756864,453963904,454170816,454377632,454584384,454791008,
2075 454997536,455203968,455410304,455616544,455822688,456028704,456234656,456440512,
2076 456646240,456851904,457057472,457262912,457468256,457673536,457878688,458083744,
2077 458288736,458493600,458698368,458903040,459107616,459312096,459516480,459720768,
2078 459924960,460129056,460333056,460536960,460740736,460944448,461148064,461351584,
2079 461554976,461758304,461961536,462164640,462367680,462570592,462773440,462976160,
2080 463178816,463381344,463583776,463786144,463988384,464190560,464392608,464594560,
2081 464796448,464998208,465199872,465401472,465602944,465804320,466005600,466206816,
2082 466407904,466608896,466809824,467010624,467211328,467411936,467612480,467812896,
2083 468013216,468213440,468413600,468613632,468813568,469013440,469213184,469412832,
2084 469612416,469811872,470011232,470210528,470409696,470608800,470807776,471006688,
2085 471205472,471404192,471602784,471801312,471999712,472198048,472396288,472594400,
2086 472792448,472990400,473188256,473385984,473583648,473781216,473978688,474176064,
2087 474373344,474570528,474767616,474964608,475161504,475358336,475555040,475751648,
2088 475948192,476144608,476340928,476537184,476733312,476929376,477125344,477321184,
2089 477516960,477712640,477908224,478103712,478299104,478494400,478689600,478884704,
2090 479079744,479274656,479469504,479664224,479858880,480053408,480247872,480442240,
2091 480636512,480830656,481024736,481218752,481412640,481606432,481800128,481993760,
2092 482187264,482380704,482574016,482767264,482960416,483153472,483346432,483539296,
2093 483732064,483924768,484117344,484309856,484502240,484694560,484886784,485078912,
2094 485270944,485462880,485654720,485846464,486038144,486229696,486421184,486612576,
2095 486803840,486995040,487186176,487377184,487568096,487758912,487949664,488140320,
2096 488330880,488521312,488711712,488901984,489092160,489282240,489472256,489662176,
2097 489851968,490041696,490231328,490420896,490610336,490799712,490988960,491178144,
2098 491367232,491556224,491745120,491933920,492122656,492311264,492499808,492688256,
2099 492876608,493064864,493253056,493441120,493629120,493817024,494004832,494192544,
2100 494380160,494567712,494755136,494942496,495129760,495316928,495504000,495691008,
2101 495877888,496064704,496251424,496438048,496624608,496811040,496997408,497183680,
2102 497369856,497555936,497741920,497927840,498113632,498299360,498484992,498670560,
2103 498856000,499041376,499226656,499411840,499596928,499781920,499966848,500151680,
2104 500336416,500521056,500705600,500890080,501074464,501258752,501442944,501627040,
2105 501811072,501995008,502178848,502362592,502546240,502729824,502913312,503096704,
2106 503280000,503463232,503646368,503829408,504012352,504195200,504377984,504560672,
2107 504743264,504925760,505108192,505290496,505472736,505654912,505836960,506018944,
2108 506200832,506382624,506564320,506745952,506927488,507108928,507290272,507471552,
2109 507652736,507833824,508014816,508195744,508376576,508557312,508737952,508918528,
2110 509099008,509279392,509459680,509639904,509820032,510000064,510180000,510359872,
2111 510539648,510719328,510898944,511078432,511257856,511437216,511616448,511795616,
2112 511974688,512153664,512332576,512511392,512690112,512868768,513047296,513225792,
2113 513404160,513582432,513760640,513938784,514116800,514294752,514472608,514650368,
2114 514828064,515005664,515183168,515360608,515537952,515715200,515892352,516069440,
2115 516246432,516423328,516600160,516776896,516953536,517130112,517306592,517482976,
2116 517659264,517835488,518011616,518187680,518363648,518539520,518715296,518891008,
2117 519066624,519242144,519417600,519592960,519768256,519943424,520118528,520293568,
2118 520468480,520643328,520818112,520992800,521167392,521341888,521516320,521690656,
2119 521864896,522039072,522213152,522387168,522561056,522734912,522908640,523082304,
2120 523255872,523429376,523602784,523776096,523949312,524122464,524295552,524468512,
2121 524641440,524814240,524986976,525159616,525332192,525504640,525677056,525849344,
2122 526021568,526193728,526365792,526537760,526709632,526881440,527053152,527224800,
2123 527396352,527567840,527739200,527910528,528081728,528252864,528423936,528594880,
2124 528765760,528936576,529107296,529277920,529448480,529618944,529789344,529959648,
2125 530129856,530300000,530470048,530640000,530809888,530979712,531149440,531319072,
2126 531488608,531658080,531827488,531996800,532166016,532335168,532504224,532673184,
2127 532842080,533010912,533179616,533348288,533516832,533685312,533853728,534022048,
2128 534190272,534358432,534526496,534694496,534862400,535030240,535197984,535365632,
2129 535533216,535700704,535868128,536035456,536202720,536369888,536536992,536704000,
2134 #ifdef TABLES_AS_LUMPS
2141 // Load trig tables from a wad file lump
2142 // CPhipps 24/12/98 - fix endianness (!)
2143 // KKurbjun 3/09/2006 - Modified to reduce initial footprint
2145 void R_LoadTrigTables(void)
2147 finesine
=malloc(10240*sizeof(fixed_t
));
2148 finetangent
=malloc(4096*sizeof(fixed_t
));
2149 tantoangle
=malloc(2049*sizeof(angle_t
));
2151 finecosine
=finesine
+ FINEANGLES
/4;
2155 lump
= W_GetNumForName("SINETABL");
2156 if (W_LumpLength(lump
) != 10240*sizeof(fixed_t
))
2157 I_Error("R_LoadTrigTables: Invalid SINETABL");
2158 W_ReadLump(lump
,(unsigned char*)finesine
);
2162 lump
= W_GetNumForName("TANGTABL");
2163 if (W_LumpLength(lump
) != 4096*sizeof(fixed_t
))
2164 I_Error("R_LoadTrigTables: Invalid TANGTABL");
2165 W_ReadLump(lump
,(unsigned char*)finetangent
);
2169 lump
= W_GetNumForName("TANTOANG");
2170 if (W_LumpLength(lump
) != 2049*sizeof(fixed_t
))
2171 I_Error("R_LoadTrigTables: Invalid TANTOANG");
2172 W_ReadLump(lump
,(unsigned char*)tantoangle
);
2174 // Endianness correction - might still be non-portable, but is fast where possible
2177 printf("Endianness...");
2179 // This test doesn't assume the endianness of the tables, but deduces them from
2180 // en entry. I hope this is portable.
2181 if ((10 < finesine
[1]) && (finesine
[1] < 100)) {
2183 return; // Endianness is correct
2186 // Must correct endianness of every long loaded (!)
2187 #define CORRECT_TABLE_ENDIAN(tbl, size) \
2188 for (n = 0; n<size; n++) tbl[n] = doom_swap_l(tbl[n])
2190 CORRECT_TABLE_ENDIAN(finesine
, 10240);
2191 CORRECT_TABLE_ENDIAN(finetangent
, 4096);
2192 CORRECT_TABLE_ENDIAN(tantoangle
, 2049);
2193 printf("corrected.");