-
Notifications
You must be signed in to change notification settings - Fork 0
/
gv.c
666 lines (658 loc) · 23.1 KB
/
gv.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
#include <stdio.h>
#include <stdlib.h>
#include "gr.h"
char obj_point_data[] = {
12,
3,3,-114,
5,3,-116,
-5,3,-120,
-3,3,-114,
8,3,-118,
8,3,-120,
-5,-3,-120,
5,-3,-116,
3,-3,-114,
-3,-3,-114,
8,-3,-120,
8,-3,-118,
1,2,3,4,6,1,
2,5,6,3,6,1,
7,8,9,10,6,1,
7,11,12,8,6,1,
4,1,9,10,9,1,
4,3,7,10,9,1,
1,9,8,2,5,1,
2,8,12,5,9,1,
5,12,11,6,9,1,
0,
11,
-15,-20,-105,
-15,-20,-120,
-15,20,-120,
-15,20,-105,
-15,0,-107,
-15,0,-118,
-15,15,-112,
-15,5,-111,
-15,-15,-111,
-15,-15,-114,
-15,5,-114,
1,2,3,4,1,0,
5,6,7,5,5,0,
8,9,10,11,5,0,
0,
11,
-15,-15,-105,
15,15,-105,
15,15,-120,
-15,-15,-120,
-5,-5,-110,
10,10,-110,
10,10,-115,
-5,-5,-115,
0,0,-107,
0,0,-118,
-10,-10,-112,
1,2,3,4,1,0,
5,6,7,8,5,0,
9,10,11,9,5,0,
0,
11,
-15,0,-120,
15,0,-120,
15,0,-105,
-15,0,-105,
-10,0,-110,
5,0,-110,
5,0,-115,
-10,0,-115,
0,0,-118,
0,0,-107,
10,0,-112,
1,2,3,4,1,0,
5,6,7,8,5,0,
9,10,11,9,5,0,
0,
11,
15,-15,-105,
-15,15,-105,
-15,15,-120,
15,-15,-120,
5,-5,-110,
-10,10,-110,
-10,10,-115,
5,-5,-115,
0,0,-107,
0,0,-118,
10,-10,-112,
1,2,3,4,1,0,
5,6,7,8,5,0,
9,10,11,9,5,0,
0,
8,
-10,-10,-120,
15,-10,-120,
15,-10,-100,
-10,-10,-100,
-10,10,-100,
-10,10,-120,
15,10,-100,
15,10,-120,
1,2,3,4,11,1,
4,5,6,1,12,1,
5,7,8,6,13,1,
0,
8,
-20,0,-115,
0,0,-65,
10,27,-115,
15,-15,-115,
0,0,-120,
0,0,-115,
3,0,-115,
3,0,-120,
1,2,3,1,3,1,
2,4,3,2,2,1,
2,1,4,2,4,1,
4,3,1,4,2,1,
5,6,7,8,8,0,
0,
36,
1,1,-88,
1,1,-120,
-2,1,-120,
-2,1,-88,
-1,1,-95,
-6,12,-82,
-4,12,-75,
1,1,-95,
-2,1,-98,
-15,7,-82,
-15,4,-84,
-2,1,-99,
1,1,-96,
11,9,-82,
13,7,-80,
-1,1,-102,
-12,-5,-92,
-18,-7,-92,
-12,-4,-93,
1,1,-107,
9,-7,-95,
12,-7,-93,
-1,1,-105,
-10,11,-96,
-9,11,-92,
-1,1,-104,
1,10,-91,
3,11,-89,
1,8,-101,
-5,-8,-90,
-2,-8,-82,
0,1,-102,
1,2,-99,
10,4,-88,
6,1,-94,
1,1,-100,
1,2,3,4,8,0,
5,6,7,8,8,0,
9,10,11,12,8,0,
13,14,15,13,8,0,
16,17,18,19,8,0,
20,21,22,20,8,0,
23,24,25,23,8,0,
26,27,28,29,8,0,
16,30,31,32,8,0,
33,34,35,36,8,0,
0,
8,
-10,0,-117,
0,0,-95,
5,13,-117,
8,-8,-117,
0,0,-120,
0,0,-117,
3,0,-117,
3,0,-120,
1,2,3,1,3,1,
2,4,3,2,2,1,
2,1,4,2,4,1,
4,3,1,4,2,1,
5,6,7,8,8,0,
0,
8,
-10,0,-120,
-10,0,-105,
10,0,-105,
10,0,-120,
-8,0,-107,
8,0,-107,
8,0,-115,
-8,0,-115,
1,2,3,4,8,0,
5,6,7,8,7,0,
-1
};
int obj_pos_data[] = {
825,92,0,0,
600,400,0,6,
580,400,0,6,
560,400,0,6,
540,400,0,6,
520,400,0,6,
500,400,0,6,
480,400,0,6,
460,400,0,6,
440,400,0,6,
420,400,0,6,
400,400,0,6,
380,400,0,6,
360,400,0,6,
520,430,0,8,
500,430,0,8,
480,430,0,8,
460,430,0,8,
440,430,0,6,
420,430,0,6,
400,430,0,6,
380,430,0,6,
360,430,0,6,
265,335,-6,6,
265,315,-7,6,
265,295,-8,6,
265,275,-9,6,
265,255,-10,6,
265,235,-11,6,
265,215,-12,6,
267,195,-13,6,
271,176,-14,6,
275,159,-16,6,
281,141,-18,6,
287,122,-20,6,
293,105,-22,6,
340,395,-2,6,
326,385,-3,6,
314,371,-4,6,
304,354,-5,6,
299,335,-6,6,
298,315,-7,6,
298,295,-8,6,
298,275,-9,6,
364,85,-22,6,
379,87,-22,6,
392,92,-20,6,
405,97,-18,6,
840,65,0,1,
840,105,0,1,
305,410,-3,2,
283,380,-5,2,
312,87,-22,3,
725,25,0,3,
476,128,-16,4,
271,354,-5,6,
269,370,-4,6,
255,370,-4,6,
240,370,-5,6,
220,370,-6,6,
200,370,-6,6,
491,120,-14,6,
500,115,-14,6,
510,115,-14,6,
850,85,3,6,
855,95,3,6,
855,75,3,6,
792,143,0,8,
785,158,0,8,
780,169,0,8,
776,180,0,8,
772,191,0,8,
767,202,0,8,
732,258,0,6,
721,271,0,6,
712,286,0,6,
705,303,0,6,
700,317,0,6,
698,331,0,6,
694,345,0,6,
690,359,0,6,
687,373,0,6,
316,83,-22,6,
775,30,0,6,
785,35,0,6,
795,40,0,6,
805,45,0,6,
816,49,0,6,
827,53,0,6,
773,20,0,6,
786,24,0,6,
798,28,0,6,
771,10,0,6,
768,1,0,6,
832,115,0,6,
705,55,-1,6,
600,90,-4,8,
615,90,-4,8,
630,90,-4,8,
645,90,-4,8,
760,230,0,5,
875,60,0,5,
765,135,0,7,
758,150,0,7,
750,168,0,7,
744,185,0,7,
736,201,0,7,
270,390,0,7,
250,390,0,7,
230,390,0,7,
777,63,0,7,
791,69,0,7,
805,75,0,7,
811,87,0,7,
805,100,0,7,
793,108,0,7,
780,116,0,7,
724,216,0,7,
714,229,0,7,
704,242,0,7,
691,256,0,7,
679,270,0,7,
671,286,0,7,
665,305,0,7,
662,323,0,7,
658,343,0,7,
654,361,0,7,
667,83,-1,8,
677,75,-1,8,
688,67,-1,8,
551,106,-8,8,
563,101,-7,8,
576,96,-6,8,
811,131,0,9,
-1};
int init_data[] = {827,80,90};
int line_data[] = {
825,70,0,6,
825,100,0,6,
780,135,0,6,
745,215,0,6,
690,290,0,6,
670,380,0,6,
650,405,0,6,
620,415,0,6,
500,415,0,6,
340,415,0,6,
310,395,-2,6,
290,365,-4,6,
280,340,-6,6,
280,215,-10,6,
290,160,-16,6,
310,100,-22,6,
365,100,-22,6,
435,125,-16,6,
450,125,-14,6,
505,95,-10,6,
540,95,-6,6,
585,75,-4,6,
650,75,-2,6,
700,40,-1,6,
760,40,0,6,
825,70,0,6,
825,100,0,6,
-1
};
int lobj_data[] = {
821,74,0,829,66,0,829,103,0,821,97,0,15,1,
821,97,0,829,103,0,784,138,0,776,132,0,15,1,
776,132,0,784,138,0,750,218,0,740,212,0,15,1,
740,212,0,750,218,0,695,292,0,685,288,0,15,1,
685,288,0,695,292,0,675,381,0,665,379,0,15,1,
665,379,0,675,381,0,653,409,0,647,401,0,15,1,
647,401,0,653,409,0,620,420,0,620,410,0,15,1,
620,410,0,620,420,0,500,420,0,500,410,0,15,1,
500,410,0,500,420,0,340,420,0,340,410,0,15,1,
340,410,0,340,420,0,306,399,-2,314,391,-2,15,1,
314,391,-2,306,399,-2,285,367,-4,295,363,-4,15,1,
295,363,-4,285,367,-4,275,340,-6,285,340,-6,15,1,
285,340,-6,275,340,-6,275,215,-10,285,215,-10,15,1,
285,215,-10,275,215,-10,285,159,-16,295,161,-16,15,1,
295,161,-16,285,159,-16,307,96,-22,313,104,-22,15,1,
313,104,-22,307,96,-22,366,95,-22,364,105,-22,15,1,
364,105,-22,366,95,-22,436,120,-16,434,130,-16,15,1,
434,130,-16,436,120,-16,448,120,-14,452,130,-14,15,1,
452,130,-14,448,120,-14,504,90,-10,506,100,-10,15,1,
506,100,-10,504,90,-10,539,90,-6,541,100,-6,15,1,
541,100,-6,539,90,-6,584,70,-4,586,80,-4,15,1,
586,80,-4,584,70,-4,649,70,-2,651,80,-2,15,1,
651,80,-2,649,70,-2,699,35,-1,701,45,-1,15,1,
701,45,-1,699,35,-1,761,35,0,759,45,0,15,1,
759,45,0,761,35,0,829,66,0,821,74,0,15,1,
440,395,0,470,395,0,470,395,15,440,395,15,13,0,
485,395,0,510,395,0,510,395,15,485,395,15,13,0,
525,395,0,550,395,0,550,395,15,525,395,15,13,0,
440,395,0,440,395,15,440,380,15,440,380,0,12,0,
470,395,0,470,380,0,470,380,15,470,395,15,12,0,
485,395,0,485,395,15,485,380,15,485,380,0,12,0,
510,395,0,510,380,0,510,380,15,510,395,15,12,0,
525,395,0,525,395,15,525,380,15,525,380,0,12,0,
550,395,0,550,380,0,550,380,15,550,395,15,12,0,
380,395,0,420,395,0,420,395,15,380,395,15,13,0,
380,395,0,380,395,15,380,380,15,380,380,0,12,0,
420,395,0,420,380,0,420,380,15,420,395,15,12,0,
355,395,0,355,395,15,345,395,15,345,395,0,13,0,
345,395,0,345,395,15,330,385,15,330,385,0,12,0,
330,385,0,330,385,15,330,370,15,330,370,0,11,0,
355,395,0,355,370,0,355,370,15,355,395,15,12,0,
330,370,0,330,370,15,355,370,15,355,370,0,14,0,
310,360,0,355,360,0,355,360,15,310,360,15,13,0,
310,360,0,310,360,15,310,345,15,310,345,0,12,0,
310,345,0,310,345,15,355,345,15,355,345,0,11,0,
320,300,0,350,300,0,350,300,20,320,300,20,13,0,
320,300,0,320,300,20,320,285,20,320,285,0,12,0,
320,285,0,320,285,20,350,285,20,350,285,0,11,0,
410,205,0,370,205,0,370,205,80,410,205,80,11,0,
370,205,0,370,220,0,370,220,80,370,205,80,12,0,
370,220,0,395,220,0,395,220,80,370,220,80,13,0,
395,220,0,395,250,0,395,250,80,395,220,80,12,0,
395,250,0,410,250,0,410,250,80,395,250,80,13,0,
410,250,0,410,205,0,410,205,80,410,250,80,14,0,
435,260,0,480,260,0,480,260,120,435,260,120,13,0,
435,260,0,435,260,120,435,205,120,435,205,0,12,0,
435,205,0,435,205,120,480,205,120,480,205,0,11,0,
480,260,0,480,205,0,480,205,120,480,260,120,12,0,
505,260,0,555,260,0,555,260,80,505,260,80,13,0,
505,260,0,505,260,80,505,205,80,505,205,0,12,0,
505,205,0,505,205,80,555,205,80,555,205,0,11,0,
555,260,0,555,205,0,555,205,80,555,260,80,14,0,
575,225,0,645,225,0,645,225,60,575,225,60,13,0,
555,205,0,555,205,60,645,205,60,645,205,0,11,0,
630,240,0,690,240,0,690,240,30,630,240,30,13,0,
690,240,0,690,175,0,690,175,30,690,240,30,12,0,
690,175,0,655,175,0,655,175,30,690,175,30,11,0,
645,225,0,645,205,0,645,205,60,645,225,60,12,0,
645,205,0,645,205,30,655,175,30,655,175,0,12,0,
605,375,0,605,375,100,607,375,100,607,375,0,13,0,
607,375,0,607,375,100,607,377,100,607,377,0,14,0,
607,377,0,607,377,100,605,377,100,605,377,0,13,0,
605,377,0,605,377,100,605,375,100,605,375,0,14,0,
475,135,0,475,135,15,510,135,15,510,135,0,6,0,
475,135,0,475,145,0,475,145,15,475,135,15,6,0,
475,137,0,510,137,0,510,137,-13,475,137,-13,14,0,
475,145,0,475,137,0,475,137,-13,475,145,-13,7,0,
475,145,-13,465,145,-13,465,145,15,475,145,15,11,0,
465,145,-13,465,155,-13,465,155,15,465,145,15,12,0,
510,137,0,475,137,0,475,135,0,510,135,0,0,0,
540,155,0,540,155,30,540,145,30,540,145,0,12,0,
540,145,0,540,145,30,570,145,30,570,145,0,11,0,
570,145,0,570,145,30,570,155,30,570,155,0,12,0,
585,155,0,585,155,50,585,140,50,585,140,0,12,0,
585,140,0,585,140,50,635,140,50,635,140,0,11,0,
635,140,0,635,140,50,635,155,50,635,155,0,12,0,
650,150,0,650,150,35,650,140,35,650,140,0,12,0,
650,140,0,650,140,35,680,140,35,680,140,0,11,0,
680,140,0,680,140,35,680,130,35,680,130,0,12,0,
680,130,0,680,130,35,710,130,35,710,130,0,11,0,
710,130,0,710,130,35,710,150,35,710,150,0,12,0,
710,150,0,710,150,35,650,150,35,650,150,0,13,0,
590,350,0,590,350,20,625,350,20,625,350,0,11,0,
625,350,0,625,350,20,625,380,20,625,380,0,12,0,
625,380,0,625,380,20,590,380,20,590,380,0,13,0,
590,350,0,590,380,0,590,380,20,590,350,20,12,0,
540,430,0,540,430,25,585,430,25,585,430,0,11,0,
540,430,0,540,445,0,540,445,25,540,430,25,12,0,
585,430,0,585,430,25,585,445,25,585,445,0,12,0,
595,430,0,595,430,20,630,430,20,630,430,0,11,0,
595,430,0,595,440,0,595,440,20,595,430,20,12,0,
630,430,0,630,430,20,630,440,20,630,440,0,12,0,
510,440,0,455,440,0,455,440,20,510,440,20,11,0,
510,440,0,510,440,20,510,450,20,510,450,0,12,0,
455,440,0,455,450,0,455,450,20,455,440,20,12,0,
325,85,0,325,85,-20,345,85,-20,345,85,0,13,0,
325,85,0,325,75,0,325,75,-20,325,85,-20,12,0,
345,85,0,345,85,-20,345,75,-20,345,75,0,12,0,
725,50,0,725,50,15,740,50,15,740,50,0,11,0,
740,50,0,740,50,15,740,60,15,740,60,0,12,0,
725,50,0,725,60,0,725,60,15,725,50,15,12,0,
180,390,0,120,390,0,120,390,100,180,390,100,11,0,
180,390,0,180,390,100,180,400,100,180,400,0,7,0,
180,400,0,180,400,100,120,400,100,120,400,0,12,0,
345,395,0,340,410,0,315,391,-2,330,385,0,3,1,
330,385,0,314,391,-2,295,363,-4,310,360,0,3,1,
295,363,-4,310,360,0,306,340,-6,285,340,-6,3,1,
285,340,-6,285,270,-8,305,270,-6,305,339,-6,3,1,
305,270,-8,305,340,-6,310,360,0,310,270,0,14,0,
305,247,0,285,262,-8,285,215,-10,305,215,0,3,1,
285,270,-8,285,262,-8,360,262,0,360,270,0,13,1,
285,262,-8,305,247,0,325,247,0,325,262,-4,3,1,
305,215,0,285,215,-10,295,161,-16,315,161,0,3,1,
315,161,0,295,161,-16,313,104,-22,330,125,-5,3,1,
330,125,-5,314,104,-22,364,105,-22,360,125,-5,3,1,
360,125,-5,364,105,-22,434,130,-16,420,140,-8,3,1,
475,130,-14,452,130,-14,452,145,-14,476,145,-14,14,1,
434,130,-16,452,130,-14,452,140,-8,420,140,-8,3,1,
452,130,-14,515,130,-14,511,121,-14,468,121,-13,13,1,
525,100,-8,535,100,-8,515,130,-14,511,120,-14,13,1,
511,137,-4,535,100,-4,535,100,-8,511,137,-14,14,1,
467,155,0,467,155,-16,395,155,-16,395,155,0,12,0,
475,137,-14,475,130,-14,515,130,-14,511,137,-14,11,1,
325,85,-20,345,85,-20,366,95,-22,320,96,-22,3,1,
320,96,-22,325,86,-20,325,75,-20,313,96,-22,3,1,
366,95,-22,436,120,-16,346,75,-20,346,85,-20,3,1,
829,66,0,840,58,0,842,66,0,829,75,0,13,1,
842,66,0,858,65,0,858,57,0,840,58,0,13,1,
840,110,0,857,112,0,858,104,0,842,102,0,13,1,
840,110,0,830,102,0,829,91,0,842,102,0,13,1,
746,202,0,743,209,0,691,209,0,691,203,0,13,1,
696,275,0,636,276,0,636,287,0,688,286,0,13,1,
674,341,0,627,341,0,627,333,0,676,333,0,13,1,
560,410,0,567,410,0,567,370,0,561,370,0,13,1,
427,410,0,433,409,0,433,365,0,427,365,0,13,1,
350,420,0,350,475,5,340,475,0,340,420,0,13,1,
298,385,-3,200,386,-5,200,377,-5,293,377,-3,13,1,
275,245,-9,240,245,-15,240,240,-15,275,240,-9,13,1,
304,105,-22,284,105,-22,288,96,-22,308,96,-22,13,1,
306,96,-22,339,36,-24,348,36,-24,314,96,-22,13,1,
586,80,-4,586,115,-4,594,115,-4,594,80,-4,13,1,
660,73,-2,660,105,0,668,105,0,668,68,-2,13,1,
699,36,-1,745,35,0,740,14,0,735,10,0,13,1,
710,45,0,710,85,0,718,85,0,718,45,0,13,1,
754,205,0,769,211,0,772,202,0,758,197,0,13,1,
778,152,0,790,157,0,793,149,0,781,144,0,13,1,
427,420,0,427,429,0,433,429,0,433,421,0,13,1,
366,429,0,372,429,0,372,420,0,366,420,0,13,1,
326,412,-3,321,430,-3,291,410,-3,311,402,-4,13,1,
625,60,0,645,60,0,675,35,0,625,10,0,13,1,
766,217,0,794,144,0,812,151,0,783,224,0,13,1,
362,428,0,438,428,0,438,445,0,362,445,0,13,1,
260,355,-10,260,255,-10,165,255,-10,165,355,-10,8,1,
732,216,0,730,215,0,730,215,30,732,216,30,8,1,
750,225,0,748,224,0,748,224,30,750,225,30,8,1,
750,225,33,730,215,33,730,215,30,750,225,30,11,1,
289,376,-4,275,340,-6,265,340,-6,271,377,-6,3,1,
275,245,-9,275,340,-6,265,340,-6,265,245,-9,3,1,
800,-20,0,795,-27,0,736,9,0,741,15,0,13,1,
760,-10,0,760,-10,40,756,-17,40,756,-17,0,11,0,
760,-10,0,790,-30,0,790,-30,40,760,-10,40,11,0,
275,239,-9,265,239,-9,265,215,-10,275,215,-10,3,1,
275,215,-10,285,158,-16,275,155,-16,265,215,-10,3,1,
285,158,-16,303,105,-22,292,105,-22,275,155,-16,3,1,
829,91,0,838,87,3,838,79,3,829,75,0,2,1,
842,95,3,837,87,3,829,91,0,842,101,0,2,1,
837,79,3,841,73,3,841,67,0,829,75,0,2,1,
806,120,0,864,120,0,864,130,0,794,130,0,8,1,
828,103,0,806,120,0,848,120,0,848,115,0,3,1,
794,130,0,865,130,0,865,135,3,794,135,3,3,1,
364,105,-22,434,130,-16,420,140,-8,314,104,-22,3,1,
-1
};
char rot_table[36][50] = {
{ 0,1 ,0,-1 ,1,2 ,1,1 ,1,0 ,1,-1 ,1,-2 ,2,3 ,2,2 ,2,1 ,2,0 ,2,-1 ,2,-2 ,2,-3 ,3,2 ,3,1 ,3,0 ,3,-1 ,3,-2 ,4,1 ,4,0 ,4,-1 ,5,0 ,0,0 ,0,0 },
{ 0,1 ,0,-1 ,1,3 ,1,2 ,1,1 ,1,0 ,1,-1 ,2,3 ,2,2 ,2,1 ,2,0 ,2,-1 ,2,-2 ,3,3 ,3,2 ,3,1 ,3,0 ,3,-1 ,3,-2 ,4,2 ,4,1 ,4,0 ,4,-1 ,5,1 ,0,0 },
{ 0,2 ,0,1 ,0,-1 ,1,3 ,1,2 ,1,1 ,1,0 ,1,-1 ,2,3 ,2,2 ,2,1 ,2,0 ,2,-1 ,3,3 ,3,2 ,3,1 ,3,0 ,3,-1 ,3,-2 ,4,2 ,4,1 ,4,0 ,4,-1 ,0,0 ,0,0 },
{ 0,3 ,0,2 ,0,1 ,1,4 ,1,3 ,1,2 ,1,1 ,1,0 ,1,-1 ,2,4 ,2,3 ,2,2 ,2,1 ,2,0 ,2,-1 ,3,3 ,3,2 ,3,1 ,3,0 ,3,-1 ,4,2 ,4,1 ,4,0 ,0,0 ,0,0 },
{ 0,3 ,0,2 ,0,1 ,1,4 ,1,3 ,1,2 ,1,1 ,1,0 ,1,-1 ,2,4 ,2,3 ,2,2 ,2,1 ,2,0 ,2,-1 ,3,3 ,3,2 ,3,1 ,3,0 ,3,-1 ,4,3 ,4,2 ,4,1 ,4,0 ,0,0 },
{ 3,0 ,2,0 ,1,0 ,4,1 ,3,1 ,2,1 ,1,1 ,0,1 ,-1,1 ,4,2 ,3,2 ,2,2 ,1,2 ,0,2 ,-1,2 ,3,3 ,2,3 ,1,3 ,0,3 ,-1,3 ,3,4 ,2,4 ,1,4 ,0,4 ,0,0 },
{ 3,0 ,2,0 ,1,0 ,4,1 ,3,1 ,2,1 ,1,1 ,0,1 ,-1,1 ,4,2 ,3,2 ,2,2 ,1,2 ,0,2 ,-1,2 ,3,3 ,2,3 ,1,3 ,0,3 ,-1,3 ,2,4 ,1,4 ,0,4 ,0,0 ,0,0 },
{ 2,0 ,1,0 ,-1,0 ,3,1 ,2,1 ,1,1 ,0,1 ,-1,1 ,3,2 ,2,2 ,1,2 ,0,2 ,-1,2 ,3,3 ,2,3 ,1,3 ,0,3 ,-1,3 ,-2,3 ,2,4 ,1,4 ,0,4 ,-1,4 ,0,0 ,0,0 },
{ 1,0 ,-1,0 ,3,1 ,2,1 ,1,1 ,0,1 ,-1,1 ,3,2 ,2,2 ,1,2 ,0,2 ,-1,2 ,-2,2 ,3,3 ,2,3 ,1,3 ,0,3 ,-1,3 ,-2,3 ,2,4 ,1,4 ,0,4 ,-1,4 ,1,5 ,0,0 },
{ -1,0 ,1,0 ,-2,1 ,-1,1 ,0,1 ,1,1 ,2,1 ,-3,2 ,-2,2 ,-1,2 ,0,2 ,1,2 ,2,2 ,3,2 ,-2,3 ,-1,3 ,0,3 ,1,3 ,2,3 ,-1,4 ,0,4 ,1,4 ,0,5 ,0,0 ,0,0 },
{ -1,0 ,1,0 ,-3,1 ,-2,1 ,-1,1 ,0,1 ,1,1 ,-3,2 ,-2,2 ,-1,2 ,0,2 ,1,2 ,2,2 ,-3,3 ,-2,3 ,-1,3 ,0,3 ,1,3 ,2,3 ,-2,4 ,-1,4 ,0,4 ,1,4 ,-1,5 ,0,0 },
{ -2,0 ,-1,0 ,1,0 ,-3,1 ,-2,1 ,-1,1 ,0,1 ,1,1 ,-3,2 ,-2,2 ,-1,2 ,0,2 ,1,2 ,-3,3 ,-2,3 ,-1,3 ,0,3 ,1,3 ,2,3 ,-2,4 ,-1,4 ,0,4 ,1,4 ,0,0 ,0,0 },
{ -3,0 ,-2,0 ,-1,0 ,-4,1 ,-3,1 ,-2,1 ,-1,1 ,0,1 ,1,1 ,-4,2 ,-3,2 ,-2,2 ,-1,2 ,0,2 ,1,2 ,-3,3 ,-2,3 ,-1,3 ,0,3 ,1,3 ,-2,4 ,-1,4 ,0,4 ,0,0 ,0,0 },
{ -3,0 ,-2,0 ,-1,0 ,-4,1 ,-3,1 ,-2,1 ,-1,1 ,0,1 ,1,1 ,-4,2 ,-3,2 ,-2,2 ,-1,2 ,0,2 ,1,2 ,-3,3 ,-2,3 ,-1,3 ,0,3 ,1,3 ,-3,4 ,-2,4 ,-1,4 ,0,4 ,0,0 },
{ 0,3 ,0,2 ,0,1 ,-1,4 ,-1,3 ,-1,2 ,-1,1 ,-1,0 ,-1,-1 ,-2,4 ,-2,3 ,-2,2 ,-2,1 ,-2,0 ,-2,-1 ,-3,3 ,-3,2 ,-3,1 ,-3,0 ,-3,-1 ,-4,3 ,-4,2 ,-4,1 ,-4,0 ,0,0 },
{ 0,3 ,0,2 ,0,1 ,-1,4 ,-1,3 ,-1,2 ,-1,1 ,-1,0 ,-1,-1 ,-2,4 ,-2,3 ,-2,2 ,-2,1 ,-2,0 ,-2,-1 ,-3,3 ,-3,2 ,-3,1 ,-3,0 ,-3,-1 ,-4,2 ,-4,1 ,-4,0 ,0,0 ,0,0 },
{ 0,2 ,0,1 ,0,-1 ,-1,3 ,-1,2 ,-1,1 ,-1,0 ,-1,-1 ,-2,3 ,-2,2 ,-2,1 ,-2,0 ,-2,-1 ,-3,3 ,-3,2 ,-3,1 ,-3,0 ,-3,-1 ,-3,-2 ,-4,2 ,-4,1 ,-4,0 ,-4,-1 ,0,0 ,0,0 },
{ 0,1 ,0,-1 ,-1,3 ,-1,2 ,-1,1 ,-1,0 ,-1,-1 ,-2,3 ,-2,2 ,-2,1 ,-2,0 ,-2,-1 ,-2,-2 ,-3,3 ,-3,2 ,-3,1 ,-3,0 ,-3,-1 ,-3,-2 ,-4,2 ,-4,1 ,-4,0 ,-4,-1 ,-5,1 ,0,0 },
{ 0,-1 ,0,1 ,-1,-2 ,-1,-1 ,-1,0 ,-1,1 ,-1,2 ,-2,-3 ,-2,-2 ,-2,-1 ,-2,0 ,-2,1 ,-2,2 ,-2,3 ,-3,-2 ,-3,-1 ,-3,0 ,-3,1 ,-3,2 ,-4,-1 ,-4,0 ,-4,1 ,-5,0 ,0,0 ,0,0 },
{ 0,-1 ,0,1 ,-1,-3 ,-1,-2 ,-1,-1 ,-1,0 ,-1,1 ,-2,-3 ,-2,-2 ,-2,-1 ,-2,0 ,-2,1 ,-2,2 ,-3,-3 ,-3,-2 ,-3,-1 ,-3,0 ,-3,1 ,-3,2 ,-4,-2 ,-4,-1 ,-4,0 ,-4,1 ,-5,-1 ,0,0 },
{ 0,-2 ,0,-1 ,0,1 ,-1,-3 ,-1,-2 ,-1,-1 ,-1,0 ,-1,1 ,-2,-3 ,-2,-2 ,-2,-1 ,-2,0 ,-2,1 ,-3,-3 ,-3,-2 ,-3,-1 ,-3,0 ,-3,1 ,-3,2 ,-4,-2 ,-4,-1 ,-4,0 ,-4,1 ,0,0 ,0,0 },
{ 0,-3 ,0,-2 ,0,-1 ,-1,-4 ,-1,-3 ,-1,-2 ,-1,-1 ,-1,0 ,-1,1 ,-2,-4 ,-2,-3 ,-2,-2 ,-2,-1 ,-2,0 ,-2,1 ,-3,-3 ,-3,-2 ,-3,-1 ,-3,0 ,-3,1 ,-4,-2 ,-4,-1 ,-4,0 ,0,0 ,0,0 },
{ 0,-3 ,0,-2 ,0,-1 ,-1,-4 ,-1,-3 ,-1,-2 ,-1,-1 ,-1,0 ,-1,1 ,-2,-4 ,-2,-3 ,-2,-2 ,-2,-1 ,-2,0 ,-2,1 ,-3,-3 ,-3,-2 ,-3,-1 ,-3,0 ,-3,1 ,-4,-3 ,-4,-2 ,-4,-1 ,-4,0 ,0,0 },
{ -3,0 ,-2,0 ,-1,0 ,-4,-1 ,-3,-1 ,-2,-1 ,-1,-1 ,0,-1 ,1,-1 ,-4,-2 ,-3,-2 ,-2,-2 ,-1,-2 ,0,-2 ,1,-2 ,-3,-3 ,-2,-3 ,-1,-3 ,0,-3 ,1,-3 ,-3,-4 ,-2,-4 ,-1,-4 ,0,-4 ,0,0 },
{ -3,0 ,-2,0 ,-1,0 ,-4,-1 ,-3,-1 ,-2,-1 ,-1,-1 ,0,-1 ,1,-1 ,-4,-2 ,-3,-2 ,-2,-2 ,-1,-2 ,0,-2 ,1,-2 ,-3,-3 ,-2,-3 ,-1,-3 ,0,-3 ,1,-3 ,-2,-4 ,-1,-4 ,0,-4 ,0,0 ,0,0 },
{ -2,0 ,-1,0 ,1,0 ,-3,-1 ,-2,-1 ,-1,-1 ,0,-1 ,1,-1 ,-3,-2 ,-2,-2 ,-1,-2 ,0,-2 ,1,-2 ,-3,-3 ,-2,-3 ,-1,-3 ,0,-3 ,1,-3 ,2,-3 ,-2,-4 ,-1,-4 ,0,-4 ,1,-4 ,0,0 ,0,0 },
{ -1,0 ,1,0 ,-3,-1 ,-2,-1 ,-1,-1 ,0,-1 ,1,-1 ,-3,-2 ,-2,-2 ,-1,-2 ,0,-2 ,1,-2 ,2,-2 ,-3,-3 ,-2,-3 ,-1,-3 ,0,-3 ,1,-3 ,2,-3 ,-2,-4 ,-1,-4 ,0,-4 ,1,-4 ,-1,-5 ,0,0 },
{ 1,0 ,-1,0 ,2,-1 ,1,-1 ,0,-1 ,-1,-1 ,-2,-1 ,3,-2 ,2,-2 ,1,-2 ,0,-2 ,-1,-2 ,-2,-2 ,-3,-2 ,2,-3 ,1,-3 ,0,-3 ,-1,-3 ,-2,-3 ,1,-4 ,0,-4 ,-1,-4 ,0,-5 ,0,0 ,0,0 },
{ 1,0 ,-1,0 ,3,-1 ,2,-1 ,1,-1 ,0,-1 ,-1,-1 ,3,-2 ,2,-2 ,1,-2 ,0,-2 ,-1,-2 ,-2,-2 ,3,-3 ,2,-3 ,1,-3 ,0,-3 ,-1,-3 ,-2,-3 ,2,-4 ,1,-4 ,0,-4 ,-1,-4 ,1,-5 ,0,0 },
{ 2,0 ,1,0 ,-1,0 ,3,-1 ,2,-1 ,1,-1 ,0,-1 ,-1,-1 ,3,-2 ,2,-2 ,1,-2 ,0,-2 ,-1,-2 ,3,-3 ,2,-3 ,1,-3 ,0,-3 ,-1,-3 ,-2,-3 ,2,-4 ,1,-4 ,0,-4 ,-1,-4 ,0,0 ,0,0 },
{ 3,0 ,2,0 ,1,0 ,4,-1 ,3,-1 ,2,-1 ,1,-1 ,0,-1 ,-1,-1 ,4,-2 ,3,-2 ,2,-2 ,1,-2 ,0,-2 ,-1,-2 ,3,-3 ,2,-3 ,1,-3 ,0,-3 ,-1,-3 ,2,-4 ,1,-4 ,0,-4 ,0,0 ,0,0 },
{ 3,0 ,2,0 ,1,0 ,4,-1 ,3,-1 ,2,-1 ,1,-1 ,0,-1 ,-1,-1 ,4,-2 ,3,-2 ,2,-2 ,1,-2 ,0,-2 ,-1,-2 ,3,-3 ,2,-3 ,1,-3 ,0,-3 ,-1,-3 ,3,-4 ,2,-4 ,1,-4 ,0,-4 ,0,0 },
{ 0,-3 ,0,-2 ,0,-1 ,1,-4 ,1,-3 ,1,-2 ,1,-1 ,1,0 ,1,1 ,2,-4 ,2,-3 ,2,-2 ,2,-1 ,2,0 ,2,1 ,3,-3 ,3,-2 ,3,-1 ,3,0 ,3,1 ,4,-3 ,4,-2 ,4,-1 ,4,0 ,0,0 },
{ 0,-3 ,0,-2 ,0,-1 ,1,-4 ,1,-3 ,1,-2 ,1,-1 ,1,0 ,1,1 ,2,-4 ,2,-3 ,2,-2 ,2,-1 ,2,0 ,2,1 ,3,-3 ,3,-2 ,3,-1 ,3,0 ,3,1 ,4,-2 ,4,-1 ,4,0 ,0,0 ,0,0 },
{ 0,-2 ,0,-1 ,0,1 ,1,-3 ,1,-2 ,1,-1 ,1,0 ,1,1 ,2,-3 ,2,-2 ,2,-1 ,2,0 ,2,1 ,3,-3 ,3,-2 ,3,-1 ,3,0 ,3,1 ,3,2 ,4,-2 ,4,-1 ,4,0 ,4,1 ,0,0 ,0,0 },
{ 0,-1 ,0,1 ,1,-3 ,1,-2 ,1,-1 ,1,0 ,1,1 ,2,-3 ,2,-2 ,2,-1 ,2,0 ,2,1 ,2,2 ,3,-3 ,3,-2 ,3,-1 ,3,0 ,3,1 ,3,2 ,4,-2 ,4,-1 ,4,0 ,4,1 ,5,-1 ,0,0 }
};
int sin_table[] = {
0x0000,0xFFFE,0xFFFC,0xFFFA,0xFFF8,0xFFF5,0xFFF3,0xFFF1,0xFFEF,0xFFEC,
0xFFEA,0xFFE8,0xFFE6,0xFFE4,0xFFE2,0xFFDF,0xFFDD,0xFFDB,0xFFD9,0xFFD7,
0xFFD5,0xFFD3,0xFFD1,0xFFCE,0xFFCC,0xFFCA,0xFFC8,0xFFC6,0xFFC4,0xFFC2,
0xFFC1,0xFFBF,0xFFBD,0xFFBB,0xFFB9,0xFFB7,0xFFB5,0xFFB3,0xFFB2,0xFFB0,
0xFFAE,0xFFAD,0xFFAB,0xFFA9,0xFFA8,0xFFA6,0xFFA4,0xFFA3,0xFFA1,0xFFA0,
0xFF9E,0xFF9D,0xFF9C,0xFF9A,0xFF99,0xFF98,0xFF96,0xFF95,0xFF94,0xFF93,
0xFF92,0xFF91,0xFF8F,0xFF8E,0xFF8D,0xFF8C,0xFF8C,0xFF8B,0xFF8A,0xFF89,
0xFF88,0xFF87,0xFF87,0xFF86,0xFF85,0xFF85,0xFF84,0xFF84,0xFF83,0xFF83,
0xFF82,0xFF82,0xFF82,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,
0xFF80,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF82,0xFF82,
0xFF82,0xFF83,0xFF83,0xFF84,0xFF84,0xFF85,0xFF85,0xFF86,0xFF87,0xFF87,
0xFF88,0xFF89,0xFF8A,0xFF8B,0xFF8C,0xFF8C,0xFF8D,0xFF8E,0xFF8F,0xFF91,
0xFF92,0xFF93,0xFF94,0xFF95,0xFF96,0xFF98,0xFF99,0xFF9A,0xFF9C,0xFF9D,
0xFF9E,0xFFA0,0xFFA1,0xFFA3,0xFFA4,0xFFA6,0xFFA8,0xFFA9,0xFFAB,0xFFAD,
0xFFAE,0xFFB0,0xFFB2,0xFFB3,0xFFB5,0xFFB7,0xFFB9,0xFFBB,0xFFBD,0xFFBF,
0xFFC1,0xFFC2,0xFFC4,0xFFC6,0xFFC8,0xFFCA,0xFFCC,0xFFCE,0xFFD1,0xFFD3,
0xFFD5,0xFFD7,0xFFD9,0xFFDB,0xFFDD,0xFFDF,0xFFE2,0xFFE4,0xFFE6,0xFFE8,
0xFFEA,0xFFEC,0xFFEF,0xFFF1,0xFFF3,0xFFF5,0xFFF8,0xFFFA,0xFFFC,0xFFFE,
0x0000,0x0002,0x0004,0x0006,0x0008,0x000B,0x000D,0x000F,0x0011,0x0014,
0x0016,0x0018,0x001A,0x001C,0x001E,0x0021,0x0023,0x0025,0x0027,0x0029,
0x002B,0x002D,0x002F,0x0032,0x0034,0x0036,0x0038,0x003A,0x003C,0x003E,
0x003F,0x0041,0x0043,0x0045,0x0047,0x0049,0x004B,0x004D,0x004E,0x0050,
0x0052,0x0053,0x0055,0x0057,0x0058,0x005A,0x005C,0x005D,0x005F,0x0060,
0x0062,0x0063,0x0064,0x0066,0x0067,0x0068,0x006A,0x006B,0x006C,0x006D,
0x006E,0x006F,0x0071,0x0072,0x0073,0x0074,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x0079,0x007A,0x007B,0x007B,0x007C,0x007C,0x007D,0x007D,
0x007E,0x007E,0x007E,0x007F,0x007F,0x007F,0x007F,0x007F,0x007F,0x007F,
0x0080,0x007F,0x007F,0x007F,0x007F,0x007F,0x007F,0x007F,0x007E,0x007E,
0x007E,0x007D,0x007D,0x007C,0x007C,0x007B,0x007B,0x007A,0x0079,0x0079,
0x0078,0x0077,0x0076,0x0075,0x0074,0x0074,0x0073,0x0072,0x0071,0x006F,
0x006E,0x006D,0x006C,0x006B,0x006A,0x0068,0x0067,0x0066,0x0064,0x0063,
0x0062,0x0060,0x005F,0x005D,0x005C,0x005A,0x0058,0x0057,0x0055,0x0053,
0x0052,0x0050,0x004E,0x004D,0x004B,0x0049,0x0047,0x0045,0x0043,0x0041,
0x003F,0x003E,0x003C,0x003A,0x0038,0x0036,0x0034,0x0032,0x002F,0x002D,
0x002B,0x0029,0x0027,0x0025,0x0023,0x0021,0x001E,0x001C,0x001A,0x0018,
0x0016,0x0014,0x0011,0x000F,0x000D,0x000B,0x0008,0x0006,0x0004,0x0002,
0x0000,0xFFFE,0xFFFC,0xFFFA,0xFFF8,0xFFF5,0xFFF3,0xFFF1,0xFFEF,0xFFEC,
0xFFEA,0xFFE8,0xFFE6,0xFFE4,0xFFE2,0xFFDF,0xFFDD,0xFFDB,0xFFD9,0xFFD7,
0xFFD5,0xFFD3,0xFFD1,0xFFCE,0xFFCC,0xFFCA,0xFFC8,0xFFC6,0xFFC4,0xFFC2,
0xFFC1,0xFFBF,0xFFBD,0xFFBB,0xFFB9,0xFFB7,0xFFB5,0xFFB3,0xFFB2,0xFFB0,
0xFFAE,0xFFAD,0xFFAB,0xFFA9,0xFFA8,0xFFA6,0xFFA4,0xFFA3,0xFFA1,0xFFA0,
0xFF9E,0xFF9D,0xFF9C,0xFF9A,0xFF99,0xFF98,0xFF96,0xFF95,0xFF94,0xFF93,
0xFF92,0xFF91,0xFF8F,0xFF8E,0xFF8D,0xFF8C,0xFF8C,0xFF8B,0xFF8A,0xFF89,
0xFF88,0xFF87,0xFF87,0xFF86,0xFF85,0xFF85,0xFF84,0xFF84,0xFF83,0xFF83,
0xFF82,0xFF82,0xFF82,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,
0xFF80,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF81,0xFF82,0xFF82,
0xFF82,0xFF83,0xFF83,0xFF84,0xFF84,0xFF85,0xFF85,0xFF86,0xFF87,0xFF87,
0xFF88,0xFF89,0xFF8A,0xFF8B,0xFF8C,0xFF8C,0xFF8D,0xFF8E,0xFF8F,0xFF91,
0xFF92,0xFF93,0xFF94,0xFF95,0xFF96,0xFF98,0xFF99,0xFF9A,0xFF9C,0xFF9D,
0xFF9E,0xFFA0,0xFFA1,0xFFA3,0xFFA4,0xFFA6,0xFFA8,0xFFA9,0xFFAB,0xFFAD,
0xFFAE,0xFFB0,0xFFB2,0xFFB3,0xFFB5,0xFFB7,0xFFB9,0xFFBB,0xFFBD,0xFFBF,
0xFFC0,0xFFC2,0xFFC4,0xFFC6,0xFFC8,0xFFCA,0xFFCC,0xFFCE,0xFFD1,0xFFD3,
0xFFD5,0xFFD7,0xFFD9,0xFFDB,0xFFDD,0xFFDF,0xFFE2,0xFFE4,0xFFE6,0xFFE8,
0xFFEA,0xFFEC,0xFFEF,0xFFF1,0xFFF3,0xFFF5,0xFFF8,0xFFFA,0xFFFC,0xFFFE,
0x0000,0x0002,0x0004,0x0006,0x0008,0x000B,0x000D,0x000F,0x0011,0x0014,
0x0016,0x0018,0x001A,0x001C,0x001E,0x0021,0x0023,0x0025,0x0027,0x0029,
0x002B,0x002D,0x002F,0x0032,0x0034,0x0036,0x0038,0x003A,0x003C,0x003E,
0x0040,0x0041,0x0043,0x0045,0x0047,0x0049,0x004B,0x004D,0x004E,0x0050,
0x0052,0x0053,0x0055,0x0057,0x0058,0x005A,0x005C,0x005D,0x005F,0x0060,
0x0062,0x0063,0x0064,0x0066,0x0067,0x0068,0x006A,0x006B,0x006C,0x006D,
0x006E,0x006F,0x0071,0x0072,0x0073,0x0074,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x0079,0x007A,0x007B,0x007B,0x007C,0x007C,0x007D,0x007D,
0x007E,0x007E,0x007E,0x007F,0x007F,0x007F,0x007F,0x007F,0x007F,0x007F,
0x0080,0x007F,0x007F,0x007F,0x007F,0x007F,0x007F,0x007F,0x007E,0x007E,
0x007E,0x007D,0x007D,0x007C,0x007C,0x007B,0x007B,0x007A,0x0079,0x0079,
0x0078,0x0077,0x0076,0x0075,0x0074,0x0074,0x0073,0x0072,0x0071,0x006F,
0x006E,0x006D,0x006C,0x006B,0x006A,0x0068,0x0067,0x0066,0x0064,0x0063,
0x0062,0x0060,0x005F,0x005D,0x005C,0x005A,0x0058,0x0057,0x0055,0x0053,
0x0052,0x0050,0x004E,0x004D,0x004B,0x0049,0x0047,0x0045,0x0043,0x0041,
0x003F,0x003E,0x003C,0x003A,0x0038,0x0036,0x0034,0x0032,0x002F,0x002D,
0x002B,0x0029,0x0027,0x0025,0x0023,0x0021,0x001E,0x001C,0x001A,0x0018,
0x0016,0x0014,0x0011,0x000F,0x000D,0x000B,0x0008,0x0006,0x0004,0x0002,
0x0000 };