source: trunk/third/xscreensaver/hacks/hyperball.c @ 15683

Revision 15683, 61.5 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r15682, which included commits to RCS files with non-trunk default branches.
Line 
1/* xscreensaver, Copyright (c) 1992, 1995, 1996, 1998, 2000
2 *  Jamie Zawinski <jwz@jwz.org>
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation.  No representations are made about the suitability of this
9 * software for any purpose.  It is provided "as is" without express or
10 * implied warranty.
11 *
12 * This code derived from TI Explorer Lisp code by Joe Keane, Fritz Mueller,
13 * and Jamie Zawinski.
14 */
15
16#include <math.h>
17#include "screenhack.h"
18
19#define POINT_COUNT 600
20#define LINE_COUNT 1200
21
22#define ANGLE_SCALE 0.001
23
24struct point_info
25{
26  float pg_a;
27  float pg_b;
28  float pg_c;
29  float pg_d;
30};
31
32struct line_info
33{
34  short li_ip;
35  short li_iq;
36  char li_color;
37  char li_pad[3];
38};
39
40struct point_state
41{
42  short old_x, old_y;
43  short new_x, new_y;
44  unsigned char old_dep, new_dep;
45};
46
47struct hyper_state
48{
49  char hs_stop;
50  char hs_resize;
51  char hs_redraw;
52  char hs_icon;
53  Display *hs_display;
54  Window hs_window;
55  float hs_observer_z;
56  float hs_unit_scale;
57  float hs_offset_x;
58  float hs_offset_y;
59  int hs_delay;
60  double hs_angle_xy;
61  double hs_angle_xz;
62  double hs_angle_yz;
63  double hs_angle_xw;
64  double hs_angle_yw;
65  double hs_angle_zw;
66  double hs_cos_xy, hs_sin_xy;
67  double hs_cos_xz, hs_sin_xz;
68  double hs_cos_yz, hs_sin_yz;
69  double hs_cos_xw, hs_sin_xw;
70  double hs_cos_yw, hs_sin_yw;
71  double hs_cos_zw, hs_sin_zw;
72  double hs_ref_ax, hs_ref_ay, hs_ref_az, hs_ref_aw;
73  double hs_ref_bx, hs_ref_by, hs_ref_bz, hs_ref_bw;
74  double hs_ref_cx, hs_ref_cy, hs_ref_cz, hs_ref_cw;
75  double hs_ref_dx, hs_ref_dy, hs_ref_dz, hs_ref_dw;
76  GC hs_color_gcs[8][8];
77  char hs_moved[POINT_COUNT];
78  struct point_state hs_points[POINT_COUNT];
79};
80
81static const struct point_info point_table[POINT_COUNT];
82static const struct line_info line_table[LINE_COUNT];
83
84static struct hyper_state hyper_state;
85
86static void init (struct hyper_state *hs);
87static void hyper (struct hyper_state *hs);
88static void check_events (struct hyper_state *hs);
89static void set_sizes (struct hyper_state *hs, int width, int height);
90
91
92char *progclass = "Hyperball";
93
94char *defaults[] =
95{
96  "*observer-z: 3",
97  "*delay: 20000",
98  "*xy: 3",
99  "*xz: 5",
100  "*yw: 10",
101  "*yz: 0",
102  "*xw: 0",
103  "*zw: 0",
104  ".background: black",
105  ".foreground: white",
106  "*color00:#FF66BE",
107  "*color10:#FFA300",
108  "*color20:#BEDC00",
109  "*color30:#12FB00",
110  "*color40:#00F9BE",
111  "*color50:#12D5FF",
112  "*color60:#BE9AFF",
113  "*color70:#FF5FFF",
114  "*color01:#FF5BAA",
115  "*color11:#F09200",
116  "*color21:#AAC500",
117  "*color31:#10E100",
118  "*color41:#00DFAA",
119  "*color51:#10BFFF",
120  "*color61:#AA8AFF",
121  "*color71:#F055FF",
122  "*color02:#EE529A",
123  "*color12:#D98400",
124  "*color22:#9AB200",
125  "*color32:#0ECB00",
126  "*color42:#00C99A",
127  "*color52:#0EADE7",
128  "*color62:#9A7DFF",
129  "*color72:#D94DE7",
130  "*color03:#DA4B8C",
131  "*color13:#C67900",
132  "*color23:#8CA300",
133  "*color33:#0DBA00",
134  "*color43:#00B88C",
135  "*color53:#0D9ED3",
136  "*color63:#8C72EA",
137  "*color73:#C646D3",
138  "*color04:#C84581",
139  "*color14:#B66F00",
140  "*color24:#819600",
141  "*color34:#0CAB00",
142  "*color44:#00A981",
143  "*color54:#0C91C2",
144  "*color64:#8169D7",
145  "*color74:#B641C2",
146  "*color05:#B94078",
147  "*color15:#A96700",
148  "*color25:#788B00",
149  "*color35:#0B9E00",
150  "*color45:#009D78",
151  "*color55:#0B86B3",
152  "*color65:#7861C7",
153  "*color75:#A93CB3",
154  "*color06:#AC3C6F",
155  "*color16:#9D6000",
156  "*color26:#6F8100",
157  "*color36:#0A9300",
158  "*color46:#00926F",
159  "*color56:#0A7DA7",
160  "*color66:#6F5AB9",
161  "*color76:#9D38A7",
162  "*color07:#A13868",
163  "*color17:#935900",
164  "*color27:#687900",
165  "*color37:#0A8A00",
166  "*color47:#008868",
167  "*color57:#0A759C",
168  "*color67:#6854AD",
169  "*color77:#93349C",
170  0,
171};
172
173XrmOptionDescRec options [] =
174{
175  { "-observer-z",      ".observer-z",  XrmoptionSepArg, 0 },
176  { "-delay",           ".delay",       XrmoptionSepArg, 0 },
177  { "-xw",              ".xw",          XrmoptionSepArg, 0 },
178  { "-xy",              ".xy",          XrmoptionSepArg, 0 },
179  { "-xz",              ".xz",          XrmoptionSepArg, 0 },
180  { "-yw",              ".yw",          XrmoptionSepArg, 0 },
181  { "-yz",              ".yz",          XrmoptionSepArg, 0 },
182  { "-zw",              ".zw",          XrmoptionSepArg, 0 },
183  { 0, 0, 0, 0 },
184};
185
186
187void
188screenhack (Display *d, Window w)
189{
190  struct hyper_state *hs;
191
192  hs = &hyper_state;
193  hs->hs_display = d;
194  hs->hs_window = w;
195
196  init (hs);
197
198  hyper (hs);
199}
200
201
202static void
203init (struct hyper_state *hs)
204{
205  Display *dpy;
206  Window win;
207  XGCValues gcv;
208  Colormap cmap;
209  /* double xy, xz, yz, xw, yw, zw; */
210  unsigned long bg_pixel;
211  float observer_z;
212  int delay;
213
214  dpy = hs->hs_display;
215  win = hs->hs_window;
216
217  observer_z = get_float_resource ("observer-z", "Float");
218  if (observer_z < 1.125)
219    observer_z = 1.125;
220  hs->hs_observer_z = observer_z;
221
222  {
223    int root;
224    XWindowAttributes wa;
225    int width;
226    int height;
227
228    root = get_boolean_resource("root", "Boolean");
229    XGetWindowAttributes (dpy, win, &wa);
230    XSelectInput(dpy, win, root ? ExposureMask :
231                 wa.your_event_mask | ExposureMask |
232                 ButtonPressMask | StructureNotifyMask);
233
234    width = wa.width;
235    height = wa.height;
236    cmap = wa.colormap;
237    set_sizes (hs, width, height);
238  }
239
240  hs->hs_angle_xy = get_float_resource ("xy", "Float") * ANGLE_SCALE;
241  hs->hs_angle_xz = get_float_resource ("xz", "Float") * ANGLE_SCALE;
242  hs->hs_angle_yz = get_float_resource ("yz", "Float") * ANGLE_SCALE;
243  hs->hs_angle_xw = get_float_resource ("xw", "Float") * ANGLE_SCALE;
244  hs->hs_angle_yw = get_float_resource ("yw", "Float") * ANGLE_SCALE;
245  hs->hs_angle_zw = get_float_resource ("zw", "Float") * ANGLE_SCALE;
246
247  delay = get_integer_resource ("delay", "Integer");
248  hs->hs_delay = delay;
249
250  bg_pixel = get_pixel_resource ("background", "Background", dpy, cmap);
251
252  if (mono_p)
253    {
254      GC black_gc;
255      unsigned long fg_pixel;
256      GC white_gc;
257
258      gcv.function = GXcopy;
259      gcv.foreground = bg_pixel;
260      black_gc = XCreateGC (dpy, win, GCForeground|GCFunction, &gcv);
261      fg_pixel = get_pixel_resource ("foreground", "Foreground", dpy, cmap);
262      gcv.foreground = fg_pixel;
263      white_gc = XCreateGC (dpy, win, GCForeground|GCFunction, &gcv);
264      hs->hs_color_gcs[0][0] = black_gc;
265      hs->hs_color_gcs[0][1] = white_gc;
266    }
267  else
268    {
269      int col;
270      int dep;
271
272      gcv.function = GXxor;
273      for (col = 0; col < 8; col++)
274        for (dep = 0; dep < 8; dep++)
275          {
276            char buffer[16];
277            unsigned long fg_pixel;
278            GC color_gc;
279
280            sprintf (buffer, "color%d%d", col, dep);
281            fg_pixel = get_pixel_resource (buffer, "Foreground", dpy, cmap);
282            gcv.foreground = fg_pixel ^ bg_pixel;
283            color_gc = XCreateGC (dpy, win, GCForeground|GCFunction, &gcv);
284            hs->hs_color_gcs[col][dep] = color_gc;
285          }
286    }
287
288  {
289  double xy;
290  double xz;
291  double yz;
292  double xw;
293  double yw;
294  double zw;
295#if 1
296  double cos_xy, sin_xy;
297  double cos_xz, sin_xz;
298  double cos_yz, sin_yz;
299  double cos_xw, sin_xw;
300  double cos_yw, sin_yw;
301  double cos_zw, sin_zw;
302#endif
303
304  hs->hs_ref_ax = 1.0, hs->hs_ref_ay = 0.0, hs->hs_ref_az = 0.0, hs->hs_ref_aw = 0.0;
305  hs->hs_ref_bx = 0.0, hs->hs_ref_by = 1.0, hs->hs_ref_bz = 0.0, hs->hs_ref_bw = 0.0;
306  hs->hs_ref_cx = 0.0, hs->hs_ref_cy = 0.0, hs->hs_ref_cz = 1.0, hs->hs_ref_cw = 0.0;
307  hs->hs_ref_dx = 0.0, hs->hs_ref_dy = 0.0, hs->hs_ref_dz = 0.0, hs->hs_ref_dw = 1.0;
308
309  xy = hs->hs_angle_xy;
310  xz = hs->hs_angle_xz;
311  yz = hs->hs_angle_yz;
312  xw = hs->hs_angle_xw;
313  yw = hs->hs_angle_yw;
314  zw = hs->hs_angle_zw;
315
316  cos_xy = cos (xy), sin_xy = sin (xy);
317  hs->hs_cos_xy = cos_xy, hs->hs_sin_xy = sin_xy;
318  cos_xz = cos (xz), sin_xz = sin (xz);
319  hs->hs_cos_xz = cos_xz, hs->hs_sin_xz = sin_xz;
320  cos_yz = cos (yz), sin_yz = sin (yz);
321  hs->hs_cos_yz = cos_yz, hs->hs_sin_yz = sin_yz;
322  cos_xw = cos (xw), sin_xw = sin (xw);
323  hs->hs_cos_xw = cos_xw, hs->hs_sin_xw = sin_xw;
324  cos_yw = cos (yw), sin_yw = sin (yw);
325  hs->hs_cos_yw = cos_yw, hs->hs_sin_yw = sin_yw;
326  cos_zw = cos (zw), sin_zw = sin (zw);
327  hs->hs_cos_zw = cos_zw, hs->hs_sin_zw = sin_zw;
328  }
329}
330
331
332static void
333hyper (struct hyper_state *hs)
334{
335  int roted;
336
337  roted = 0;
338
339  for (;;)
340    {
341      int icon;
342      int resize;
343      int redraw;
344      int stop;
345      int delay;
346
347      check_events (hs);
348
349      icon = hs->hs_icon;
350      resize = hs->hs_resize;
351      if (icon || !(roted | resize))
352        goto skip1;
353
354      {
355        int pc;
356        const struct point_info *point_ptr;
357        struct point_state *point_state;
358        float observer_z;
359        float unit_scale;
360        float offset_x;
361        float offset_y;
362        char *mark_ptr;
363
364        pc = POINT_COUNT;
365        point_ptr = &point_table[0];
366        point_state = &hs->hs_points[0];
367        mark_ptr = &hs->hs_moved[0];
368
369        while (--pc >= 0)
370          {
371            double pos_a;
372            double pos_b;
373            double pos_c;
374            double pos_d;
375            double az, bz, cz, dz;
376            double sum_z;
377            double ax, bx, cx, dx;
378            double sum_x;
379            double ay, by, cy, dy;
380            double sum_y;
381            double mul;
382            int old_x;
383            int old_y;
384            int old_dep;
385            double xf;
386            double yf;
387            int new_x;
388            int new_y;
389            int new_dep;
390            int mov;
391
392            pos_a = point_ptr->pg_a;
393            pos_b = point_ptr->pg_b;
394            pos_c = point_ptr->pg_c;
395            pos_d = point_ptr->pg_d;
396            point_ptr++;
397            az = hs->hs_ref_az; bz = hs->hs_ref_bz; cz = hs->hs_ref_cz; dz = hs->hs_ref_dz;
398            ax = hs->hs_ref_ax; bx = hs->hs_ref_bx; cx = hs->hs_ref_cx; dx = hs->hs_ref_dx;
399            ay = hs->hs_ref_ay; by = hs->hs_ref_by; cy = hs->hs_ref_cy; dy = hs->hs_ref_dy;
400            sum_z = pos_a * az + pos_b * bz + pos_c * cz + pos_d * dz;
401            observer_z = hs->hs_observer_z;
402            unit_scale = hs->hs_unit_scale;
403            sum_x = pos_a * ax + pos_b * bx + pos_c * cx + pos_d * dx;
404            sum_y = pos_a * ay + pos_b * by + pos_c * cy + pos_d * dy;
405            mul = unit_scale / (observer_z - sum_z);
406            offset_x = hs->hs_offset_x;
407            offset_y = hs->hs_offset_y;
408            old_x = point_state->new_x;
409            old_y = point_state->new_y;
410            old_dep = point_state->new_dep;
411            xf = sum_x * mul + offset_x;
412            yf = sum_y * mul + offset_y;
413            new_x = (int)rint(xf);
414            new_y = (int)rint(yf);
415            new_dep = (int)floor(sum_z * -128.0) + 128;
416            point_state->old_x = old_x;
417            point_state->old_y = old_y;
418            point_state->old_dep = old_dep;
419            point_state->new_x = new_x;
420            point_state->new_y = new_y;
421            point_state->new_dep = new_dep;
422            point_state++;
423            mov = new_x != old_x || new_y != old_y || new_dep != old_dep;
424            *mark_ptr = mov;
425            mark_ptr++;
426          }
427      }
428
429    skip1:
430      icon = hs->hs_icon;
431      redraw = hs->hs_redraw;
432      if (icon || !(roted | redraw))
433        goto skip2;
434
435      {
436        int lc;
437        const struct line_info *li_ptr;
438        int mono;
439        Display *dpy;
440        Window win;
441
442        lc = LINE_COUNT;
443        li_ptr = &line_table[0];
444        mono = mono_p;
445        dpy = hs->hs_display;
446        win = hs->hs_window;
447
448        while (--lc >= 0)
449          {
450            int ip;
451            int iq;
452            int col;
453            int mov_p;
454            int mov_q;
455            struct point_state *sp;
456            struct point_state *sq;
457            int p_x;
458            int p_y;
459            int q_x;
460            int q_y;
461            GC erase_gc;
462            GC draw_gc;
463            int old_sum;
464            int new_sum;
465            int old_dep;
466            int new_dep;
467
468            ip = li_ptr->li_ip;
469            iq = li_ptr->li_iq;
470            col = li_ptr->li_color;
471            li_ptr++;
472            mov_p = hs->hs_moved[ip];
473            mov_q = hs->hs_moved[iq];
474            if (!(redraw | mov_p | mov_q))
475              continue;
476
477            sp = &hs->hs_points[ip];
478            sq = &hs->hs_points[iq];
479
480            if (mono)
481              {
482                erase_gc = hs->hs_color_gcs[0][0];
483                draw_gc = hs->hs_color_gcs[0][1];
484              }
485            else
486              {
487                GC *row;
488
489                old_sum = sp->old_dep + sq->old_dep;
490                new_sum = sp->new_dep + sq->new_dep;
491                row = &hs->hs_color_gcs[col][0];
492                old_dep = old_sum >> 6;
493                new_dep = new_sum >> 6;
494                erase_gc = row[old_dep];
495                draw_gc = row[new_dep];
496              }
497
498            if (!redraw)
499              {
500                p_x = sp->old_x;
501                p_y = sp->old_y;
502                q_x = sq->old_x;
503                q_y = sq->old_y;
504                XDrawLine (dpy, win, erase_gc, p_x, p_y, q_x, q_y);
505              }
506
507            p_x = sp->new_x;
508            p_y = sp->new_y;
509            q_x = sq->new_x;
510            q_y = sq->new_y;
511            XDrawLine (dpy, win, draw_gc, p_x, p_y, q_x, q_y);
512          }
513
514        XFlush (dpy);
515      }
516
517    skip2:
518      stop = hs->hs_stop;
519      roted = 0;
520      if (stop)
521        goto skip3;
522
523      roted = 1;
524
525      {
526        double cos_a;
527        double sin_a;
528        double old_u;
529        double old_v;
530        double new_u;
531        double new_v;
532
533 /* If you get error messages about the following forms, and you think you're
534    using an ANSI C conforming compiler, then you're mistaken.  Possibly you're
535    mixing an ANSI compiler with a non-ANSI preprocessor, or vice versa.
536    Regardless, your system is broken; it's not a bug in this program.
537  */
538#if defined(__STDC__) || defined(__ANSI_CPP__)
539
540#define rotate(name,dim0,dim1) \
541  old_u = hs->hs_ref_##name##dim0; \
542  old_v = hs->hs_ref_##name##dim1; \
543  new_u = old_u * cos_a + old_v * sin_a; \
544  new_v = old_v * cos_a - old_u * sin_a; \
545  hs->hs_ref_##name##dim0 = new_u; \
546  hs->hs_ref_##name##dim1 = new_v;
547
548#define rotates(dim0,dim1) \
549  if (hs->hs_sin_##dim0##dim1 != 0) { \
550    cos_a = hs->hs_cos_##dim0##dim1; \
551    sin_a = hs->hs_sin_##dim0##dim1; \
552    rotate(a, dim0, dim1); \
553    rotate(b, dim0, dim1); \
554    rotate(c, dim0, dim1); \
555    rotate(d, dim0, dim1); \
556  }
557
558#else /* !__STDC__, courtesy of Andreas Luik <luik@isa.de> */
559
560#define rotate(name,dim0,dim1,cos,sin) \
561  old_u = hs->hs_ref_/**/name/**/dim0; \
562  old_v = hs->hs_ref_/**/name/**/dim1; \
563  new_u = old_u * cos_a + old_v * sin_a; \
564  new_v = old_v * cos_a - old_u * sin_a; \
565  hs->hs_ref_/**/name/**/dim0 = new_u; \
566  hs->hs_ref_/**/name/**/dim1 = new_v;
567
568#define rotates(dim0,dim1) \
569  if (hs->hs_sin_/**/dim0/**/dim1 != 0) { \
570    cos_a = hs->hs_cos_/**/dim0/**/dim1; \
571    sin_a = hs->hs_sin_/**/dim0/**/dim1; \
572    rotate(a, dim0, dim1); \
573    rotate(b, dim0, dim1); \
574    rotate(c, dim0, dim1); \
575    rotate(d, dim0, dim1); \
576  }
577
578#endif
579
580        rotates (x, y);
581        rotates (x, z);
582        rotates (y, z);
583        rotates (x, w);
584        rotates (y, w);
585        rotates (z, w);
586      }
587
588    skip3:
589      /* stop = hs->hs_stop; */
590      delay = hs->hs_delay;
591      if (stop && delay < 10000)
592        delay = 10000;
593      if (delay > 0)
594        usleep (delay);
595    }
596}
597
598
599static void
600check_events (struct hyper_state *hs)
601{
602  Display *dpy;
603  int count;
604  int ic;
605  int resize;
606  Window win;
607  int redraw;
608
609  dpy = hs->hs_display;
610  count = XEventsQueued (dpy, QueuedAfterReading);
611  ic = count;
612  hs->hs_resize = 0;
613  hs->hs_redraw = 0;
614
615  while (--ic >= 0)
616    {
617      XEvent    e;
618
619      XNextEvent (dpy, &e);
620
621      switch (e.type)
622        {
623        case Expose:
624          hs->hs_icon = 0;
625          hs->hs_redraw = 1;
626          break;
627
628        case ConfigureNotify:
629          hs->hs_icon = 0;
630          hs->hs_resize = 1;
631          hs->hs_redraw = 1;
632          break;
633
634        case ButtonPress:
635          switch (e.xbutton.button)
636            {
637            case 2:
638              hs->hs_stop = !hs->hs_stop;
639              break;
640            default:
641              break;
642            }
643          break;
644
645        case UnmapNotify:
646          hs->hs_icon = 1;
647          hs->hs_redraw = 0;
648          break;
649
650        default:
651          screenhack_handle_event(dpy, &e);
652          break;
653        }
654    }
655
656  resize = hs->hs_resize;
657  win = hs->hs_window;
658  if (resize)
659    {
660      XWindowAttributes wa;
661      int width;
662      int height;
663
664      XGetWindowAttributes (dpy, win, &wa);
665      width = wa.width;
666      height = wa.height;
667      set_sizes (hs, width, height);
668    }
669
670  redraw = hs->hs_redraw;
671  if (redraw)
672    XClearWindow (dpy, win);
673}
674
675
676static void
677set_sizes (struct hyper_state *hs, int width, int height)
678{
679  double observer_z;
680  int min_dim;
681  double var;
682  double offset_x;
683  double offset_y;
684  double unit_scale;
685
686  observer_z = hs->hs_observer_z;
687  min_dim = width < height ? width : height;
688  var = sqrt(observer_z * observer_z - 1.0);
689  offset_x = 0.5 * (width - 1);
690  offset_y = 0.5 * (height - 1);
691  unit_scale = 0.4 * min_dim * var;
692  hs->hs_offset_x = (float)offset_x;
693  hs->hs_offset_y = (float)offset_y;
694  hs->hs_unit_scale = (float)unit_scale;
695}
696
697
698/* data */
699
700static const struct point_info point_table[POINT_COUNT] =
701{
702    { 0.93, 0.30, 0.09, 0.03, },
703    { 0.84, 0.49, -0.08, 0.05, },
704    { 0.72, 0.65, 0.02, -0.09, },
705    { 0.57, 0.79, 0.05, 0.07, },
706    { 0.40, 0.89, -0.09, -0.01, },
707    { 0.20, 0.95, 0.07, -0.06, },
708    { 0.00, 0.97, 0.00, 0.09, },
709    { -0.20, 0.95, -0.07, -0.06, },
710    { -0.40, 0.89, 0.09, -0.01, },
711    { -0.57, 0.79, -0.05, 0.07, },
712    { -0.72, 0.65, -0.02, -0.09, },
713    { -0.84, 0.49, 0.08, 0.05, },
714    { -0.93, 0.30, -0.09, 0.03, },
715    { -0.97, 0.10, 0.04, -0.08, },
716    { -0.97, -0.10, 0.04, 0.08, },
717    { -0.93, -0.30, -0.09, -0.03, },
718    { -0.84, -0.49, 0.08, -0.05, },
719    { -0.72, -0.65, -0.02, 0.09, },
720    { -0.57, -0.79, -0.05, -0.07, },
721    { -0.40, -0.89, 0.09, 0.01, },
722    { -0.20, -0.95, -0.07, 0.06, },
723    { 0.00, -0.97, 0.00, -0.09, },
724    { 0.20, -0.95, 0.07, 0.06, },
725    { 0.40, -0.89, -0.09, 0.01, },
726    { 0.57, -0.79, 0.05, -0.07, },
727    { 0.72, -0.65, 0.02, 0.09, },
728    { 0.84, -0.49, -0.08, -0.05, },
729    { 0.93, -0.30, 0.09, -0.03, },
730    { 0.97, -0.10, -0.04, 0.08, },
731    { 0.97, 0.10, -0.04, -0.08, },
732    { 0.27, 0.83, -0.13, -0.41, },
733    { 0.09, 0.87, 0.40, 0.18, },
734    { -0.09, 0.87, -0.40, 0.18, },
735    { -0.27, 0.83, 0.13, -0.41, },
736    { -0.44, 0.76, 0.22, 0.38, },
737    { -0.59, 0.65, -0.42, -0.09, },
738    { -0.71, 0.51, 0.35, -0.25, },
739    { -0.80, 0.36, -0.05, 0.43, },
740    { -0.86, 0.18, -0.29, -0.32, },
741    { -0.88, 0.00, 0.43, 0.00, },
742    { -0.86, -0.18, -0.29, 0.32, },
743    { -0.80, -0.36, -0.05, -0.43, },
744    { -0.71, -0.51, 0.35, 0.25, },
745    { -0.59, -0.65, -0.42, 0.09, },
746    { -0.44, -0.76, 0.22, -0.38, },
747    { -0.27, -0.83, 0.13, 0.41, },
748    { -0.09, -0.87, -0.40, -0.18, },
749    { 0.09, -0.87, 0.40, -0.18, },
750    { 0.27, -0.83, -0.13, 0.41, },
751    { 0.44, -0.76, -0.22, -0.38, },
752    { 0.59, -0.65, 0.42, 0.09, },
753    { 0.71, -0.51, -0.35, 0.25, },
754    { 0.80, -0.36, 0.05, -0.43, },
755    { 0.86, -0.18, 0.29, 0.32, },
756    { 0.88, 0.00, -0.43, 0.00, },
757    { 0.86, 0.18, 0.29, -0.32, },
758    { 0.80, 0.36, 0.05, 0.43, },
759    { 0.71, 0.51, -0.35, -0.25, },
760    { 0.59, 0.65, 0.42, -0.09, },
761    { 0.44, 0.76, -0.22, 0.38, },
762    { -0.13, 0.41, -0.27, 0.83, },
763    { -0.22, 0.38, -0.44, -0.76, },
764    { -0.29, 0.32, 0.86, 0.18, },
765    { -0.35, 0.25, -0.71, 0.51, },
766    { -0.40, 0.18, 0.09, -0.87, },
767    { -0.42, 0.09, 0.59, 0.65, },
768    { -0.43, 0.00, -0.88, 0.00, },
769    { -0.42, -0.09, 0.59, -0.65, },
770    { -0.40, -0.18, 0.09, 0.87, },
771    { -0.35, -0.25, -0.71, -0.51, },
772    { -0.29, -0.32, 0.86, -0.18, },
773    { -0.22, -0.38, -0.44, 0.76, },
774    { -0.13, -0.41, -0.27, -0.83, },
775    { -0.05, -0.43, 0.80, 0.36, },
776    { 0.05, -0.43, -0.80, 0.36, },
777    { 0.13, -0.41, 0.27, -0.83, },
778    { 0.22, -0.38, 0.44, 0.76, },
779    { 0.29, -0.32, -0.86, -0.18, },
780    { 0.35, -0.25, 0.71, -0.51, },
781    { 0.40, -0.18, -0.09, 0.87, },
782    { 0.42, -0.09, -0.59, -0.65, },
783    { 0.43, 0.00, 0.88, 0.00, },
784    { 0.42, 0.09, -0.59, 0.65, },
785    { 0.40, 0.18, -0.09, -0.87, },
786    { 0.35, 0.25, 0.71, 0.51, },
787    { 0.29, 0.32, -0.86, 0.18, },
788    { 0.22, 0.38, 0.44, -0.76, },
789    { 0.13, 0.41, 0.27, 0.83, },
790    { 0.05, 0.43, -0.80, -0.36, },
791    { -0.05, 0.43, 0.80, -0.36, },
792    { 0.09, -0.03, -0.93, 0.30, },
793    { 0.09, -0.01, 0.40, -0.89, },
794    { 0.09, 0.01, 0.40, 0.89, },
795    { 0.09, 0.03, -0.93, -0.30, },
796    { 0.08, 0.05, 0.84, -0.49, },
797    { 0.07, 0.06, -0.20, 0.95, },
798    { 0.05, 0.07, -0.57, -0.79, },
799    { 0.04, 0.08, 0.97, 0.10, },
800    { 0.02, 0.09, -0.72, 0.65, },
801    { 0.00, 0.09, 0.00, -0.97, },
802    { -0.02, 0.09, 0.72, 0.65, },
803    { -0.04, 0.08, -0.97, 0.10, },
804    { -0.05, 0.07, 0.57, -0.79, },
805    { -0.07, 0.06, 0.20, 0.95, },
806    { -0.08, 0.05, -0.84, -0.49, },
807    { -0.09, 0.03, 0.93, -0.30, },
808    { -0.09, 0.01, -0.40, 0.89, },
809    { -0.09, -0.01, -0.40, -0.89, },
810    { -0.09, -0.03, 0.93, 0.30, },
811    { -0.08, -0.05, -0.84, 0.49, },
812    { -0.07, -0.06, 0.20, -0.95, },
813    { -0.05, -0.07, 0.57, 0.79, },
814    { -0.04, -0.08, -0.97, -0.10, },
815    { -0.02, -0.09, 0.72, -0.65, },
816    { 0.00, -0.09, 0.00, 0.97, },
817    { 0.02, -0.09, -0.72, -0.65, },
818    { 0.04, -0.08, 0.97, -0.10, },
819    { 0.05, -0.07, -0.57, 0.79, },
820    { 0.07, -0.06, -0.20, -0.95, },
821    { 0.08, -0.05, 0.84, 0.49, },
822    { 0.64, 0.67, -0.15, -0.28, },
823    { 0.49, 0.79, 0.30, 0.07, },
824    { 0.31, 0.87, -0.26, 0.18, },
825    { 0.13, 0.92, 0.04, -0.31, },
826    { -0.07, 0.92, 0.20, 0.24, },
827    { -0.26, 0.89, -0.31, -0.01, },
828    { -0.44, 0.82, 0.22, -0.23, },
829    { -0.60, 0.71, 0.02, 0.31, },
830    { -0.73, 0.57, -0.25, -0.19, },
831    { -0.83, 0.40, 0.31, -0.06, },
832    { -0.90, 0.22, -0.16, 0.27, },
833    { -0.93, 0.03, -0.09, -0.30, },
834    { -0.91, -0.16, 0.28, 0.14, },
835    { -0.86, -0.35, -0.29, 0.12, },
836    { -0.77, -0.52, 0.11, -0.29, },
837    { -0.64, -0.67, 0.15, 0.28, },
838    { -0.49, -0.79, -0.30, -0.07, },
839    { -0.31, -0.87, 0.26, -0.18, },
840    { -0.13, -0.92, -0.04, 0.31, },
841    { 0.07, -0.92, -0.20, -0.24, },
842    { 0.26, -0.89, 0.31, 0.01, },
843    { 0.44, -0.82, -0.22, 0.23, },
844    { 0.60, -0.71, -0.02, -0.31, },
845    { 0.73, -0.57, 0.25, 0.19, },
846    { 0.83, -0.40, -0.31, 0.06, },
847    { 0.90, -0.22, 0.16, -0.27, },
848    { 0.93, -0.03, 0.09, 0.30, },
849    { 0.91, 0.16, -0.28, -0.14, },
850    { 0.86, 0.35, 0.29, -0.12, },
851    { 0.77, 0.52, -0.11, 0.29, },
852    { 0.44, 0.82, -0.22, -0.23, },
853    { 0.26, 0.89, 0.31, -0.01, },
854    { 0.07, 0.92, -0.20, 0.24, },
855    { -0.12, 0.92, -0.04, -0.31, },
856    { -0.31, 0.87, 0.26, 0.18, },
857    { -0.49, 0.79, -0.30, 0.07, },
858    { -0.64, 0.67, 0.15, -0.28, },
859    { -0.77, 0.52, 0.11, 0.29, },
860    { -0.86, 0.35, -0.29, -0.12, },
861    { -0.91, 0.16, 0.28, -0.14, },
862    { -0.93, -0.03, -0.09, 0.30, },
863    { -0.90, -0.22, -0.16, -0.27, },
864    { -0.83, -0.40, 0.31, 0.06, },
865    { -0.73, -0.57, -0.25, 0.19, },
866    { -0.60, -0.71, 0.02, -0.31, },
867    { -0.44, -0.82, 0.22, 0.23, },
868    { -0.26, -0.89, -0.31, 0.01, },
869    { -0.07, -0.92, 0.20, -0.24, },
870    { 0.12, -0.92, 0.04, 0.31, },
871    { 0.31, -0.87, -0.26, -0.18, },
872    { 0.49, -0.79, 0.30, -0.07, },
873    { 0.64, -0.67, -0.15, 0.28, },
874    { 0.77, -0.52, -0.11, -0.29, },
875    { 0.86, -0.35, 0.29, 0.12, },
876    { 0.91, -0.16, -0.28, 0.14, },
877    { 0.93, 0.03, 0.09, -0.30, },
878    { 0.90, 0.22, 0.16, 0.27, },
879    { 0.83, 0.40, -0.31, -0.06, },
880    { 0.73, 0.57, 0.25, -0.19, },
881    { 0.60, 0.71, -0.02, 0.31, },
882    { -0.13, 0.83, -0.27, -0.41, },
883    { -0.30, 0.79, 0.49, 0.07, },
884    { -0.46, 0.71, -0.38, 0.31, },
885    { -0.60, 0.60, 0.02, -0.49, },
886    { -0.71, 0.46, 0.35, 0.35, },
887    { -0.79, 0.30, -0.49, 0.03, },
888    { -0.83, 0.13, 0.31, -0.38, },
889    { -0.84, -0.05, 0.08, 0.49, },
890    { -0.81, -0.22, -0.41, -0.27, },
891    { -0.75, -0.38, 0.48, -0.13, },
892    { -0.65, -0.53, -0.22, 0.44, },
893    { -0.53, -0.66, -0.18, -0.46, },
894    { -0.38, -0.75, 0.46, 0.17, },
895    { -0.22, -0.82, -0.44, 0.23, },
896    { -0.04, -0.84, 0.12, -0.48, },
897    { 0.13, -0.83, 0.27, 0.41, },
898    { 0.30, -0.79, -0.49, -0.07, },
899    { 0.46, -0.71, 0.38, -0.31, },
900    { 0.60, -0.60, -0.02, 0.49, },
901    { 0.71, -0.46, -0.35, -0.35, },
902    { 0.79, -0.30, 0.49, -0.03, },
903    { 0.83, -0.13, -0.31, 0.38, },
904    { 0.84, 0.05, -0.08, -0.49, },
905    { 0.81, 0.22, 0.41, 0.27, },
906    { 0.75, 0.38, -0.48, 0.13, },
907    { 0.65, 0.53, 0.22, -0.44, },
908    { 0.53, 0.66, 0.18, 0.46, },
909    { 0.38, 0.75, -0.46, -0.17, },
910    { 0.22, 0.82, 0.44, -0.23, },
911    { 0.04, 0.84, -0.12, 0.48, },
912    { -0.65, 0.53, -0.22, -0.44, },
913    { -0.75, 0.38, 0.48, 0.13, },
914    { -0.81, 0.22, -0.41, 0.27, },
915    { -0.84, 0.05, 0.08, -0.49, },
916    { -0.83, -0.13, 0.31, 0.38, },
917    { -0.79, -0.30, -0.49, -0.03, },
918    { -0.71, -0.46, 0.35, -0.35, },
919    { -0.60, -0.60, 0.02, 0.49, },
920    { -0.46, -0.71, -0.38, -0.31, },
921    { -0.30, -0.79, 0.49, -0.07, },
922    { -0.13, -0.83, -0.27, 0.41, },
923    { 0.04, -0.84, -0.13, -0.48, },
924    { 0.22, -0.82, 0.44, 0.23, },
925    { 0.38, -0.75, -0.46, 0.17, },
926    { 0.53, -0.66, 0.18, -0.46, },
927    { 0.65, -0.53, 0.22, 0.44, },
928    { 0.75, -0.38, -0.48, -0.13, },
929    { 0.81, -0.22, 0.41, -0.27, },
930    { 0.84, -0.05, -0.08, 0.49, },
931    { 0.83, 0.13, -0.31, -0.38, },
932    { 0.79, 0.30, 0.49, 0.03, },
933    { 0.71, 0.46, -0.35, 0.35, },
934    { 0.60, 0.60, -0.02, -0.49, },
935    { 0.46, 0.71, 0.38, 0.31, },
936    { 0.30, 0.79, -0.49, 0.07, },
937    { 0.13, 0.83, 0.27, -0.41, },
938    { -0.04, 0.84, 0.13, 0.48, },
939    { -0.22, 0.82, -0.44, -0.23, },
940    { -0.38, 0.75, 0.46, -0.17, },
941    { -0.53, 0.66, -0.18, 0.46, },
942    { 0.11, 0.78, -0.33, -0.47, },
943    { -0.05, 0.79, 0.57, 0.07, },
944    { -0.22, 0.76, -0.44, 0.38, },
945    { -0.37, 0.70, 0.01, -0.58, },
946    { -0.51, 0.60, 0.42, 0.40, },
947    { -0.62, 0.49, -0.57, 0.05, },
948    { -0.71, 0.35, 0.35, -0.46, },
949    { -0.77, 0.19, 0.11, 0.57, },
950    { -0.79, 0.03, -0.49, -0.30, },
951    { -0.78, -0.14, 0.55, -0.16, },
952    { -0.73, -0.29, -0.25, 0.52, },
953    { -0.65, -0.44, -0.22, -0.53, },
954    { -0.55, -0.57, 0.54, 0.19, },
955    { -0.42, -0.67, -0.51, 0.28, },
956    { -0.27, -0.74, 0.13, -0.56, },
957    { -0.11, -0.78, 0.33, 0.47, },
958    { 0.05, -0.79, -0.57, -0.07, },
959    { 0.22, -0.76, 0.44, -0.38, },
960    { 0.37, -0.70, -0.01, 0.58, },
961    { 0.51, -0.60, -0.42, -0.40, },
962    { 0.62, -0.49, 0.57, -0.05, },
963    { 0.71, -0.35, -0.35, 0.46, },
964    { 0.77, -0.19, -0.11, -0.57, },
965    { 0.79, -0.03, 0.49, 0.30, },
966    { 0.78, 0.14, -0.55, 0.16, },
967    { 0.73, 0.29, 0.25, -0.52, },
968    { 0.65, 0.44, 0.22, 0.53, },
969    { 0.55, 0.57, -0.54, -0.19, },
970    { 0.42, 0.67, 0.51, -0.28, },
971    { 0.27, 0.74, -0.13, 0.56, },
972    { -0.73, 0.29, -0.25, -0.52, },
973    { -0.78, 0.14, 0.55, 0.16, },
974    { -0.79, -0.03, -0.49, 0.30, },
975    { -0.77, -0.19, 0.11, -0.57, },
976    { -0.71, -0.35, 0.35, 0.46, },
977    { -0.62, -0.49, -0.57, -0.05, },
978    { -0.51, -0.60, 0.42, -0.40, },
979    { -0.37, -0.70, 0.01, 0.58, },
980    { -0.22, -0.76, -0.44, -0.38, },
981    { -0.05, -0.79, 0.57, -0.07, },
982    { 0.11, -0.78, -0.33, 0.47, },
983    { 0.27, -0.74, -0.13, -0.56, },
984    { 0.42, -0.67, 0.51, 0.28, },
985    { 0.55, -0.57, -0.54, 0.19, },
986    { 0.65, -0.44, 0.22, -0.53, },
987    { 0.73, -0.29, 0.25, 0.52, },
988    { 0.78, -0.14, -0.55, -0.16, },
989    { 0.79, 0.03, 0.49, -0.30, },
990    { 0.77, 0.19, -0.11, 0.57, },
991    { 0.71, 0.35, -0.35, -0.46, },
992    { 0.62, 0.49, 0.57, 0.05, },
993    { 0.51, 0.60, -0.42, 0.40, },
994    { 0.37, 0.70, -0.01, -0.58, },
995    { 0.22, 0.76, 0.44, 0.38, },
996    { 0.05, 0.79, -0.57, 0.07, },
997    { -0.11, 0.78, 0.33, -0.47, },
998    { -0.27, 0.74, 0.13, 0.56, },
999    { -0.42, 0.67, -0.51, -0.28, },
1000    { -0.55, 0.57, 0.54, -0.19, },
1001    { -0.65, 0.44, -0.22, 0.53, },
1002    { -0.28, 0.70, -0.24, -0.58, },
1003    { -0.42, 0.62, 0.59, 0.21, },
1004    { -0.54, 0.52, -0.55, 0.29, },
1005    { -0.64, 0.40, 0.15, -0.60, },
1006    { -0.71, 0.25, 0.35, 0.51, },
1007    { -0.75, 0.10, -0.62, -0.08, },
1008    { -0.75, -0.06, 0.48, -0.40, },
1009    { -0.72, -0.21, -0.02, 0.62, },
1010    { -0.66, -0.36, -0.45, -0.43, },
1011    { -0.57, -0.49, 0.62, -0.05, },
1012    { -0.46, -0.60, -0.38, 0.49, },
1013    { -0.33, -0.68, -0.11, -0.61, },
1014    { -0.18, -0.73, 0.53, 0.33, },
1015    { -0.02, -0.75, -0.60, 0.17, },
1016    { 0.13, -0.74, 0.27, -0.56, },
1017    { 0.28, -0.70, 0.24, 0.58, },
1018    { 0.42, -0.62, -0.59, -0.21, },
1019    { 0.54, -0.52, 0.55, -0.29, },
1020    { 0.64, -0.40, -0.15, 0.60, },
1021    { 0.71, -0.25, -0.35, -0.51, },
1022    { 0.75, -0.10, 0.62, 0.08, },
1023    { 0.75, 0.06, -0.48, 0.40, },
1024    { 0.72, 0.21, 0.02, -0.62, },
1025    { 0.66, 0.36, 0.45, 0.43, },
1026    { 0.57, 0.49, -0.62, 0.05, },
1027    { 0.46, 0.60, 0.38, -0.49, },
1028    { 0.33, 0.68, 0.11, 0.61, },
1029    { 0.18, 0.73, -0.53, -0.33, },
1030    { 0.02, 0.75, 0.60, -0.17, },
1031    { -0.13, 0.74, -0.27, 0.56, },
1032    { -0.46, 0.60, -0.38, -0.49, },
1033    { -0.57, 0.49, 0.62, 0.05, },
1034    { -0.66, 0.36, -0.45, 0.43, },
1035    { -0.72, 0.21, -0.02, -0.62, },
1036    { -0.75, 0.06, 0.48, 0.40, },
1037    { -0.75, -0.10, -0.62, 0.08, },
1038    { -0.71, -0.25, 0.35, -0.51, },
1039    { -0.64, -0.40, 0.15, 0.60, },
1040    { -0.54, -0.52, -0.55, -0.29, },
1041    { -0.42, -0.62, 0.59, -0.21, },
1042    { -0.28, -0.70, -0.24, 0.58, },
1043    { -0.13, -0.74, -0.27, -0.56, },
1044    { 0.02, -0.75, 0.60, 0.17, },
1045    { 0.18, -0.73, -0.53, 0.33, },
1046    { 0.33, -0.68, 0.11, -0.61, },
1047    { 0.46, -0.60, 0.38, 0.49, },
1048    { 0.57, -0.49, -0.62, -0.05, },
1049    { 0.66, -0.36, 0.45, -0.43, },
1050    { 0.72, -0.21, 0.02, 0.62, },
1051    { 0.75, -0.06, -0.48, -0.40, },
1052    { 0.75, 0.10, 0.62, -0.08, },
1053    { 0.71, 0.25, -0.35, 0.51, },
1054    { 0.64, 0.40, -0.15, -0.60, },
1055    { 0.54, 0.52, 0.55, 0.29, },
1056    { 0.42, 0.62, -0.59, 0.21, },
1057    { 0.28, 0.70, 0.24, -0.58, },
1058    { 0.13, 0.74, 0.27, 0.56, },
1059    { -0.02, 0.75, -0.60, -0.17, },
1060    { -0.18, 0.73, 0.53, -0.33, },
1061    { -0.33, 0.68, -0.11, 0.61, },
1062    { -0.24, 0.58, 0.28, 0.70, },
1063    { -0.35, 0.51, -0.71, -0.25, },
1064    { -0.45, 0.43, 0.66, -0.36, },
1065    { -0.53, 0.33, -0.18, 0.73, },
1066    { -0.59, 0.21, -0.42, -0.62, },
1067    { -0.62, 0.08, 0.75, 0.10, },
1068    { -0.62, -0.05, -0.57, 0.49, },
1069    { -0.60, -0.17, 0.02, -0.75, },
1070    { -0.55, -0.29, 0.54, 0.52, },
1071    { -0.48, -0.40, -0.75, 0.06, },
1072    { -0.38, -0.49, 0.46, -0.60, },
1073    { -0.27, -0.56, 0.13, 0.74, },
1074    { -0.15, -0.60, -0.64, -0.40, },
1075    { -0.02, -0.62, 0.72, -0.21, },
1076    { 0.11, -0.61, -0.33, 0.68, },
1077    { 0.24, -0.58, -0.29, -0.70, },
1078    { 0.35, -0.51, 0.71, 0.25, },
1079    { 0.45, -0.43, -0.66, 0.36, },
1080    { 0.53, -0.33, 0.18, -0.73, },
1081    { 0.59, -0.21, 0.42, 0.62, },
1082    { 0.62, -0.08, -0.75, -0.10, },
1083    { 0.62, 0.05, 0.57, -0.49, },
1084    { 0.60, 0.17, -0.02, 0.75, },
1085    { 0.55, 0.29, -0.54, -0.52, },
1086    { 0.48, 0.40, 0.75, -0.06, },
1087    { 0.38, 0.49, -0.46, 0.60, },
1088    { 0.27, 0.56, -0.13, -0.74, },
1089    { 0.15, 0.60, 0.64, 0.40, },
1090    { 0.02, 0.62, -0.72, 0.21, },
1091    { -0.11, 0.61, 0.33, -0.68, },
1092    { -0.38, 0.49, 0.46, 0.60, },
1093    { -0.48, 0.40, -0.75, -0.06, },
1094    { -0.55, 0.29, 0.54, -0.52, },
1095    { -0.60, 0.17, 0.02, 0.75, },
1096    { -0.62, 0.05, -0.57, -0.49, },
1097    { -0.62, -0.08, 0.75, -0.10, },
1098    { -0.59, -0.21, -0.42, 0.62, },
1099    { -0.53, -0.33, -0.18, -0.73, },
1100    { -0.45, -0.43, 0.66, 0.36, },
1101    { -0.35, -0.51, -0.71, 0.25, },
1102    { -0.24, -0.58, 0.28, -0.70, },
1103    { -0.11, -0.61, 0.33, 0.68, },
1104    { 0.02, -0.62, -0.72, -0.21, },
1105    { 0.15, -0.60, 0.64, -0.40, },
1106    { 0.27, -0.56, -0.13, 0.74, },
1107    { 0.38, -0.49, -0.46, -0.60, },
1108    { 0.48, -0.40, 0.75, 0.06, },
1109    { 0.55, -0.29, -0.54, 0.52, },
1110    { 0.60, -0.17, -0.02, -0.75, },
1111    { 0.62, -0.05, 0.57, 0.49, },
1112    { 0.62, 0.08, -0.75, 0.10, },
1113    { 0.59, 0.21, 0.42, -0.62, },
1114    { 0.53, 0.33, 0.18, 0.73, },
1115    { 0.45, 0.43, -0.66, -0.36, },
1116    { 0.35, 0.51, 0.71, -0.25, },
1117    { 0.24, 0.58, -0.28, 0.70, },
1118    { 0.11, 0.61, -0.33, -0.68, },
1119    { -0.02, 0.62, 0.72, 0.21, },
1120    { -0.15, 0.60, -0.64, 0.40, },
1121    { -0.27, 0.56, 0.13, -0.74, },
1122    { -0.33, 0.47, -0.11, 0.78, },
1123    { -0.42, 0.40, -0.51, -0.60, },
1124    { -0.49, 0.30, 0.79, 0.03, },
1125    { -0.54, 0.19, -0.55, 0.57, },
1126    { -0.57, 0.07, -0.05, -0.79, },
1127    { -0.57, -0.05, 0.62, 0.49, },
1128    { -0.55, -0.16, -0.78, 0.14, },
1129    { -0.51, -0.28, 0.42, -0.67, },
1130    { -0.44, -0.38, 0.22, 0.76, },
1131    { -0.35, -0.46, -0.71, -0.35, },
1132    { -0.25, -0.52, 0.73, -0.29, },
1133    { -0.13, -0.56, -0.27, 0.74, },
1134    { -0.01, -0.58, -0.37, -0.70, },
1135    { 0.11, -0.57, 0.77, 0.19, },
1136    { 0.22, -0.53, -0.65, 0.44, },
1137    { 0.33, -0.47, 0.11, -0.78, },
1138    { 0.42, -0.40, 0.51, 0.60, },
1139    { 0.49, -0.30, -0.79, -0.03, },
1140    { 0.54, -0.19, 0.55, -0.57, },
1141    { 0.57, -0.07, 0.05, 0.79, },
1142    { 0.57, 0.05, -0.62, -0.49, },
1143    { 0.55, 0.16, 0.78, -0.14, },
1144    { 0.51, 0.28, -0.42, 0.67, },
1145    { 0.44, 0.38, -0.22, -0.76, },
1146    { 0.35, 0.46, 0.71, 0.35, },
1147    { 0.25, 0.52, -0.73, 0.29, },
1148    { 0.13, 0.56, 0.27, -0.74, },
1149    { 0.01, 0.58, 0.37, 0.70, },
1150    { -0.11, 0.57, -0.77, -0.19, },
1151    { -0.22, 0.53, 0.65, -0.44, },
1152    { -0.25, 0.52, 0.73, 0.29, },
1153    { -0.35, 0.46, -0.71, 0.35, },
1154    { -0.44, 0.38, 0.22, -0.76, },
1155    { -0.51, 0.28, 0.42, 0.67, },
1156    { -0.55, 0.16, -0.78, -0.14, },
1157    { -0.57, 0.05, 0.62, -0.49, },
1158    { -0.57, -0.07, -0.05, 0.79, },
1159    { -0.54, -0.19, -0.55, -0.57, },
1160    { -0.49, -0.30, 0.79, -0.03, },
1161    { -0.42, -0.40, -0.51, 0.60, },
1162    { -0.33, -0.47, -0.11, -0.78, },
1163    { -0.22, -0.53, 0.65, 0.44, },
1164    { -0.11, -0.57, -0.77, 0.19, },
1165    { 0.01, -0.58, 0.37, -0.70, },
1166    { 0.13, -0.56, 0.27, 0.74, },
1167    { 0.25, -0.52, -0.73, -0.29, },
1168    { 0.35, -0.46, 0.71, -0.35, },
1169    { 0.44, -0.38, -0.22, 0.76, },
1170    { 0.51, -0.28, -0.42, -0.67, },
1171    { 0.55, -0.16, 0.78, 0.14, },
1172    { 0.57, -0.05, -0.62, 0.49, },
1173    { 0.57, 0.07, 0.05, -0.79, },
1174    { 0.54, 0.19, 0.55, 0.57, },
1175    { 0.49, 0.30, -0.79, 0.03, },
1176    { 0.42, 0.40, 0.51, -0.60, },
1177    { 0.33, 0.47, 0.11, 0.78, },
1178    { 0.22, 0.53, -0.65, -0.44, },
1179    { 0.11, 0.57, 0.77, -0.19, },
1180    { -0.01, 0.58, -0.37, 0.70, },
1181    { -0.13, 0.56, -0.27, -0.74, },
1182    { -0.27, 0.41, 0.13, 0.83, },
1183    { -0.35, 0.35, -0.71, -0.46, },
1184    { -0.41, 0.27, 0.81, -0.22, },
1185    { -0.46, 0.17, -0.38, 0.75, },
1186    { -0.49, 0.07, -0.30, -0.79, },
1187    { -0.49, -0.03, 0.79, 0.30, },
1188    { -0.48, -0.13, -0.75, 0.38, },
1189    { -0.44, -0.23, 0.22, -0.82, },
1190    { -0.38, -0.31, 0.46, 0.71, },
1191    { -0.31, -0.38, -0.83, -0.13, },
1192    { -0.22, -0.44, 0.65, -0.53, },
1193    { -0.13, -0.48, -0.04, 0.84, },
1194    { -0.02, -0.49, -0.60, -0.60, },
1195    { 0.08, -0.49, 0.84, -0.05, },
1196    { 0.18, -0.46, -0.53, 0.66, },
1197    { 0.27, -0.41, -0.13, -0.83, },
1198    { 0.35, -0.35, 0.71, 0.46, },
1199    { 0.41, -0.27, -0.81, 0.22, },
1200    { 0.46, -0.17, 0.38, -0.75, },
1201    { 0.49, -0.07, 0.30, 0.79, },
1202    { 0.49, 0.03, -0.79, -0.30, },
1203    { 0.48, 0.13, 0.75, -0.38, },
1204    { 0.44, 0.23, -0.22, 0.82, },
1205    { 0.38, 0.31, -0.46, -0.71, },
1206    { 0.31, 0.38, 0.83, 0.13, },
1207    { 0.22, 0.44, -0.65, 0.53, },
1208    { 0.12, 0.48, 0.04, -0.84, },
1209    { 0.02, 0.49, 0.60, 0.60, },
1210    { -0.08, 0.49, -0.84, 0.05, },
1211    { -0.18, 0.46, 0.53, -0.66, },
1212    { -0.22, 0.44, 0.65, 0.53, },
1213    { -0.31, 0.38, -0.83, 0.13, },
1214    { -0.38, 0.31, 0.46, -0.71, },
1215    { -0.44, 0.23, 0.22, 0.82, },
1216    { -0.48, 0.13, -0.75, -0.38, },
1217    { -0.49, 0.03, 0.79, -0.30, },
1218    { -0.49, -0.07, -0.30, 0.79, },
1219    { -0.46, -0.17, -0.38, -0.75, },
1220    { -0.41, -0.27, 0.81, 0.22, },
1221    { -0.35, -0.35, -0.71, 0.46, },
1222    { -0.27, -0.41, 0.13, -0.83, },
1223    { -0.18, -0.46, 0.53, 0.66, },
1224    { -0.08, -0.49, -0.84, -0.05, },
1225    { 0.02, -0.49, 0.60, -0.60, },
1226    { 0.12, -0.48, 0.04, 0.84, },
1227    { 0.22, -0.44, -0.65, -0.53, },
1228    { 0.31, -0.38, 0.83, -0.13, },
1229    { 0.38, -0.31, -0.46, 0.71, },
1230    { 0.44, -0.23, -0.22, -0.82, },
1231    { 0.48, -0.13, 0.75, 0.38, },
1232    { 0.49, -0.03, -0.79, 0.30, },
1233    { 0.49, 0.07, 0.30, -0.79, },
1234    { 0.46, 0.17, 0.38, 0.75, },
1235    { 0.41, 0.27, -0.81, -0.22, },
1236    { 0.35, 0.35, 0.71, -0.46, },
1237    { 0.27, 0.41, -0.13, 0.83, },
1238    { 0.18, 0.46, -0.53, -0.66, },
1239    { 0.08, 0.49, 0.84, 0.05, },
1240    { -0.02, 0.49, -0.60, 0.60, },
1241    { -0.12, 0.48, -0.04, -0.84, },
1242    { -0.15, 0.28, -0.64, 0.67, },
1243    { -0.20, 0.24, -0.07, -0.92, },
1244    { -0.25, 0.19, 0.73, 0.57, },
1245    { -0.28, 0.14, -0.91, 0.16, },
1246    { -0.30, 0.07, 0.49, -0.79, },
1247    { -0.31, 0.01, 0.26, 0.89, },
1248    { -0.31, -0.06, -0.83, -0.40, },
1249    { -0.29, -0.12, 0.86, -0.35, },
1250    { -0.26, -0.18, -0.31, 0.87, },
1251    { -0.22, -0.23, -0.44, -0.82, },
1252    { -0.16, -0.27, 0.90, 0.22, },
1253    { -0.11, -0.29, -0.77, 0.52, },
1254    { -0.04, -0.31, 0.12, -0.92, },
1255    { 0.02, -0.31, 0.60, 0.71, },
1256    { 0.09, -0.30, -0.93, -0.03, },
1257    { 0.15, -0.28, 0.64, -0.67, },
1258    { 0.20, -0.24, 0.07, 0.92, },
1259    { 0.25, -0.19, -0.73, -0.57, },
1260    { 0.28, -0.14, 0.91, -0.16, },
1261    { 0.30, -0.07, -0.49, 0.79, },
1262    { 0.31, -0.01, -0.26, -0.89, },
1263    { 0.31, 0.06, 0.83, 0.40, },
1264    { 0.29, 0.12, -0.86, 0.35, },
1265    { 0.26, 0.18, 0.31, -0.87, },
1266    { 0.22, 0.23, 0.44, 0.82, },
1267    { 0.16, 0.27, -0.90, -0.22, },
1268    { 0.11, 0.29, 0.77, -0.52, },
1269    { 0.04, 0.31, -0.12, 0.92, },
1270    { -0.02, 0.31, -0.60, -0.71, },
1271    { -0.09, 0.30, 0.93, 0.03, },
1272    { -0.22, 0.23, -0.44, 0.82, },
1273    { -0.26, 0.18, -0.31, -0.87, },
1274    { -0.29, 0.12, 0.86, 0.35, },
1275    { -0.31, 0.06, -0.83, 0.40, },
1276    { -0.31, -0.01, 0.26, -0.89, },
1277    { -0.30, -0.07, 0.49, 0.79, },
1278    { -0.28, -0.14, -0.91, -0.16, },
1279    { -0.25, -0.19, 0.73, -0.57, },
1280    { -0.20, -0.24, -0.07, 0.92, },
1281    { -0.15, -0.28, -0.64, -0.67, },
1282    { -0.09, -0.30, 0.93, -0.03, },
1283    { -0.02, -0.31, -0.60, 0.71, },
1284    { 0.04, -0.31, -0.13, -0.92, },
1285    { 0.11, -0.29, 0.77, 0.52, },
1286    { 0.16, -0.27, -0.90, 0.22, },
1287    { 0.22, -0.23, 0.44, -0.82, },
1288    { 0.26, -0.18, 0.31, 0.87, },
1289    { 0.29, -0.12, -0.86, -0.35, },
1290    { 0.31, -0.06, 0.83, -0.40, },
1291    { 0.31, 0.01, -0.26, 0.89, },
1292    { 0.30, 0.07, -0.49, -0.79, },
1293    { 0.28, 0.14, 0.91, 0.16, },
1294    { 0.25, 0.19, -0.73, 0.57, },
1295    { 0.20, 0.24, 0.07, -0.92, },
1296    { 0.15, 0.28, 0.64, 0.67, },
1297    { 0.09, 0.30, -0.93, 0.03, },
1298    { 0.02, 0.31, 0.60, -0.71, },
1299    { -0.04, 0.31, 0.13, 0.92, },
1300    { -0.11, 0.29, -0.77, -0.52, },
1301    { -0.16, 0.27, 0.90, -0.22, },
1302};
1303
1304static const struct line_info line_table[LINE_COUNT] =
1305{
1306    { 0, 1, 0, },
1307    { 0, 29, 0, },
1308    { 0, 148, 0, },
1309    { 0, 176, 0, },
1310    { 1, 2, 0, },
1311    { 1, 149, 0, },
1312    { 1, 177, 0, },
1313    { 2, 3, 0, },
1314    { 2, 120, 0, },
1315    { 2, 178, 0, },
1316    { 3, 4, 0, },
1317    { 3, 121, 0, },
1318    { 3, 179, 0, },
1319    { 4, 5, 0, },
1320    { 4, 122, 0, },
1321    { 4, 150, 0, },
1322    { 5, 6, 0, },
1323    { 5, 123, 0, },
1324    { 5, 151, 0, },
1325    { 6, 7, 0, },
1326    { 6, 124, 0, },
1327    { 6, 152, 0, },
1328    { 7, 8, 0, },
1329    { 7, 125, 0, },
1330    { 7, 153, 0, },
1331    { 8, 9, 0, },
1332    { 8, 126, 0, },
1333    { 8, 154, 0, },
1334    { 9, 10, 0, },
1335    { 9, 127, 0, },
1336    { 9, 155, 0, },
1337    { 10, 11, 0, },
1338    { 10, 128, 0, },
1339    { 10, 156, 0, },
1340    { 11, 12, 0, },
1341    { 11, 129, 0, },
1342    { 11, 157, 0, },
1343    { 12, 13, 0, },
1344    { 12, 130, 0, },
1345    { 12, 158, 0, },
1346    { 13, 14, 0, },
1347    { 13, 131, 0, },
1348    { 13, 159, 0, },
1349    { 14, 15, 0, },
1350    { 14, 132, 0, },
1351    { 14, 160, 0, },
1352    { 15, 16, 0, },
1353    { 15, 133, 0, },
1354    { 15, 161, 0, },
1355    { 16, 17, 0, },
1356    { 16, 134, 0, },
1357    { 16, 162, 0, },
1358    { 17, 18, 0, },
1359    { 17, 135, 0, },
1360    { 17, 163, 0, },
1361    { 18, 19, 0, },
1362    { 18, 136, 0, },
1363    { 18, 164, 0, },
1364    { 19, 20, 0, },
1365    { 19, 137, 0, },
1366    { 19, 165, 0, },
1367    { 20, 21, 0, },
1368    { 20, 138, 0, },
1369    { 20, 166, 0, },
1370    { 21, 22, 0, },
1371    { 21, 139, 0, },
1372    { 21, 167, 0, },
1373    { 22, 23, 0, },
1374    { 22, 140, 0, },
1375    { 22, 168, 0, },
1376    { 23, 24, 0, },
1377    { 23, 141, 0, },
1378    { 23, 169, 0, },
1379    { 24, 25, 0, },
1380    { 24, 142, 0, },
1381    { 24, 170, 0, },
1382    { 25, 26, 0, },
1383    { 25, 143, 0, },
1384    { 25, 171, 0, },
1385    { 26, 27, 0, },
1386    { 26, 144, 0, },
1387    { 26, 172, 0, },
1388    { 27, 28, 0, },
1389    { 27, 145, 0, },
1390    { 27, 173, 0, },
1391    { 28, 29, 0, },
1392    { 28, 146, 0, },
1393    { 28, 174, 0, },
1394    { 29, 147, 0, },
1395    { 29, 175, 0, },
1396    { 30, 123, 0, },
1397    { 30, 150, 0, },
1398    { 30, 240, 0, },
1399    { 30, 292, 0, },
1400    { 31, 124, 0, },
1401    { 31, 151, 0, },
1402    { 31, 241, 0, },
1403    { 31, 293, 0, },
1404    { 32, 125, 0, },
1405    { 32, 152, 0, },
1406    { 32, 242, 0, },
1407    { 32, 294, 0, },
1408    { 33, 126, 0, },
1409    { 33, 153, 0, },
1410    { 33, 243, 0, },
1411    { 33, 295, 0, },
1412    { 34, 127, 0, },
1413    { 34, 154, 0, },
1414    { 34, 244, 0, },
1415    { 34, 296, 0, },
1416    { 35, 128, 0, },
1417    { 35, 155, 0, },
1418    { 35, 245, 0, },
1419    { 35, 297, 0, },
1420    { 36, 129, 0, },
1421    { 36, 156, 0, },
1422    { 36, 246, 0, },
1423    { 36, 298, 0, },
1424    { 37, 130, 0, },
1425    { 37, 157, 0, },
1426    { 37, 247, 0, },
1427    { 37, 299, 0, },
1428    { 38, 131, 0, },
1429    { 38, 158, 0, },
1430    { 38, 248, 0, },
1431    { 38, 270, 0, },
1432    { 39, 132, 0, },
1433    { 39, 159, 0, },
1434    { 39, 249, 0, },
1435    { 39, 271, 0, },
1436    { 40, 133, 0, },
1437    { 40, 160, 0, },
1438    { 40, 250, 0, },
1439    { 40, 272, 0, },
1440    { 41, 134, 0, },
1441    { 41, 161, 0, },
1442    { 41, 251, 0, },
1443    { 41, 273, 0, },
1444    { 42, 135, 0, },
1445    { 42, 162, 0, },
1446    { 42, 252, 0, },
1447    { 42, 274, 0, },
1448    { 43, 136, 0, },
1449    { 43, 163, 0, },
1450    { 43, 253, 0, },
1451    { 43, 275, 0, },
1452    { 44, 137, 0, },
1453    { 44, 164, 0, },
1454    { 44, 254, 0, },
1455    { 44, 276, 0, },
1456    { 45, 138, 1, },
1457    { 45, 165, 1, },
1458    { 45, 255, 1, },
1459    { 45, 277, 1, },
1460    { 46, 139, 1, },
1461    { 46, 166, 1, },
1462    { 46, 256, 1, },
1463    { 46, 278, 1, },
1464    { 47, 140, 1, },
1465    { 47, 167, 1, },
1466    { 47, 257, 1, },
1467    { 47, 279, 1, },
1468    { 48, 141, 1, },
1469    { 48, 168, 1, },
1470    { 48, 258, 1, },
1471    { 48, 280, 1, },
1472    { 49, 142, 1, },
1473    { 49, 169, 1, },
1474    { 49, 259, 1, },
1475    { 49, 281, 1, },
1476    { 50, 143, 1, },
1477    { 50, 170, 1, },
1478    { 50, 260, 1, },
1479    { 50, 282, 1, },
1480    { 51, 144, 1, },
1481    { 51, 171, 1, },
1482    { 51, 261, 1, },
1483    { 51, 283, 1, },
1484    { 52, 145, 1, },
1485    { 52, 172, 1, },
1486    { 52, 262, 1, },
1487    { 52, 284, 1, },
1488    { 53, 146, 1, },
1489    { 53, 173, 1, },
1490    { 53, 263, 1, },
1491    { 53, 285, 1, },
1492    { 54, 147, 1, },
1493    { 54, 174, 1, },
1494    { 54, 264, 1, },
1495    { 54, 286, 1, },
1496    { 55, 148, 1, },
1497    { 55, 175, 1, },
1498    { 55, 265, 1, },
1499    { 55, 287, 1, },
1500    { 56, 149, 1, },
1501    { 56, 176, 1, },
1502    { 56, 266, 1, },
1503    { 56, 288, 1, },
1504    { 57, 120, 1, },
1505    { 57, 177, 1, },
1506    { 57, 267, 1, },
1507    { 57, 289, 1, },
1508    { 58, 121, 1, },
1509    { 58, 178, 1, },
1510    { 58, 268, 1, },
1511    { 58, 290, 1, },
1512    { 59, 122, 1, },
1513    { 59, 179, 1, },
1514    { 59, 269, 1, },
1515    { 59, 291, 1, },
1516    { 60, 420, 1, },
1517    { 60, 478, 1, },
1518    { 60, 567, 1, },
1519    { 60, 570, 1, },
1520    { 61, 421, 1, },
1521    { 61, 479, 1, },
1522    { 61, 568, 1, },
1523    { 61, 571, 1, },
1524    { 62, 422, 1, },
1525    { 62, 450, 1, },
1526    { 62, 569, 1, },
1527    { 62, 572, 1, },
1528    { 63, 423, 1, },
1529    { 63, 451, 1, },
1530    { 63, 540, 1, },
1531    { 63, 573, 1, },
1532    { 64, 424, 1, },
1533    { 64, 452, 1, },
1534    { 64, 541, 1, },
1535    { 64, 574, 1, },
1536    { 65, 425, 1, },
1537    { 65, 453, 1, },
1538    { 65, 542, 1, },
1539    { 65, 575, 1, },
1540    { 66, 426, 1, },
1541    { 66, 454, 1, },
1542    { 66, 543, 1, },
1543    { 66, 576, 1, },
1544    { 67, 427, 1, },
1545    { 67, 455, 1, },
1546    { 67, 544, 1, },
1547    { 67, 577, 1, },
1548    { 68, 428, 1, },
1549    { 68, 456, 1, },
1550    { 68, 545, 1, },
1551    { 68, 578, 1, },
1552    { 69, 429, 1, },
1553    { 69, 457, 1, },
1554    { 69, 546, 1, },
1555    { 69, 579, 1, },
1556    { 70, 430, 1, },
1557    { 70, 458, 1, },
1558    { 70, 547, 1, },
1559    { 70, 580, 1, },
1560    { 71, 431, 1, },
1561    { 71, 459, 1, },
1562    { 71, 548, 1, },
1563    { 71, 581, 1, },
1564    { 72, 432, 1, },
1565    { 72, 460, 1, },
1566    { 72, 549, 1, },
1567    { 72, 582, 1, },
1568    { 73, 433, 1, },
1569    { 73, 461, 1, },
1570    { 73, 550, 1, },
1571    { 73, 583, 1, },
1572    { 74, 434, 1, },
1573    { 74, 462, 1, },
1574    { 74, 551, 1, },
1575    { 74, 584, 1, },
1576    { 75, 435, 1, },
1577    { 75, 463, 1, },
1578    { 75, 552, 1, },
1579    { 75, 585, 1, },
1580    { 76, 436, 1, },
1581    { 76, 464, 1, },
1582    { 76, 553, 1, },
1583    { 76, 586, 1, },
1584    { 77, 437, 1, },
1585    { 77, 465, 1, },
1586    { 77, 554, 1, },
1587    { 77, 587, 1, },
1588    { 78, 438, 1, },
1589    { 78, 466, 1, },
1590    { 78, 555, 1, },
1591    { 78, 588, 1, },
1592    { 79, 439, 1, },
1593    { 79, 467, 1, },
1594    { 79, 556, 1, },
1595    { 79, 589, 1, },
1596    { 80, 440, 1, },
1597    { 80, 468, 1, },
1598    { 80, 557, 1, },
1599    { 80, 590, 1, },
1600    { 81, 441, 1, },
1601    { 81, 469, 1, },
1602    { 81, 558, 1, },
1603    { 81, 591, 1, },
1604    { 82, 442, 1, },
1605    { 82, 470, 1, },
1606    { 82, 559, 2, },
1607    { 82, 592, 2, },
1608    { 83, 443, 2, },
1609    { 83, 471, 2, },
1610    { 83, 560, 2, },
1611    { 83, 593, 2, },
1612    { 84, 444, 2, },
1613    { 84, 472, 2, },
1614    { 84, 561, 2, },
1615    { 84, 594, 2, },
1616    { 85, 445, 2, },
1617    { 85, 473, 2, },
1618    { 85, 562, 2, },
1619    { 85, 595, 2, },
1620    { 86, 446, 2, },
1621    { 86, 474, 2, },
1622    { 86, 563, 2, },
1623    { 86, 596, 2, },
1624    { 87, 447, 2, },
1625    { 87, 475, 2, },
1626    { 87, 564, 2, },
1627    { 87, 597, 2, },
1628    { 88, 448, 2, },
1629    { 88, 476, 2, },
1630    { 88, 565, 2, },
1631    { 88, 598, 2, },
1632    { 89, 449, 2, },
1633    { 89, 477, 2, },
1634    { 89, 566, 2, },
1635    { 89, 599, 2, },
1636    { 90, 101, 2, },
1637    { 90, 109, 2, },
1638    { 90, 562, 2, },
1639    { 90, 584, 2, },
1640    { 91, 102, 2, },
1641    { 91, 110, 2, },
1642    { 91, 563, 2, },
1643    { 91, 585, 2, },
1644    { 92, 103, 2, },
1645    { 92, 111, 2, },
1646    { 92, 564, 2, },
1647    { 92, 586, 2, },
1648    { 93, 104, 2, },
1649    { 93, 112, 2, },
1650    { 93, 565, 2, },
1651    { 93, 587, 2, },
1652    { 94, 105, 2, },
1653    { 94, 113, 2, },
1654    { 94, 566, 2, },
1655    { 94, 588, 2, },
1656    { 95, 106, 2, },
1657    { 95, 114, 2, },
1658    { 95, 567, 2, },
1659    { 95, 589, 2, },
1660    { 96, 107, 2, },
1661    { 96, 115, 2, },
1662    { 96, 568, 2, },
1663    { 96, 590, 2, },
1664    { 97, 108, 2, },
1665    { 97, 116, 2, },
1666    { 97, 569, 2, },
1667    { 97, 591, 2, },
1668    { 98, 109, 2, },
1669    { 98, 117, 2, },
1670    { 98, 540, 2, },
1671    { 98, 592, 2, },
1672    { 99, 110, 2, },
1673    { 99, 118, 2, },
1674    { 99, 541, 2, },
1675    { 99, 593, 2, },
1676    { 100, 111, 2, },
1677    { 100, 119, 2, },
1678    { 100, 542, 2, },
1679    { 100, 594, 2, },
1680    { 101, 112, 2, },
1681    { 101, 543, 2, },
1682    { 101, 595, 2, },
1683    { 102, 113, 2, },
1684    { 102, 544, 2, },
1685    { 102, 596, 2, },
1686    { 103, 114, 2, },
1687    { 103, 545, 2, },
1688    { 103, 597, 2, },
1689    { 104, 115, 2, },
1690    { 104, 546, 2, },
1691    { 104, 598, 2, },
1692    { 105, 116, 2, },
1693    { 105, 547, 2, },
1694    { 105, 599, 2, },
1695    { 106, 117, 2, },
1696    { 106, 548, 2, },
1697    { 106, 570, 2, },
1698    { 107, 118, 2, },
1699    { 107, 549, 2, },
1700    { 107, 571, 2, },
1701    { 108, 119, 2, },
1702    { 108, 550, 2, },
1703    { 108, 572, 2, },
1704    { 109, 551, 2, },
1705    { 109, 573, 2, },
1706    { 110, 552, 2, },
1707    { 110, 574, 2, },
1708    { 111, 553, 2, },
1709    { 111, 575, 2, },
1710    { 112, 554, 2, },
1711    { 112, 576, 2, },
1712    { 113, 555, 2, },
1713    { 113, 577, 2, },
1714    { 114, 556, 2, },
1715    { 114, 578, 2, },
1716    { 115, 557, 2, },
1717    { 115, 579, 2, },
1718    { 116, 558, 2, },
1719    { 116, 580, 2, },
1720    { 117, 559, 2, },
1721    { 117, 581, 2, },
1722    { 118, 560, 2, },
1723    { 118, 582, 2, },
1724    { 119, 561, 2, },
1725    { 119, 583, 2, },
1726    { 120, 150, 2, },
1727    { 120, 232, 2, },
1728    { 121, 151, 2, },
1729    { 121, 233, 2, },
1730    { 122, 152, 2, },
1731    { 122, 234, 2, },
1732    { 123, 153, 2, },
1733    { 123, 235, 2, },
1734    { 124, 154, 2, },
1735    { 124, 236, 2, },
1736    { 125, 155, 2, },
1737    { 125, 237, 2, },
1738    { 126, 156, 2, },
1739    { 126, 238, 2, },
1740    { 127, 157, 2, },
1741    { 127, 239, 2, },
1742    { 128, 158, 2, },
1743    { 128, 210, 2, },
1744    { 129, 159, 2, },
1745    { 129, 211, 2, },
1746    { 130, 160, 2, },
1747    { 130, 212, 2, },
1748    { 131, 161, 2, },
1749    { 131, 213, 2, },
1750    { 132, 162, 2, },
1751    { 132, 214, 2, },
1752    { 133, 163, 2, },
1753    { 133, 215, 2, },
1754    { 134, 164, 2, },
1755    { 134, 216, 2, },
1756    { 135, 165, 3, },
1757    { 135, 217, 3, },
1758    { 136, 166, 3, },
1759    { 136, 218, 3, },
1760    { 137, 167, 3, },
1761    { 137, 219, 3, },
1762    { 138, 168, 3, },
1763    { 138, 220, 3, },
1764    { 139, 169, 3, },
1765    { 139, 221, 3, },
1766    { 140, 170, 3, },
1767    { 140, 222, 3, },
1768    { 141, 171, 3, },
1769    { 141, 223, 3, },
1770    { 142, 172, 3, },
1771    { 142, 224, 3, },
1772    { 143, 173, 3, },
1773    { 143, 225, 3, },
1774    { 144, 174, 3, },
1775    { 144, 226, 3, },
1776    { 145, 175, 3, },
1777    { 145, 227, 3, },
1778    { 146, 176, 3, },
1779    { 146, 228, 3, },
1780    { 147, 177, 3, },
1781    { 147, 229, 3, },
1782    { 148, 178, 3, },
1783    { 148, 230, 3, },
1784    { 149, 179, 3, },
1785    { 149, 231, 3, },
1786    { 150, 207, 3, },
1787    { 151, 208, 3, },
1788    { 152, 209, 3, },
1789    { 153, 180, 3, },
1790    { 154, 181, 3, },
1791    { 155, 182, 3, },
1792    { 156, 183, 3, },
1793    { 157, 184, 3, },
1794    { 158, 185, 3, },
1795    { 159, 186, 3, },
1796    { 160, 187, 3, },
1797    { 161, 188, 3, },
1798    { 162, 189, 3, },
1799    { 163, 190, 3, },
1800    { 164, 191, 3, },
1801    { 165, 192, 3, },
1802    { 166, 193, 3, },
1803    { 167, 194, 3, },
1804    { 168, 195, 3, },
1805    { 169, 196, 3, },
1806    { 170, 197, 3, },
1807    { 171, 198, 3, },
1808    { 172, 199, 3, },
1809    { 173, 200, 3, },
1810    { 174, 201, 3, },
1811    { 175, 202, 3, },
1812    { 176, 203, 3, },
1813    { 177, 204, 3, },
1814    { 178, 205, 3, },
1815    { 179, 206, 3, },
1816    { 180, 237, 3, },
1817    { 180, 240, 3, },
1818    { 180, 300, 3, },
1819    { 181, 238, 3, },
1820    { 181, 241, 3, },
1821    { 181, 301, 3, },
1822    { 182, 239, 3, },
1823    { 182, 242, 3, },
1824    { 182, 302, 3, },
1825    { 183, 210, 3, },
1826    { 183, 243, 3, },
1827    { 183, 303, 3, },
1828    { 184, 211, 3, },
1829    { 184, 244, 3, },
1830    { 184, 304, 3, },
1831    { 185, 212, 3, },
1832    { 185, 245, 3, },
1833    { 185, 305, 3, },
1834    { 186, 213, 3, },
1835    { 186, 246, 3, },
1836    { 186, 306, 3, },
1837    { 187, 214, 3, },
1838    { 187, 247, 3, },
1839    { 187, 307, 3, },
1840    { 188, 215, 3, },
1841    { 188, 248, 3, },
1842    { 188, 308, 3, },
1843    { 189, 216, 3, },
1844    { 189, 249, 3, },
1845    { 189, 309, 3, },
1846    { 190, 217, 3, },
1847    { 190, 250, 3, },
1848    { 190, 310, 3, },
1849    { 191, 218, 3, },
1850    { 191, 251, 3, },
1851    { 191, 311, 3, },
1852    { 192, 219, 3, },
1853    { 192, 252, 3, },
1854    { 192, 312, 3, },
1855    { 193, 220, 3, },
1856    { 193, 253, 3, },
1857    { 193, 313, 3, },
1858    { 194, 221, 3, },
1859    { 194, 254, 3, },
1860    { 194, 314, 3, },
1861    { 195, 222, 3, },
1862    { 195, 255, 3, },
1863    { 195, 315, 3, },
1864    { 196, 223, 3, },
1865    { 196, 256, 3, },
1866    { 196, 316, 3, },
1867    { 197, 224, 3, },
1868    { 197, 257, 3, },
1869    { 197, 317, 3, },
1870    { 198, 225, 3, },
1871    { 198, 258, 3, },
1872    { 198, 318, 3, },
1873    { 199, 226, 3, },
1874    { 199, 259, 3, },
1875    { 199, 319, 3, },
1876    { 200, 227, 3, },
1877    { 200, 260, 3, },
1878    { 200, 320, 3, },
1879    { 201, 228, 3, },
1880    { 201, 261, 3, },
1881    { 201, 321, 3, },
1882    { 202, 229, 3, },
1883    { 202, 262, 3, },
1884    { 202, 322, 3, },
1885    { 203, 230, 3, },
1886    { 203, 263, 3, },
1887    { 203, 323, 3, },
1888    { 204, 231, 3, },
1889    { 204, 264, 3, },
1890    { 204, 324, 3, },
1891    { 205, 232, 3, },
1892    { 205, 265, 3, },
1893    { 205, 325, 3, },
1894    { 206, 233, 3, },
1895    { 206, 266, 3, },
1896    { 206, 326, 3, },
1897    { 207, 234, 3, },
1898    { 207, 267, 3, },
1899    { 207, 327, 3, },
1900    { 208, 235, 3, },
1901    { 208, 268, 3, },
1902    { 208, 328, 3, },
1903    { 209, 236, 3, },
1904    { 209, 269, 3, },
1905    { 209, 329, 3, },
1906    { 210, 270, 4, },
1907    { 210, 330, 4, },
1908    { 211, 271, 4, },
1909    { 211, 331, 4, },
1910    { 212, 272, 4, },
1911    { 212, 332, 4, },
1912    { 213, 273, 4, },
1913    { 213, 333, 4, },
1914    { 214, 274, 4, },
1915    { 214, 334, 4, },
1916    { 215, 275, 4, },
1917    { 215, 335, 4, },
1918    { 216, 276, 4, },
1919    { 216, 336, 4, },
1920    { 217, 277, 4, },
1921    { 217, 337, 4, },
1922    { 218, 278, 4, },
1923    { 218, 338, 4, },
1924    { 219, 279, 4, },
1925    { 219, 339, 4, },
1926    { 220, 280, 4, },
1927    { 220, 340, 4, },
1928    { 221, 281, 4, },
1929    { 221, 341, 4, },
1930    { 222, 282, 4, },
1931    { 222, 342, 4, },
1932    { 223, 283, 4, },
1933    { 223, 343, 4, },
1934    { 224, 284, 4, },
1935    { 224, 344, 4, },
1936    { 225, 285, 4, },
1937    { 225, 345, 4, },
1938    { 226, 286, 4, },
1939    { 226, 346, 4, },
1940    { 227, 287, 4, },
1941    { 227, 347, 4, },
1942    { 228, 288, 4, },
1943    { 228, 348, 4, },
1944    { 229, 289, 4, },
1945    { 229, 349, 4, },
1946    { 230, 290, 4, },
1947    { 230, 350, 4, },
1948    { 231, 291, 4, },
1949    { 231, 351, 4, },
1950    { 232, 292, 4, },
1951    { 232, 352, 4, },
1952    { 233, 293, 4, },
1953    { 233, 353, 4, },
1954    { 234, 294, 4, },
1955    { 234, 354, 4, },
1956    { 235, 295, 4, },
1957    { 235, 355, 4, },
1958    { 236, 296, 4, },
1959    { 236, 356, 4, },
1960    { 237, 297, 4, },
1961    { 237, 357, 4, },
1962    { 238, 298, 4, },
1963    { 238, 358, 4, },
1964    { 239, 299, 4, },
1965    { 239, 359, 4, },
1966    { 240, 327, 4, },
1967    { 240, 416, 4, },
1968    { 241, 328, 4, },
1969    { 241, 417, 4, },
1970    { 242, 329, 4, },
1971    { 242, 418, 4, },
1972    { 243, 300, 4, },
1973    { 243, 419, 4, },
1974    { 244, 301, 4, },
1975    { 244, 390, 4, },
1976    { 245, 302, 4, },
1977    { 245, 391, 4, },
1978    { 246, 303, 4, },
1979    { 246, 392, 4, },
1980    { 247, 304, 4, },
1981    { 247, 393, 4, },
1982    { 248, 305, 4, },
1983    { 248, 394, 4, },
1984    { 249, 306, 4, },
1985    { 249, 395, 4, },
1986    { 250, 307, 4, },
1987    { 250, 396, 4, },
1988    { 251, 308, 4, },
1989    { 251, 397, 4, },
1990    { 252, 309, 4, },
1991    { 252, 398, 4, },
1992    { 253, 310, 4, },
1993    { 253, 399, 4, },
1994    { 254, 311, 4, },
1995    { 254, 400, 4, },
1996    { 255, 312, 4, },
1997    { 255, 401, 4, },
1998    { 256, 313, 4, },
1999    { 256, 402, 4, },
2000    { 257, 314, 4, },
2001    { 257, 403, 4, },
2002    { 258, 315, 4, },
2003    { 258, 404, 4, },
2004    { 259, 316, 4, },
2005    { 259, 405, 4, },
2006    { 260, 317, 4, },
2007    { 260, 406, 4, },
2008    { 261, 318, 4, },
2009    { 261, 407, 4, },
2010    { 262, 319, 4, },
2011    { 262, 408, 4, },
2012    { 263, 320, 4, },
2013    { 263, 409, 4, },
2014    { 264, 321, 4, },
2015    { 264, 410, 4, },
2016    { 265, 322, 4, },
2017    { 265, 411, 4, },
2018    { 266, 323, 4, },
2019    { 266, 412, 4, },
2020    { 267, 324, 4, },
2021    { 267, 413, 4, },
2022    { 268, 325, 4, },
2023    { 268, 414, 4, },
2024    { 269, 326, 4, },
2025    { 269, 415, 4, },
2026    { 270, 333, 4, },
2027    { 270, 364, 4, },
2028    { 271, 334, 4, },
2029    { 271, 365, 4, },
2030    { 272, 335, 4, },
2031    { 272, 366, 4, },
2032    { 273, 336, 4, },
2033    { 273, 367, 4, },
2034    { 274, 337, 4, },
2035    { 274, 368, 4, },
2036    { 275, 338, 4, },
2037    { 275, 369, 4, },
2038    { 276, 339, 4, },
2039    { 276, 370, 4, },
2040    { 277, 340, 4, },
2041    { 277, 371, 4, },
2042    { 278, 341, 4, },
2043    { 278, 372, 4, },
2044    { 279, 342, 4, },
2045    { 279, 373, 4, },
2046    { 280, 343, 4, },
2047    { 280, 374, 4, },
2048    { 281, 344, 4, },
2049    { 281, 375, 4, },
2050    { 282, 345, 4, },
2051    { 282, 376, 4, },
2052    { 283, 346, 4, },
2053    { 283, 377, 4, },
2054    { 284, 347, 4, },
2055    { 284, 378, 4, },
2056    { 285, 348, 5, },
2057    { 285, 379, 5, },
2058    { 286, 349, 5, },
2059    { 286, 380, 5, },
2060    { 287, 350, 5, },
2061    { 287, 381, 5, },
2062    { 288, 351, 5, },
2063    { 288, 382, 5, },
2064    { 289, 352, 5, },
2065    { 289, 383, 5, },
2066    { 290, 353, 5, },
2067    { 290, 384, 5, },
2068    { 291, 354, 5, },
2069    { 291, 385, 5, },
2070    { 292, 355, 5, },
2071    { 292, 386, 5, },
2072    { 293, 356, 5, },
2073    { 293, 387, 5, },
2074    { 294, 357, 5, },
2075    { 294, 388, 5, },
2076    { 295, 358, 5, },
2077    { 295, 389, 5, },
2078    { 296, 359, 5, },
2079    { 296, 360, 5, },
2080    { 297, 330, 5, },
2081    { 297, 361, 5, },
2082    { 298, 331, 5, },
2083    { 298, 362, 5, },
2084    { 299, 332, 5, },
2085    { 299, 363, 5, },
2086    { 300, 330, 5, },
2087    { 300, 479, 5, },
2088    { 301, 331, 5, },
2089    { 301, 450, 5, },
2090    { 302, 332, 5, },
2091    { 302, 451, 5, },
2092    { 303, 333, 5, },
2093    { 303, 452, 5, },
2094    { 304, 334, 5, },
2095    { 304, 453, 5, },
2096    { 305, 335, 5, },
2097    { 305, 454, 5, },
2098    { 306, 336, 5, },
2099    { 306, 455, 5, },
2100    { 307, 337, 5, },
2101    { 307, 456, 5, },
2102    { 308, 338, 5, },
2103    { 308, 457, 5, },
2104    { 309, 339, 5, },
2105    { 309, 458, 5, },
2106    { 310, 340, 5, },
2107    { 310, 459, 5, },
2108    { 311, 341, 5, },
2109    { 311, 460, 5, },
2110    { 312, 342, 5, },
2111    { 312, 461, 5, },
2112    { 313, 343, 5, },
2113    { 313, 462, 5, },
2114    { 314, 344, 5, },
2115    { 314, 463, 5, },
2116    { 315, 345, 5, },
2117    { 315, 464, 5, },
2118    { 316, 346, 5, },
2119    { 316, 465, 5, },
2120    { 317, 347, 5, },
2121    { 317, 466, 5, },
2122    { 318, 348, 5, },
2123    { 318, 467, 5, },
2124    { 319, 349, 5, },
2125    { 319, 468, 5, },
2126    { 320, 350, 5, },
2127    { 320, 469, 5, },
2128    { 321, 351, 5, },
2129    { 321, 470, 5, },
2130    { 322, 352, 5, },
2131    { 322, 471, 5, },
2132    { 323, 353, 5, },
2133    { 323, 472, 5, },
2134    { 324, 354, 5, },
2135    { 324, 473, 5, },
2136    { 325, 355, 5, },
2137    { 325, 474, 5, },
2138    { 326, 356, 5, },
2139    { 326, 475, 5, },
2140    { 327, 357, 5, },
2141    { 327, 476, 5, },
2142    { 328, 358, 5, },
2143    { 328, 477, 5, },
2144    { 329, 359, 5, },
2145    { 329, 478, 5, },
2146    { 330, 421, 5, },
2147    { 331, 422, 5, },
2148    { 332, 423, 5, },
2149    { 333, 424, 5, },
2150    { 334, 425, 5, },
2151    { 335, 426, 5, },
2152    { 336, 427, 5, },
2153    { 337, 428, 5, },
2154    { 338, 429, 5, },
2155    { 339, 430, 5, },
2156    { 340, 431, 5, },
2157    { 341, 432, 5, },
2158    { 342, 433, 5, },
2159    { 343, 434, 5, },
2160    { 344, 435, 5, },
2161    { 345, 436, 5, },
2162    { 346, 437, 5, },
2163    { 347, 438, 5, },
2164    { 348, 439, 5, },
2165    { 349, 440, 5, },
2166    { 350, 441, 5, },
2167    { 351, 442, 5, },
2168    { 352, 443, 5, },
2169    { 353, 444, 5, },
2170    { 354, 445, 5, },
2171    { 355, 446, 5, },
2172    { 356, 447, 5, },
2173    { 357, 448, 5, },
2174    { 358, 449, 5, },
2175    { 359, 420, 5, },
2176    { 360, 390, 5, },
2177    { 360, 447, 5, },
2178    { 360, 480, 5, },
2179    { 361, 391, 5, },
2180    { 361, 448, 5, },
2181    { 361, 481, 5, },
2182    { 362, 392, 5, },
2183    { 362, 449, 5, },
2184    { 362, 482, 5, },
2185    { 363, 393, 5, },
2186    { 363, 420, 5, },
2187    { 363, 483, 5, },
2188    { 364, 394, 5, },
2189    { 364, 421, 5, },
2190    { 364, 484, 5, },
2191    { 365, 395, 5, },
2192    { 365, 422, 5, },
2193    { 365, 485, 5, },
2194    { 366, 396, 5, },
2195    { 366, 423, 5, },
2196    { 366, 486, 5, },
2197    { 367, 397, 5, },
2198    { 367, 424, 5, },
2199    { 367, 487, 5, },
2200    { 368, 398, 5, },
2201    { 368, 425, 5, },
2202    { 368, 488, 5, },
2203    { 369, 399, 5, },
2204    { 369, 426, 5, },
2205    { 369, 489, 5, },
2206    { 370, 400, 6, },
2207    { 370, 427, 6, },
2208    { 370, 490, 6, },
2209    { 371, 401, 6, },
2210    { 371, 428, 6, },
2211    { 371, 491, 6, },
2212    { 372, 402, 6, },
2213    { 372, 429, 6, },
2214    { 372, 492, 6, },
2215    { 373, 403, 6, },
2216    { 373, 430, 6, },
2217    { 373, 493, 6, },
2218    { 374, 404, 6, },
2219    { 374, 431, 6, },
2220    { 374, 494, 6, },
2221    { 375, 405, 6, },
2222    { 375, 432, 6, },
2223    { 375, 495, 6, },
2224    { 376, 406, 6, },
2225    { 376, 433, 6, },
2226    { 376, 496, 6, },
2227    { 377, 407, 6, },
2228    { 377, 434, 6, },
2229    { 377, 497, 6, },
2230    { 378, 408, 6, },
2231    { 378, 435, 6, },
2232    { 378, 498, 6, },
2233    { 379, 409, 6, },
2234    { 379, 436, 6, },
2235    { 379, 499, 6, },
2236    { 380, 410, 6, },
2237    { 380, 437, 6, },
2238    { 380, 500, 6, },
2239    { 381, 411, 6, },
2240    { 381, 438, 6, },
2241    { 381, 501, 6, },
2242    { 382, 412, 6, },
2243    { 382, 439, 6, },
2244    { 382, 502, 6, },
2245    { 383, 413, 6, },
2246    { 383, 440, 6, },
2247    { 383, 503, 6, },
2248    { 384, 414, 6, },
2249    { 384, 441, 6, },
2250    { 384, 504, 6, },
2251    { 385, 415, 6, },
2252    { 385, 442, 6, },
2253    { 385, 505, 6, },
2254    { 386, 416, 6, },
2255    { 386, 443, 6, },
2256    { 386, 506, 6, },
2257    { 387, 417, 6, },
2258    { 387, 444, 6, },
2259    { 387, 507, 6, },
2260    { 388, 418, 6, },
2261    { 388, 445, 6, },
2262    { 388, 508, 6, },
2263    { 389, 419, 6, },
2264    { 389, 446, 6, },
2265    { 389, 509, 6, },
2266    { 390, 453, 6, },
2267    { 390, 510, 6, },
2268    { 391, 454, 6, },
2269    { 391, 511, 6, },
2270    { 392, 455, 6, },
2271    { 392, 512, 6, },
2272    { 393, 456, 6, },
2273    { 393, 513, 6, },
2274    { 394, 457, 6, },
2275    { 394, 514, 6, },
2276    { 395, 458, 6, },
2277    { 395, 515, 6, },
2278    { 396, 459, 6, },
2279    { 396, 516, 6, },
2280    { 397, 460, 6, },
2281    { 397, 517, 6, },
2282    { 398, 461, 6, },
2283    { 398, 518, 6, },
2284    { 399, 462, 6, },
2285    { 399, 519, 6, },
2286    { 400, 463, 6, },
2287    { 400, 520, 6, },
2288    { 401, 464, 6, },
2289    { 401, 521, 6, },
2290    { 402, 465, 6, },
2291    { 402, 522, 6, },
2292    { 403, 466, 6, },
2293    { 403, 523, 6, },
2294    { 404, 467, 6, },
2295    { 404, 524, 6, },
2296    { 405, 468, 6, },
2297    { 405, 525, 6, },
2298    { 406, 469, 6, },
2299    { 406, 526, 6, },
2300    { 407, 470, 6, },
2301    { 407, 527, 6, },
2302    { 408, 471, 6, },
2303    { 408, 528, 6, },
2304    { 409, 472, 6, },
2305    { 409, 529, 6, },
2306    { 410, 473, 6, },
2307    { 410, 530, 6, },
2308    { 411, 474, 6, },
2309    { 411, 531, 6, },
2310    { 412, 475, 6, },
2311    { 412, 532, 6, },
2312    { 413, 476, 6, },
2313    { 413, 533, 6, },
2314    { 414, 477, 6, },
2315    { 414, 534, 6, },
2316    { 415, 478, 6, },
2317    { 415, 535, 6, },
2318    { 416, 479, 6, },
2319    { 416, 536, 6, },
2320    { 417, 450, 6, },
2321    { 417, 537, 6, },
2322    { 418, 451, 6, },
2323    { 418, 538, 6, },
2324    { 419, 452, 6, },
2325    { 419, 539, 6, },
2326    { 420, 480, 6, },
2327    { 421, 481, 6, },
2328    { 422, 482, 6, },
2329    { 423, 483, 6, },
2330    { 424, 484, 6, },
2331    { 425, 485, 6, },
2332    { 426, 486, 6, },
2333    { 427, 487, 6, },
2334    { 428, 488, 6, },
2335    { 429, 489, 6, },
2336    { 430, 490, 6, },
2337    { 431, 491, 6, },
2338    { 432, 492, 6, },
2339    { 433, 493, 6, },
2340    { 434, 494, 6, },
2341    { 435, 495, 6, },
2342    { 436, 496, 6, },
2343    { 437, 497, 6, },
2344    { 438, 498, 6, },
2345    { 439, 499, 6, },
2346    { 440, 500, 6, },
2347    { 441, 501, 6, },
2348    { 442, 502, 6, },
2349    { 443, 503, 6, },
2350    { 444, 504, 6, },
2351    { 445, 505, 6, },
2352    { 446, 506, 6, },
2353    { 447, 507, 6, },
2354    { 448, 508, 6, },
2355    { 449, 509, 6, },
2356    { 450, 510, 7, },
2357    { 451, 511, 7, },
2358    { 452, 512, 7, },
2359    { 453, 513, 7, },
2360    { 454, 514, 7, },
2361    { 455, 515, 7, },
2362    { 456, 516, 7, },
2363    { 457, 517, 7, },
2364    { 458, 518, 7, },
2365    { 459, 519, 7, },
2366    { 460, 520, 7, },
2367    { 461, 521, 7, },
2368    { 462, 522, 7, },
2369    { 463, 523, 7, },
2370    { 464, 524, 7, },
2371    { 465, 525, 7, },
2372    { 466, 526, 7, },
2373    { 467, 527, 7, },
2374    { 468, 528, 7, },
2375    { 469, 529, 7, },
2376    { 470, 530, 7, },
2377    { 471, 531, 7, },
2378    { 472, 532, 7, },
2379    { 473, 533, 7, },
2380    { 474, 534, 7, },
2381    { 475, 535, 7, },
2382    { 476, 536, 7, },
2383    { 477, 537, 7, },
2384    { 478, 538, 7, },
2385    { 479, 539, 7, },
2386    { 480, 513, 7, },
2387    { 480, 597, 7, },
2388    { 481, 514, 7, },
2389    { 481, 598, 7, },
2390    { 482, 515, 7, },
2391    { 482, 599, 7, },
2392    { 483, 516, 7, },
2393    { 483, 570, 7, },
2394    { 484, 517, 7, },
2395    { 484, 571, 7, },
2396    { 485, 518, 7, },
2397    { 485, 572, 7, },
2398    { 486, 519, 7, },
2399    { 486, 573, 7, },
2400    { 487, 520, 7, },
2401    { 487, 574, 7, },
2402    { 488, 521, 7, },
2403    { 488, 575, 7, },
2404    { 489, 522, 7, },
2405    { 489, 576, 7, },
2406    { 490, 523, 7, },
2407    { 490, 577, 7, },
2408    { 491, 524, 7, },
2409    { 491, 578, 7, },
2410    { 492, 525, 7, },
2411    { 492, 579, 7, },
2412    { 493, 526, 7, },
2413    { 493, 580, 7, },
2414    { 494, 527, 7, },
2415    { 494, 581, 7, },
2416    { 495, 528, 7, },
2417    { 495, 582, 7, },
2418    { 496, 529, 7, },
2419    { 496, 583, 7, },
2420    { 497, 530, 7, },
2421    { 497, 584, 7, },
2422    { 498, 531, 7, },
2423    { 498, 585, 7, },
2424    { 499, 532, 7, },
2425    { 499, 586, 7, },
2426    { 500, 533, 7, },
2427    { 500, 587, 7, },
2428    { 501, 534, 7, },
2429    { 501, 588, 7, },
2430    { 502, 535, 7, },
2431    { 502, 589, 7, },
2432    { 503, 536, 7, },
2433    { 503, 590, 7, },
2434    { 504, 537, 7, },
2435    { 504, 591, 7, },
2436    { 505, 538, 7, },
2437    { 505, 592, 7, },
2438    { 506, 539, 7, },
2439    { 506, 593, 7, },
2440    { 507, 510, 7, },
2441    { 507, 594, 7, },
2442    { 508, 511, 7, },
2443    { 508, 595, 7, },
2444    { 509, 512, 7, },
2445    { 509, 596, 7, },
2446    { 510, 542, 7, },
2447    { 511, 543, 7, },
2448    { 512, 544, 7, },
2449    { 513, 545, 7, },
2450    { 514, 546, 7, },
2451    { 515, 547, 7, },
2452    { 516, 548, 7, },
2453    { 517, 549, 7, },
2454    { 518, 550, 7, },
2455    { 519, 551, 7, },
2456    { 520, 552, 7, },
2457    { 521, 553, 7, },
2458    { 522, 554, 7, },
2459    { 523, 555, 7, },
2460    { 524, 556, 7, },
2461    { 525, 557, 7, },
2462    { 526, 558, 7, },
2463    { 527, 559, 7, },
2464    { 528, 560, 7, },
2465    { 529, 561, 7, },
2466    { 530, 562, 7, },
2467    { 531, 563, 7, },
2468    { 532, 564, 7, },
2469    { 533, 565, 7, },
2470    { 534, 566, 7, },
2471    { 535, 567, 7, },
2472    { 536, 568, 7, },
2473    { 537, 569, 7, },
2474    { 538, 540, 7, },
2475    { 539, 541, 7, },
2476    { 540, 570, 7, },
2477    { 541, 571, 7, },
2478    { 542, 572, 7, },
2479    { 543, 573, 7, },
2480    { 544, 574, 7, },
2481    { 545, 575, 7, },
2482    { 546, 576, 7, },
2483    { 547, 577, 7, },
2484    { 548, 578, 7, },
2485    { 549, 579, 7, },
2486    { 550, 580, 7, },
2487    { 551, 581, 7, },
2488    { 552, 582, 7, },
2489    { 553, 583, 7, },
2490    { 554, 584, 7, },
2491    { 555, 585, 7, },
2492    { 556, 586, 7, },
2493    { 557, 587, 7, },
2494    { 558, 588, 7, },
2495    { 559, 589, 7, },
2496    { 560, 590, 7, },
2497    { 561, 591, 7, },
2498    { 562, 592, 7, },
2499    { 563, 593, 7, },
2500    { 564, 594, 7, },
2501    { 565, 595, 7, },
2502    { 566, 596, 7, },
2503    { 567, 597, 7, },
2504    { 568, 598, 7, },
2505    { 569, 599, 7, },
2506};
2507
Note: See TracBrowser for help on using the repository browser.