1 #define costScale 1024
2 int cost[] = {
3 1024,
4 1023,
5 1023,
6 1022,
7 1021,
8 1020,
9 1018,
10 1016,
11 1014,
12 1011,
13 1008,
14 1005,
15 1001,
16 997,
17 993,
18 989,
19 984,
20 979,
21 973,
22 968,
23 962,
24 955,
25 949,
26 942,
27 935,
28 928,
29 920,
30 912,
31 904,
32 895,
33 886,
34 877,
35 868,
36 858,
37 848,
38 838,
39 828,
40 817,
41 806,
42 795,
43 784,
44 772,
45 760,
46 748,
47 736,
48 724,
49 711,
50 698,
51 685,
52 671,
53 658,
54 644,
55 630,
56 616,
57 601,
58 587,
59 572,
60 557,
61 542,
62 527,
63 512,
64 496,
65 480,
66 464,
67 448,
68 432,
69 416,
70 400,
71 383,
72 366,
73 350,
74 333,
75 316,
76 299,
77 282,
78 265,
79 247,
80 230,
81 212,
82 195,
83 177,
84 160,
85 142,
86 124,
87 107,
88 89,
89 71,
90 53,
91 35,
92 17,
93 0,
94 -17,
95 -35,
96 -53,
97 -71,
98 -89,
99 -107,
100 -124,
101 -142,
102 -160,
103 -177,
104 -195,
105 -212,
106 -230,
107 -247,
108 -265,
109 -282,
110 -299,
111 -316,
112 -333,
113 -350,
114 -366,
115 -383,
116 -400,
117 -416,
118 -432,
119 -448,
120 -464,
121 -480,
122 -496,
123 -512,
124 -527,
125 -542,
126 -557,
127 -572,
128 -587,
129 -601,
130 -616,
131 -630,
132 -644,
133 -658,
134 -671,
135 -685,
136 -698,
137 -711,
138 -724,
139 -736,
140 -748,
141 -760,
142 -772,
143 -784,
144 -795,
145 -806,
146 -817,
147 -828,
148 -838,
149 -848,
150 -858,
151 -868,
152 -877,
153 -886,
154 -895,
155 -904,
156 -912,
157 -920,
158 -928,
159 -935,
160 -942,
161 -949,
162 -955,
163 -962,
164 -968,
165 -973,
166 -979,
167 -984,
168 -989,
169 -993,
170 -997,
171 -1001,
172 -1005,
173 -1008,
174 -1011,
175 -1014,
176 -1016,
177 -1018,
178 -1020,
179 -1021,
180 -1022,
181 -1023,
182 -1023,
183 -1024,
184 -1023,
185 -1023,
186 -1022,
187 -1021,
188 -1020,
189 -1018,
190 -1016,
191 -1014,
192 -1011,
193 -1008,
194 -1005,
195 -1001,
196 -997,
197 -993,
198 -989,
199 -984,
200 -979,
201 -973,
202 -968,
203 -962,
204 -955,
205 -949,
206 -942,
207 -935,
208 -928,
209 -920,
210 -912,
211 -904,
212 -895,
213 -886,
214 -877,
215 -868,
216 -858,
217 -848,
218 -838,
219 -828,
220 -817,
221 -806,
222 -795,
223 -784,
224 -772,
225 -760,
226 -748,
227 -736,
228 -724,
229 -711,
230 -698,
231 -685,
232 -671,
233 -658,
234 -644,
235 -630,
236 -616,
237 -601,
238 -587,
239 -572,
240 -557,
241 -542,
242 -527,
243 -512,
244 -496,
245 -480,
246 -464,
247 -448,
248 -432,
249 -416,
250 -400,
251 -383,
252 -366,
253 -350,
254 -333,
255 -316,
256 -299,
257 -282,
258 -265,
259 -247,
260 -230,
261 -212,
262 -195,
263 -177,
264 -160,
265 -142,
266 -124,
267 -107,
268 -89,
269 -71,
270 -53,
271 -35,
272 -17,
273 0,
274 17,
275 35,
276 53,
277 71,
278 89,
279 107,
280 124,
281 142,
282 160,
283 177,
284 195,
285 212,
286 230,
287 247,
288 265,
289 282,
290 299,
291 316,
292 333,
293 350,
294 366,
295 383,
296 400,
297 416,
298 432,
299 448,
300 464,
301 480,
302 496,
303 512,
304 527,
305 542,
306 557,
307 572,
308 587,
309 601,
310 616,
311 630,
312 644,
313 658,
314 671,
315 685,
316 698,
317 711,
318 724,
319 736,
320 748,
321 760,
322 772,
323 784,
324 795,
325 806,
326 817,
327 828,
328 838,
329 848,
330 858,
331 868,
332 877,
333 886,
334 895,
335 904,
336 912,
337 920,
338 928,
339 935,
340 942,
341 949,
342 955,
343 962,
344 968,
345 973,
346 979,
347 984,
348 989,
349 993,
350 997,
351 1001,
352 1005,
353 1008,
354 1011,
355 1014,
356 1016,
357 1018,
358 1020,
359 1021,
360 1022,
361 1023,
362 1023
363 };
364 #define sintScale 1024
365 int sint[] = {
366 0,
367 17,
368 35,
369 53,
370 71,
371 89,
372 107,
373 124,
374 142,
375 160,
376 177,
377 195,
378 212,
379 230,
380 247,
381 265,
382 282,
383 299,
384 316,
385 333,
386 350,
387 366,
388 383,
389 400,
390 416,
391 432,
392 448,
393 464,
394 480,
395 496,
396 512,
397 527,
398 542,
399 557,
400 572,
401 587,
402 601,
403 616,
404 630,
405 644,
406 658,
407 671,
408 685,
409 698,
410 711,
411 724,
412 736,
413 748,
414 760,
415 772,
416 784,
417 795,
418 806,
419 817,
420 828,
421 838,
422 848,
423 858,
424 868,
425 877,
426 886,
427 895,
428 904,
429 912,
430 920,
431 928,
432 935,
433 942,
434 949,
435 955,
436 962,
437 968,
438 973,
439 979,
440 984,
441 989,
442 993,
443 997,
444 1001,
445 1005,
446 1008,
447 1011,
448 1014,
449 1016,
450 1018,
451 1020,
452 1021,
453 1022,
454 1023,
455 1023,
456 1024,
457 1023,
458 1023,
459 1022,
460 1021,
461 1020,
462 1018,
463 1016,
464 1014,
465 1011,
466 1008,
467 1005,
468 1001,
469 997,
470 993,
471 989,
472 984,
473 979,
474 973,
475 968,
476 962,
477 955,
478 949,
479 942,
480 935,
481 928,
482 920,
483 912,
484 904,
485 895,
486 886,
487 877,
488 868,
489 858,
490 848,
491 838,
492 828,
493 817,
494 806,
495 795,
496 784,
497 772,
498 760,
499 748,
500 736,
501 724,
502 711,
503 698,
504 685,
505 671,
506 658,
507 644,
508 630,
509 616,
510 601,
511 587,
512 572,
513 557,
514 542,
515 527,
516 512,
517 496,
518 480,
519 464,
520 448,
521 432,
522 416,
523 400,
524 383,
525 366,
526 350,
527 333,
528 316,
529 299,
530 282,
531 265,
532 247,
533 230,
534 212,
535 195,
536 177,
537 160,
538 142,
539 124,
540 107,
541 89,
542 71,
543 53,
544 35,
545 17,
546 0,
547 -17,
548 -35,
549 -53,
550 -71,
551 -89,
552 -107,
553 -124,
554 -142,
555 -160,
556 -177,
557 -195,
558 -212,
559 -230,
560 -247,
561 -265,
562 -282,
563 -299,
564 -316,
565 -333,
566 -350,
567 -366,
568 -383,
569 -400,
570 -416,
571 -432,
572 -448,
573 -464,
574 -480,
575 -496,
576 -512,
577 -527,
578 -542,
579 -557,
580 -572,
581 -587,
582 -601,
583 -616,
584 -630,
585 -644,
586 -658,
587 -671,
588 -685,
589 -698,
590 -711,
591 -724,
592 -736,
593 -748,
594 -760,
595 -772,
596 -784,
597 -795,
598 -806,
599 -817,
600 -828,
601 -838,
602 -848,
603 -858,
604 -868,
605 -877,
606 -886,
607 -895,
608 -904,
609 -912,
610 -920,
611 -928,
612 -935,
613 -942,
614 -949,
615 -955,
616 -962,
617 -968,
618 -973,
619 -979,
620 -984,
621 -989,
622 -993,
623 -997,
624 -1001,
625 -1005,
626 -1008,
627 -1011,
628 -1014,
629 -1016,
630 -1018,
631 -1020,
632 -1021,
633 -1022,
634 -1023,
635 -1023,
636 -1024,
637 -1023,
638 -1023,
639 -1022,
640 -1021,
641 -1020,
642 -1018,
643 -1016,
644 -1014,
645 -1011,
646 -1008,
647 -1005,
648 -1001,
649 -997,
650 -993,
651 -989,
652 -984,
653 -979,
654 -973,
655 -968,
656 -962,
657 -955,
658 -949,
659 -942,
660 -935,
661 -928,
662 -920,
663 -912,
664 -904,
665 -895,
666 -886,
667 -877,
668 -868,
669 -858,
670 -848,
671 -838,
672 -828,
673 -817,
674 -806,
675 -795,
676 -784,
677 -772,
678 -760,
679 -748,
680 -736,
681 -724,
682 -711,
683 -698,
684 -685,
685 -671,
686 -658,
687 -644,
688 -630,
689 -616,
690 -601,
691 -587,
692 -572,
693 -557,
694 -542,
695 -527,
696 -512,
697 -496,
698 -480,
699 -464,
700 -448,
701 -432,
702 -416,
703 -400,
704 -383,
705 -366,
706 -350,
707 -333,
708 -316,
709 -299,
710 -282,
711 -265,
712 -247,
713 -230,
714 -212,
715 -195,
716 -177,
717 -160,
718 -142,
719 -124,
720 -107,
721 -89,
722 -71,
723 -53,
724 -35,
725 -17
726 };