source: SH_SHM/trunk/source/earthloc.c @ 916

Revision 916, 117.2 KB checked in by marcus, 7 years ago (diff)

fixed zero division bug in computation of relative locations, this bug was in a very old routine, only detected on Suse 11.4, x86_64


(internal: r418 | klaus | 2013-03-06 16:38:59 +0100 (Wed, 06 Mar 2013) | 1 line)

Line 
1
2/* file earthloc.c
3 *      ==========
4 *
5 * version 9, 22-May-2006
6 *
7 * computes distance and azimuth of two locations on earth
8 * transferred from FORTRAN program MBAZ of P. Hellweg
9 * K. Stammler, 21-May-92
10 */
11
12
13/*
14 *
15 *  SeismicHandler, seismic analysis software
16 *  Copyright (C) 1992,  Klaus Stammler, Federal Institute for Geosciences
17 *                                       and Natural Resources (BGR), Germany
18 *
19 *  This program is free software; you can redistribute it and/or modify
20 *  it under the terms of the GNU General Public License as published by
21 *  the Free Software Foundation; either version 2 of the License, or
22 *  (at your option) any later version.
23 *
24 *  This program is distributed in the hope that it will be useful,
25 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
26 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27 *  GNU General Public License for more details.
28 *
29 *  You should have received a copy of the GNU General Public License
30 *  along with this program; if not, write to the Free Software
31 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
32 *
33 */
34
35
36#include <stdio.h>
37#include <string.h>
38#include <math.h>
39#include "basecnst.h"
40#include BC_SYSBASE
41#include "shconst.h"
42#include "earthloc.h"
43
44
45
46/* macros */
47#define DEG2RAD(x) ((x)*BC_PI/180.0)
48#define RAD2DEG(x) ((x)/BC_PI*180.0)
49#define IDXRECLTH 110
50
51
52
53/* global variables */
54static char mbv_indexfile[BC_FILELTH+1]    /* name of FER index file */
55        ={"fereg.dat"};
56static char mbv_namefile[BC_FILELTH+1]     /* name of FER name file */
57        ={"fername.dat"};
58static char mbv_corrfile[BC_FILELTH+1]     /* station corrections */
59        ={"inputs\\grfcorr.dat"};
60
61
62
63/* prototypes of local routines */
64static void mb_geocr( double lon, double lat, double *a, double *b, double *c );
65static double mb_azm( double x, double y );
66void mbh_fer_lookup( float alat, char drclat, float alng, char drclng,
67        int *igreg, int *isreg );
68void mbh_fer_region(int igreg, char grname[], int isreg, char srname[] );
69
70
71
72/*---------------------------------------------------------------------*/
73
74
75void mb_locdiff( double slat, double slon, double elat, double elon,
76        double *distance, double *azim, double *bazim )
77
78/* returns distance and azimuth in degrees of two locations on
79 * earth
80 *
81 * parameters of routine
82 * double     slat, slon;    input; latitude and longitude of station
83 * double     elat, elon;    input; latitude and longitude of epicentre
84 * double     *distance;     output; distance in degrees
85 * double     *azim;         output; azimuth in degrees
86 * double     *bazim;        output; back-azimuth in degrees
87 */
88{
89        /* local variables */
90        double   as, bs, cs, ds;
91        double   ae, be, ce, de;
92        double   bls, cbls, sbls, ble;
93        double   codel, bgdel;
94        double   xi, xj, xk;
95        double   sindt, cosz, sinz;
96
97        /* executable code */
98
99        /* check for equality */
100        as = fabs(slat-elat) + fabs(slon-elon);
101        if  (as < 1.0e-5)  {
102                *distance = 0.0;
103                *azim = 0.0;
104                *bazim = 0.0;
105                return;
106        } /*endif*/
107
108        mb_geocr( slon, slat, &as, &bs, &cs );
109        ds = sqrt( 1.0 - cs*cs );
110        mb_geocr( elon, elat, &ae, &be, &ce );
111        de = sqrt( 1.0 - ce*ce );
112
113        bls = DEG2RAD( slon );
114        cbls = cos( bls );
115        sbls = sin( bls );
116        codel = ae*as + be*bs + ce*cs;
117
118        sindt = sqrt( 1.0-codel*codel );
119        if  (codel == 0.0)  {
120                bgdel = BC_PI/2.0;
121        } else {
122                bgdel = atan( fabs(sindt/codel) );
123                if  (codel <= 0.0)
124                        bgdel = BC_PI - bgdel;
125        } /*endif*/
126
127        *distance = RAD2DEG( bgdel );
128
129        /* azimuths */
130        xi = bs*ce - be*cs;
131        xj = as*ce - ae*cs;
132        xk = as*be - ae*bs;
133        cosz = (xi*sbls + xj*cbls)/sindt;
134        sinz = xk/(ds*sindt);
135        *bazim = mb_azm( cosz, sinz );
136        ble = DEG2RAD( elon );
137        cosz = -(xi*sin(ble) + xj*cos(ble))/sindt;
138        sinz = -xk/(de*sindt);
139        *azim = mb_azm( cosz, sinz );
140
141} /* end of mb_locdiff */
142
143
144
145/*---------------------------------------------------------------------*/
146
147
148
149void mb_deg_to_km( int listlth, double lat[], double lon[],
150        float x[], float y[] )
151
152/* computes x-y coordinates of points on surface of earth given in lat&lon.
153 * The reference point is assumed to be given as last element of the list.
154 *
155 * parameters of routine
156 * int        listlth;       length of following arrays
157 * double     lat[], lon[];  input; given locations in deg
158 * float      x[], y[];      output; returned locations in km
159 */
160{
161        /* local variables */
162        int      i;                /* counter */
163        double   reflat, reflon;   /* reference point */
164        double   dist, az, baz;    /* distance azimuth back-azimuth */
165
166        /* executable code */
167
168        reflat = lat[listlth-1];
169        reflon = lon[listlth-1];
170        x[listlth-1] = 0.0;
171        y[listlth-1] = 0.0;
172
173        for  (i=0; i<(listlth-1); i++)  {
174                mb_locdiff( lat[i], lon[i], reflat, reflon, &dist, &az, &baz );
175                dist *= SHC_DEG_TO_KM;
176                if  (dist < SHC_EPSILON)  {
177                        x[i] = y[i] = 0.0;
178                } else {
179                        az /= SHC_RAD_TO_DEG;
180                        x[i] = dist * sin(az);
181                        y[i] = dist * cos(az);
182                } /*endif*/
183        } /*endfor*/
184
185} /* end of mb_deg_to_km */
186
187
188
189/*---------------------------------------------------------------------*/
190
191
192
193static void mb_geocr( double lon, double lat, double *a, double *b, double *c )
194
195/* no comment available
196 *
197 */
198{
199        /* local variables */
200        double   blbda, bphi, ep, ug, vg;
201
202        /* executable code */
203
204        blbda = DEG2RAD( lon );
205        bphi = DEG2RAD( lat );
206        ep = 1.0 - 1.0/297.0;
207        ug = ep*ep*tan(bphi);
208        vg = 1.0/sqrt(1.0+ug*ug);
209        *a = vg*cos(blbda);
210        *b = vg*sin(blbda);
211        *c = ug*vg;
212
213} /* end of mb_geocr */
214
215
216
217/*---------------------------------------------------------------------*/
218
219
220
221static double mb_azm( double x, double y )
222
223/* no comment available
224 *
225 */
226{
227        /* local variables */
228        double   th;
229
230        /* executable code */
231
232        if  (x == 0.0)  {
233                if  (y > 0.0)  return 90.0;
234                if  (y < 0.0)  return 270.0;
235                return 0.0;
236        } /*endif*/
237
238        th = RAD2DEG( atan(fabs(y/x)) );
239        if  (x > 0.0)  {
240                if  (y < 0.0)  return (360.0-th);
241                return th;
242        } else {
243                if  (y >= 0.0)  return (180.0-th);
244                return (180.0+th);
245        } /*endif*/
246
247} /* end of mb_azm */
248
249
250
251/*---------------------------------------------------------------------*/
252
253
254void mb_ferindex( float lat, float lon, int *feridx, STATUS *status )
255
256/* returns FER index from given location (lat,lon) in degrees
257 *
258 * parameters of routine
259 * float      lat, lon;     input; location in degrees
260 */
261{
262        /* local variables */
263        int      isreg;        /* seismic region name, not used here */
264
265        /* executable code */
266
267        mbh_fer_lookup( lat, ' ', lon, ' ', feridx, &isreg );
268
269} /* end of mb_ferindex */
270
271
272
273/*---------------------------------------------------------------------*/
274
275
276void mb_fername( int ferindex, int maxlth, char fername[], STATUS *status )
277
278/* returns name of FER
279 *
280 * parameters of routine
281 * int        ferindex;       input; FER index
282 * char       fername[];      output; FER name
283 * STATUS     *status;        output; return status
284 */
285{
286        /* local variables */
287        char     srname[cBcLineLth+1];   /* seismic region name, not used here */
288
289        /* executable code */
290
291        if  (maxlth < 79)  {
292                *status = MBE_SHORTSTR;
293                return;
294        } /*endif*/
295
296        mbh_fer_region( ferindex, fername, 1, srname );
297
298} /* end of mb_fername */
299
300
301
302/*---------------------------------------------------------------------*/
303
304
305
306void mb_setindexfile( char name[], STATUS *status )
307
308/* tells where to find the FER index file
309 *
310 * parameters of routine
311 * char       name[];     input; name (and path) of FER index file
312 * STATUS     *status;    output; return status
313 */
314{
315        /* executable code */
316
317        if  (strlen(name) > BC_FILELTH)  {
318                *status = MBE_SHORTSTR;
319                return;
320        } /*endif*/
321        strcpy( mbv_indexfile, name );
322
323
324} /* end of mb_setindexfile */
325
326
327
328/*---------------------------------------------------------------------*/
329
330
331
332void mb_setfernamefile( char name[], STATUS *status )
333
334/* tells where to find the FER name file
335 *
336 * parameters of routine
337 * char       name[];     input; name (and path) of FER name file
338 * STATUS     *status;    output; return status
339 */
340{
341        /* executable code */
342
343        if  (strlen(name) > BC_FILELTH)  {
344                *status = MBE_SHORTSTR;
345                return;
346        } /*endif*/
347        strcpy( mbv_namefile, name );
348
349
350} /* end of mb_setfernamefile */
351
352
353
354/*---------------------------------------------------------------------*/
355
356
357
358void mb_getlocname( float lat, float lon, int maxlth,
359        char name[], STATUS *status )
360
361/* returns FER name of location (lat,lon)
362 *
363 * parameters of routine
364 * float      lat, lon;       input; location in degrees
365 * int        maxlth;         input; maximum length of output string
366 * char       name[];         output; FER name
367 * STATUS     *status;        output; return status
368 */
369{
370        /* local variables */
371        int      feridx;       /* FER index */
372
373        /* executable code */
374
375        mb_ferindex( lat, lon, &feridx, status );
376        if  (Severe(status))  return;
377        mb_fername( feridx, maxlth, name, status );
378
379} /* end of mb_getlocname */
380
381
382
383/*---------------------------------------------------------------------*/
384
385
386
387void mb_spherediff( float slat, float slon, float elat, float elon,
388        float *dist, float *bazim )
389
390/* computes difference and azimuth of two locations (slat,slon)
391 * and (elat,elon)
392 *
393 * parameters of routine
394 * float      slat, slon;    input; (station) location in degrees
395 * float      elat, elon;    input; (epicentre) location in degrees
396 * float      *dist;         output; distance in degrees
397 * float      *bazim;        output; (back-)azimuth in degrees
398 */
399{
400        /* local variables */
401        float    gamma;    /* top angle in triangle */
402        BOOLEAN  invert;   /* invert angle */
403        double   arg;      /* argument of acos */
404
405        /* executable code */
406
407        /* transformation to mathematical system */
408        slat = 90.0 - slat;
409        elat = 90.0 - elat;
410        if  (slon < 0.0)  slon = 360 + slon;
411        if  (elon < 0.0)  elon = 360 + elon;
412
413        /* compute top angle */
414        gamma = elon - slon;
415        if  (gamma < 0.0)  gamma += 360.0;
416        invert = (gamma > 180.0);
417        if  (invert)  gamma = 360.0 - gamma;
418
419        /* degrees to radian */
420        slat = DEG2RAD( slat );
421        elat = DEG2RAD( elat );
422        gamma = DEG2RAD( gamma );
423
424        arg = cos(elat)*cos(slat) + sin(elat)*sin(slat)*cos(gamma);
425        if  (arg > 1.0)  {fprintf(stderr,"-->acos(%e) [1]\n",arg); arg = 1.0;}
426        if  (arg < -1.0)  {fprintf(stderr,"-->acos(%e) [1]\n",arg); arg = -1.0;}
427        *dist = acos( arg );
428        arg = (cos(elat)-cos(slat)*cos(*dist))/(sin(slat)*sin(*dist));
429        if  (arg > 1.0)  {fprintf(stderr,"-->acos(%e) [2]\n",arg); arg = 1.0;}
430        if  (arg < -1.0)  {fprintf(stderr,"-->acos(%e) [2]\n",arg); arg = -1.0;}
431        *bazim = acos( arg );
432
433        /* back to degrees */
434        *dist = RAD2DEG( *dist );
435        *bazim = RAD2DEG( *bazim );
436
437        if  (invert)  *bazim = 360.0 - *bazim;
438
439} /* end of mb_spherediff */
440
441
442
443/*---------------------------------------------------------------------*/
444
445
446
447void mb_sphereadd( float slat, float slon, float dist, float bazim,
448        float *elat, float *elon )
449
450/* computes new location from input location (slat,slon) and distance
451 * "dist" and azimuth "bazim"
452 *
453 * parameters of routine
454 * float      slat, slon;    input; (station) input location in degrees
455 * float      dist;          input; distance in degrees
456 * float      bazim;         input; (back-)azimuth in degrees
457 * float      *elat, *elon;  output; (epicentre) location in degrees
458 */
459{
460        /* local variables */
461        float    gamma;    /* top angle in triangle */
462        BOOLEAN  invert;   /* invert angle */
463        double   arg;      /* argument of acos */
464
465        /* executable code */
466
467        /* transformation to mathematical system */
468        slat = 90.0 - slat;
469        if  (slon < 0.0)  slon = 360 + slon;
470
471        invert = (bazim > 180.0);
472        if  (invert)  bazim = 360 - bazim;
473
474        /* degrees to radian */
475        slat = DEG2RAD( slat );
476        dist = DEG2RAD( dist );
477        bazim = DEG2RAD( bazim );
478
479        arg = cos(dist)*cos(slat) + sin(dist)*sin(slat)*cos(bazim);
480        if  (arg > 1.0)  {fprintf(stderr,"-->acos(%e) [3]\n",arg); arg = 1.0;}
481        if  (arg < -1.0)  {fprintf(stderr,"-->acos(%e) [3]\n",arg); arg = -1.0;}
482        *elat = acos( arg );
483        arg = (cos(dist)-cos(*elat)*cos(slat))/(sin(*elat)*sin(slat));
484        if  (arg > 1.0)  {fprintf(stderr,"-->acos(%e) [4]\n",arg); arg = 1.0;}
485        if  (arg < -1.0)  {fprintf(stderr,"-->acos(%e) [4]\n",arg); arg = -1.0;}
486        gamma = acos( arg );
487
488        /* back to degrees */
489        *elat = RAD2DEG( *elat );
490        gamma = RAD2DEG( gamma );
491
492        if  (invert)  gamma = 360.0 - gamma;
493        *elon = slon + gamma;
494        if  (*elon > 360.0)  *elon -= 360.0;
495
496        /* transformation back to geo-system */
497        *elat = 90.0 - *elat;
498        if  (*elon > 180.0)  *elon -= 360.0;
499
500} /* end of mb_sphereadd */
501
502
503
504/*---------------------------------------------------------------------*/
505
506
507
508void mb_statcorr( float slo_in, float az_in, float *slo_out,
509        float *az_out, float *slo_dist, float *az_dist, STATUS *status )
510
511/* applies station correction for slowness and azimuth.  The
512 * corrections are listed in a correction file mbv_corrfile.
513 * The difference vector of the next correction point is
514 * added to the input data
515 *
516 * parameters of routine
517 * float      slo_in;    input; input slowness in sec/deg
518 * float      az_in;     input; input azimuth in deg
519 * float      *slo_out;  output; corrected slowness in sec/deg
520 * float      *az_out;   output; corrected azimuth in deg
521 * float      *slo_dist; output; slowness distance to the next correction
522 * float      *az_dist;  output; azimuth distance to the next correction
523 * STATUS     *status;   output; return status
524 */
525#define STARTPOS 26
526{
527        /* local variables */
528        FILE     *cf;                  /* pointer to correction file */
529        char     line[BC_LINELTH+1];   /* current line */
530        float    a0, ac;               /* uncorrected and corrected azimuth */
531        float    s0, sc;               /* uncorrected and corrected slowness */
532        float    a0m, s0m;             /* az & slo of next position */
533        float    acm, scm;             /* corr. az & slo of next position */
534        float    a0r;                  /* a0 in radians */
535        float    ui, vi;               /* input position */
536        float    u0, v0;               /* corrector position */
537        float    mindist;              /* minimum distance */
538        float    dist;                 /* current distance */
539
540        /* executable code */
541
542        cf = sy_fopen( mbv_corrfile, "r" );
543        if  (cf == NULL)  {
544                *status = MBE_OPNCORR;
545                return;
546        } /*endif*/
547
548        az_in = DEG2RAD( az_in );
549        ui = slo_in * cos( az_in );
550        vi = slo_in * sin( az_in );
551        mindist = -1.0;  /* init value */
552
553        /* find closest existing correction */
554        while  (fgets(line,BC_LINELTH,cf) != NULL)  {
555                if  (*line != '!')  {
556                        if  (sscanf(line+STARTPOS,"%f %f %f %f",&s0,&a0,&sc,&ac) != 4)  {
557                                *status = MBE_RDCORR;
558                                sy_fclose( cf );
559                                return;
560                        } /*endif*/
561                        a0r = DEG2RAD( a0 );
562                        u0 = s0 * cos( a0r );
563                        v0 = s0 * sin( a0r );
564                        dist = (u0-ui)*(u0-ui) + (v0-vi)*(v0-vi);
565                        if  (mindist < 0.0  ||  dist < mindist)  {
566                                mindist = dist;
567                                a0m = a0;  s0m = s0;
568                                acm = ac;  scm = sc;
569                        } /*endif*/
570                } /*endif*/
571        } /*endwhile*/
572
573        sy_fclose( cf );
574
575        if  (mindist < 0.0)  {
576                *status = MBE_EMPTYLIST;
577                return;
578        } /*endif*/
579
580        /* apply corrections */
581        az_in = RAD2DEG( az_in );
582        *slo_out = slo_in + scm - s0m;
583        *az_out = az_in + acm - a0m;
584        if  (*az_out < 0.0)  *az_out += 360.0;
585        if  (*az_out > 360.0)  *az_out -= 360.0;
586        *slo_dist = s0m - slo_in;
587        *az_dist = a0m - az_in;
588
589} /* end of mb_statcorr */
590#undef STARTPOS
591
592
593
594/*---------------------------------------------------------------------*/
595
596
597
598void mb_setcorrfilename( char name[], STATUS *status )
599
600/* tells where to find the slowness and azimuth correction file
601 *
602 * parameters of routine
603 * char       name[];     input; name (and path) of correction file
604 * STATUS     *status;    output; return status
605 */
606{
607        /* executable code */
608
609        if  (strlen(name) > BC_FILELTH)  {
610                *status = MBE_SHORTSTR;
611                return;
612        } /*endif*/
613        strcpy( mbv_corrfile, name );
614
615
616} /* end of mb_setcorrfilename */
617
618
619
620/*---------------------------------------------------------------------*/
621
622/* subroutines copied from ISC program CD */
623
624
625void mbh_fer_lookup( float alat, char drclat, float alng, char drclng,
626        int *igreg, int *isreg )
627
628/*Caveat : This  subroutine is part of a suite of programs which is         */
629/*         software  quality  registered.   Software is supplied on         */
630/*         the understanding the user is responsible for validation         */
631/*         and accepts that the authors have  no  liability for its         */
632/*         use or misuse.                                                   */
633/*                                                                          */
634/*                                                                          */
635/*                  REGION NUMBER LOOKUP PROGRAM                            */
636/*                  -------======---------------                            */
637/*                                                                          */
638/*                                                                          */
639/*     Given a latitude and a longitude this subroutine looks up the        */
640/*     geographical region number as defined by Edward A. Flinn and         */
641/*     Eric R. Engdahl in Reviews of Geophysics Vol.3 No.1 pp.123-149       */
642/*     Feb.1965 and in the Bulletin of the Seismological Society of         */
643/*     America Vol.14 No.3-Part II pp.771-992 Jun.1974.                     */
644/*     Also included are four additional geographical regions as agreed     */
645/*     at IUGG in August 1987, six additional regions approved at IASPEI    */
646/*     in August 1989, a further eighteen regions presented at IUGG in      */
647/*     August 1991, and all finally approved at IUGG in July 1995.          */
648/*                                                                          */
649/*                                                                          */
650/*     From the call  lookup(alat,drclat,alng,drclng,igreg,isreg)           */
651/*                                                                          */
652/*     and given the latitude (ALAT), the direction (DRCLAT) 'N' or 'S',    */
653/*          and the longitude (ALNG), the direction (DRCLNG) 'E' or 'W',    */
654/*     the program looks up the geographical region number (IGREG), and     */
655/*                          also the seismic region number (ISREG).         */
656/*                                                                          */
657/*     Options:  If the directions are set to blank the program uses the    */
658/*     sign of the latitude and longitude, positive 'N' and 'E' and         */
659/*     negative 'S' and 'W'.  The direction code is not case sensitive      */
660/*     but the program will only recognise 'N', 'S', 'E', 'W', or blank.    */
661/*     Note:  No test is made for a latitude and longitude near a           */
662/*     boundary; the nearest integer value is used.                         */
663/*                                                                          */
664/*                                                                          */
665/*     The world is segmentised by Flinn and Engdahl as follows -           */
666/*                                                                          */
667/*                                     Y.N                                  */
668/*                                      .                                   */
669/*                                      .                                   */
670/*                           NW  ***    .    ***  NE                        */
671/*                               *2*    .    *1*                            */
672/*                           +-  ***    .    ***  ++                        */
673/*                                      .                                   */
674/*                                      .                                   */
675/*                         Quad 2       .       Quad 1                      */
676/*                                      .                                   */
677/*                  W                   .                    E              */
678/*                  ..........................................              */
679/*                  X                   .                    X              */
680/*                                      .                                   */
681/*                         Quad 3       .       Quad 4                      */
682/*                                      .                                   */
683/*                                      .                                   */
684/*                           SW  ***    .    ***  SE                        */
685/*                               *3*    .    *4*                            */
686/*                           --  ***    .    ***  -+                        */
687/*                                      .                                   */
688/*                                      .                                   */
689/*                                     Y.S                                  */
690/*                                                                          */
691/*                                                                          */
692/*     See also the region name lookup program (REGION).                    */
693/*                                                                          */
694/*                                                                          */
695{
696int lat, lng, i, j, n, quad;
697static int date = 1995;
698static int nn = 757;
699static int ind[5] = { 0,    0, 1919, 3535, 4747};
700static int num[5] = { 0, 1914, 1579, 1161, 1304};
701static short int nsreg[759] = { 0,
702    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
703    2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4,
704    4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6,
705    6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
706    7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
707    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,10,10,10,10,
708   10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,
709   12,12,12,12,13,13,13,14,14,14,14,14,14,14,15,15,15,15,15,15,16,16,16,16,16,
710   16,16,16,16,16,16,16,16,17,17,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,
711   19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,22,22,22,
712   22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,
713   24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,
714   25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,
715   28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,
716   29,29,29,29,29,29,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,
717   31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,
718   31,32,32,32,32,32,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,33,33,33,
719   33,33,33,33,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,34,34,34,34,34,
720   34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,
721   34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,
722   34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,
723   34,34,35,35,35,35,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,37,
724   37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,
725   37,37,37,37,37,37,37,37,37,37,37,37,38,38,38,38,38,38,38,38,38,38,38,38,38,
726   38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,
727   39,39,39,39,39,39,39,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,
728   40,40,40,40,40,41,41,41,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,42,42,
729   42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,45,
730   45,45,46,46,46,46,46,46,47,47,47,47,48,48,48,48,48,48,48,48,49,49,49,49,49,
731   49,50,50,50, 5, 7,10,25,25,25,25,25,32,32,33,33,33,37,37,37,37,37,37,37,37,
732   37,37,37,37,37,43,44, 0,
733 };
734static short int lln[6060][3] = {
735  0,  0,561, 0,  9,565, 0, 14,566, 0, 18,567, 0, 30,568, 0, 31,569, 0, 35,570,
736  0, 41,571, 0, 44,420, 0, 65,421, 0, 70,422, 0, 78,420, 0, 92,705, 0, 97,706,
737  0,104,707, 0,105,301, 0,108,261, 0,119,265, 0,125,266, 0,127,267, 0,130,196,
738  0,141,198, 0,145,614, 0,165,618, 1,  0,561, 1,  9,563, 1, 11,565, 1, 13,566,
739  1, 18,567, 1, 30,568, 1, 35,570, 1, 41,571, 1, 46,420, 1, 64,421, 1, 69,420,
740  1, 70,422, 1, 78,420, 1, 92,705, 1, 97,706, 1,103,707, 1,105,301, 1,108,261,
741  1,119,262, 1,120,265, 1,125,266, 1,127,267, 1,130,196, 1,141,198, 1,145,614,
742  1,165,618, 2,  0,561, 2,  9,562, 2, 16,566, 2, 18,567, 2, 31,568, 2, 35,570,
743  2, 41,571, 2, 47,420, 2, 62,421, 2, 68,420, 2, 70,422, 2, 75,423, 2, 80,420,
744  2, 90,705, 2, 96,706, 2,101,707, 2,105,301, 2,111,261, 2,118,262, 2,125,263,
745  2,126,266, 2,128,267, 2,130,196, 2,141,198, 2,145,614, 2,165,618, 3,  0,561,
746  3,  9,562, 3, 15,564, 3, 17,566, 3, 19,567, 3, 31,568, 3, 34,570, 3, 42,571,
747  3, 47,419, 3, 48,420, 3, 60,421, 3, 68,420, 3, 70,422, 3, 75,423, 3, 80,420,
748  3, 90,705, 3, 96,706, 3,101,707, 3,104,301, 3,113,261, 3,118,262, 3,125,263,
749  3,128,264, 3,131,209, 3,142,614, 3,165,615, 3,171,618, 4,  0,752, 4,  1,753,
750  4,  3,755, 4, 10,562, 4, 15,564, 4, 19,567, 4, 20,564, 4, 23,567, 4, 28,557,
751  4, 35,570, 4, 36,558, 4, 43,571, 4, 47,419, 4, 49,420, 4, 58,421, 4, 68,420,
752  4, 70,422, 4, 75,423, 4, 80,420, 4, 90,705, 4, 95,706, 4,100,707, 4,104,301,
753  4,114,261, 4,119,258, 4,121,262, 4,125,263, 4,128,264, 4,131,209, 4,142,614,
754  4,165,615, 4,171,618, 5,  0,752, 5,  1,753, 5,  3,755, 5, 10,562, 5, 15,564,
755  5, 27,557, 5, 36,558, 5, 45,571, 5, 47,419, 5, 49,420, 5, 56,421, 5, 66,420,
756  5, 70,422, 5, 75,423, 5, 79,424, 5, 83,420, 5, 90,705, 5, 94,706, 5,100,707,
757  5,104,301, 5,115,261, 5,119,258, 5,121,262, 5,123,259, 5,127,248, 5,128,260,
758  5,131,209, 5,142,614, 5,165,615, 6,  0,752, 6,  1,753, 6,  3,755, 6, 11,562,
759  6, 15,564, 6, 26,557, 6, 35,558, 6, 47,419, 6, 50,420, 6, 55,421, 6, 64,420,
760  6, 70,422, 6, 75,423, 6, 79,424, 6, 83,319, 6, 90,704, 6, 98,706, 6, 99,707,
761  6,103,708, 6,104,301, 6,116,261, 6,119,253, 6,120,258, 6,121,259, 6,127,248,
762  6,128,260, 6,131,209, 6,142,614, 6,165,615, 7,  0,752, 7,  1,753, 7,  3,755,
763  7, 12,562, 7, 15,564, 7, 25,557, 7, 34,558, 7, 47,419, 7, 50,420, 7, 55,421,
764  7, 63,420, 7, 70,422, 7, 75,423, 7, 79,424, 7, 83,319, 7, 90,704, 7, 98,707,
765  7,101,708, 7,104,301, 7,116,261, 7,118,253, 7,121,259, 7,127,248, 7,128,260,
766  7,131,209, 7,142,614, 7,162,615, 8,  0,753, 8,  3,755, 8, 12,556, 8, 19,564,
767  8, 24,557, 8, 34,558, 8, 46,560, 8, 47,419, 8, 51,420, 8, 54,421, 8, 61,417,
768  8, 71,418, 8, 76,314, 8, 79,424, 8, 82,319, 8, 90,704, 8, 98,707, 8,101,708,
769  8,104,736, 8,107,301, 8,117,252, 8,118,253, 8,121,259, 8,127,248, 8,128,260,
770  8,131,209, 8,142,614, 8,160,615, 9,  0,753, 9,  3,755, 9, 12,556, 9, 21,564,
771  9, 23,557, 9, 34,558, 9, 44,560, 9, 47,419, 9, 51,420, 9, 54,421, 9, 61,417,
772  9, 71,418, 9, 76,314, 9, 80,424, 9, 82,319, 9, 90,704, 9, 98,707, 9,100,708,
773  9,104,736, 9,108,301, 9,117,252, 9,119,253, 9,122,257, 9,124,259, 9,127,248,
774  9,128,260, 9,131,209, 9,142,614, 9,159,615,10,  0,753,10,  4,755,10, 12,556,
775 10, 22,564,10, 23,557,10, 35,558,10, 43,560,10, 47,419,10, 52,420,10, 54,421,
776 10, 59,417,10, 71,418,10, 75,314,10, 80,319,10, 90,703,10, 98,707,10,100,708,
777 10,103,735,10,105,736,10,110,301,10,117,248,10,118,252,10,120,253,10,121,254,
778 10,123,255,10,124,256,10,126,248,10,128,260,10,131,209,10,142,210,10,146,614,
779 10,159,615,10,161,616,10,164,617,10,167,615,11,  0,751,11,  2,753,11,  4,755,
780 11, 12,556,11, 23,557,11, 35,558,11, 44,559,11, 47,415,11, 50,419,11, 52,416,
781 11, 57,740,11, 59,417,11, 71,418,11, 75,314,11, 80,319,11, 90,703,11, 98,707,
782 11,100,708,11,102,733,11,103,735,11,106,736,11,110,301,11,117,248,11,119,252,
783 11,121,254,11,123,255,11,124,256,11,125,251,11,126,248,11,128,260,11,131,209,
784 11,142,210,11,148,614,11,159,615,11,161,616,11,164,617,11,167,615,12,  0,751,
785 12,  2,754,12,  4,755,12, 12,556,12, 22,557,12, 36,558,12, 43,555,12, 45,559,
786 12, 47,415,12, 52,416,12, 57,740,12, 60,417,12, 71,418,12, 74,314,12, 81,319,
787 12, 90,703,12, 98,707,12,100,733,12,103,735,12,107,736,12,110,301,12,117,248,
788 12,120,250,12,122,249,12,124,251,12,126,248,12,128,260,12,131,209,12,141,210,
789 12,148,215,12,150,611,12,159,615,12,161,616,12,164,617,12,167,615,13,  0,751,
790 13,  1,754,13,  4,755,13,  7,754,13, 12,556,13, 22,557,13, 36,558,13, 43,555,
791 13, 48,415,13, 52,416,13, 57,740,13, 60,417,13, 73,314,13, 81,319,13, 90,703,
792 13, 97,298,13, 99,733,13,103,735,13,108,736,13,110,301,13,117,248,13,120,250,
793 13,122,249,13,125,248,13,128,260,13,131,241,13,137,214,13,141,210,13,144,216,
794 13,146,210,13,148,215,13,150,611,13,159,615,14,  0,754,14, 12,556,14, 22,557,
795 14, 36,558,14, 42,555,14, 48,351,14, 51,415,14, 53,740,14, 61,417,14, 73,314,
796 14, 81,319,14, 90,703,14, 97,298,14, 99,733,14,105,734,14,107,736,14,110,301,
797 14,117,248,14,119,249,14,125,248,14,128,260,14,131,241,14,137,214,14,141,215,
798 14,144,216,14,147,215,14,150,611,14,159,615,15,  0,745,15,  3,754,15, 12,556,
799 15, 23,557,15, 37,558,15, 41,554,15, 42,555,15, 48,351,15, 53,740,15, 61,417,
800 15, 73,314,15, 81,319,15, 94,298,15, 99,733,15,106,734,15,107,736,15,110,301,
801 15,117,248,15,119,249,15,122,248,15,126,260,15,131,241,15,137,214,15,141,215,
802 15,145,216,15,147,215,15,150,611,15,159,615,16,  0,745,16,  4,754,16, 12,556,
803 16, 24,557,16, 37,558,16, 40,554,16, 42,555,16, 48,351,16, 56,740,16, 61,417,
804 16, 73,314,16, 83,319,16, 94,298,16, 99,733,16,105,734,16,107,736,16,110,301,
805 16,117,248,16,119,249,16,123,248,16,126,260,16,131,241,16,137,214,16,141,215,
806 16,145,216,16,147,215,16,150,611,16,159,615,17,  0,745,17,  4,754,17, 12,556,
807 17, 24,557,17, 38,558,17, 39,554,17, 41,555,17, 48,351,17, 57,740,17, 62,417,
808 17, 72,314,17, 84,319,17, 94,296,17, 98,733,17,105,734,17,106,736,17,107,737,
809 17,110,301,17,117,248,17,120,249,17,123,248,17,126,260,17,131,241,17,137,214,
810 17,141,215,17,145,216,17,147,215,17,150,611,18,  0,745,18,  4,754,18, 12,556,
811 18, 24,557,18, 39,554,18, 41,555,18, 48,351,18, 58,740,18, 62,417,18, 72,314,
812 18, 85,319,18, 93,296,18, 98,733,18,101,734,18,105,736,18,107,737,18,108,300,
813 18,112,301,18,117,248,18,120,249,18,123,248,18,126,260,18,131,241,18,137,214,
814 18,141,215,18,144,216,18,147,215,18,150,611,19,  0,745,19,  3,551,19,  5,754,
815 19, 12,556,19, 24,557,19, 38,554,19, 40,555,19, 48,351,19, 58,740,19, 63,417,
816 19, 72,314,19, 87,319,19, 93,296,19, 98,733,19,101,734,19,104,736,19,106,737,
817 19,108,300,19,112,301,19,117,248,19,126,260,19,131,241,19,137,214,19,141,215,
818 19,144,216,19,146,215,19,150,611,20,  0,745,20,  1,551,20,  8,754,20, 12,556,
819 20, 25,557,20, 38,554,20, 39,555,20, 45,351,20, 59,740,20, 63,417,20, 70,314,
820 20, 87,319,20, 92,296,20,100,734,20,105,736,20,107,737,20,108,664,20,112,301,
821 20,117,248,20,126,260,20,131,241,20,137,214,20,141,215,20,144,216,20,146,215,
822 20,150,611,21,  0,551,21,  9,754,21, 12,556,21, 25,557,21, 38,554,21, 39,555,
823 21, 45,351,21, 60,740,21, 64,417,21, 69,314,21, 89,316,21, 91,319,21, 92,295,
824 21, 93,296,21, 99,297,21,102,734,21,103,736,21,108,664,21,112,242,21,117,243,
825 21,123,247,21,126,241,21,137,214,21,141,215,21,150,611,22,  0,551,22, 10,754,
826 22, 12,556,22, 25,553,22, 35,557,22, 37,554,22, 38,555,22, 45,351,22, 60,740,
827 22, 65,356,22, 68,314,22, 88,315,22, 89,316,22, 92,315,22, 93,294,22, 94,296,
828 22, 98,297,22,102,318,22,105,736,22,107,664,22,112,242,22,117,243,22,120,244,
829 22,121,243,22,123,247,22,126,241,22,137,213,22,145,611,23,  0,551,23, 12,552,
830 23, 25,553,23, 36,554,23, 38,555,23, 45,351,23, 60,355,23, 61,356,23, 67,710,
831 23, 68,712,23, 69,314,23, 88,315,23, 89,316,23, 91,315,23, 93,294,23, 95,296,
832 23, 97,297,23,100,318,23,106,664,23,112,242,23,118,243,23,120,244,23,122,243,
833 23,123,246,23,126,239,23,132,241,23,137,213,23,145,611,24,  0,551,24, 10,552,
834 24, 25,553,24, 36,554,24, 37,555,24, 45,351,24, 57,355,24, 61,356,24, 66,710,
835 24, 68,712,24, 71,308,24, 88,315,24, 89,316,24, 91,315,24, 93,294,24, 95,296,
836 24, 97,297,24, 99,318,24,105,664,24,114,242,24,119,243,24,120,244,24,122,243,
837 24,123,246,24,126,238,24,127,239,24,132,241,24,137,213,24,145,611,24,177,612,
838 25,  0,551,25, 10,552,25, 25,553,25, 35,554,25, 36,555,25, 44,351,25, 52,352,
839 25, 55,351,25, 57,353,25, 62,354,25, 65,710,25, 70,712,25, 71,308,25, 88,315,
840 25, 93,317,25, 94,294,25, 96,296,25, 97,297,25, 99,318,25,104,664,25,116,242,
841 25,120,243,25,121,244,25,122,243,25,123,245,25,125,246,25,126,238,25,129,239,
842 25,132,240,25,137,213,25,145,611,25,177,612,26,  0,551,26, 10,552,26, 25,553,
843 26, 34,554,26, 36,555,26, 44,351,26, 52,352,26, 53,353,26, 62,354,26, 65,710,
844 26, 69,712,26, 71,308,26, 84,309,26, 88,315,26, 90,317,26, 95,294,26, 96,296,
845 26, 98,297,26, 99,318,26,102,307,26,103,318,26,104,664,26,117,242,26,121,243,
846 26,123,245,26,126,238,26,130,239,26,132,240,26,137,212,26,145,611,26,177,612,
847 27,  0,551,27, 10,552,27, 25,553,27, 34,554,27, 35,555,27, 44,351,27, 50,352,
848 27, 52,353,27, 63,354,27, 65,710,27, 69,712,27, 72,308,27, 81,309,27, 85,310,
849 27, 88,311,27, 89,312,27, 92,313,27, 93,317,27, 95,294,27, 98,297,27, 99,318,
850 27,101,307,27,103,318,27,105,664,27,118,242,27,122,243,27,123,245,27,126,234,
851 27,127,238,27,131,239,27,132,240,27,137,212,27,145,611,27,177,612,28,  0,396,
852 28, 10,552,28, 25,553,28, 35,555,28, 44,351,28, 49,352,28, 51,353,28, 62,354,
853 28, 65,710,28, 71,712,28, 73,308,28, 80,309,28, 82,310,28, 86,306,28, 92,313,
854 28, 98,297,28, 99,318,28,100,307,28,106,664,28,108,307,28,109,664,28,122,666,
855 28,126,234,28,128,238,28,131,239,28,132,240,28,137,212,28,145,611,28,177,612,
856 29,  0,396,29, 10,552,29, 25,553,29, 35,555,29, 44,375,29, 47,351,29, 49,352,
857 29, 50,353,29, 61,354,29, 65,710,29, 72,712,29, 74,308,29, 80,309,29, 81,310,
858 29, 84,306,29, 94,313,29, 97,306,29, 99,307,29,109,664,29,123,666,29,126,234,
859 29,129,238,29,131,239,29,132,237,29,137,211,29,144,611,29,177,612,30,  0,396,
860 30,  9,397,30, 10,401,30, 25,553,30, 34,373,30, 37,374,30, 43,375,30, 47,346,
861 30, 49,347,30, 50,348,30, 61,350,30, 65,709,30, 66,710,30, 73,712,30, 75,308,
862 30, 79,305,30, 81,306,30, 99,307,30,109,664,30,123,666,30,126,234,30,129,235,
863 30,132,237,30,137,211,30,144,611,30,177,612,31,  0,396,31,  9,397,31, 10,401,
864 31, 18,400,31, 19,401,31, 25,553,31, 34,373,31, 37,374,31, 41,375,31, 47,346,
865 31, 48,347,31, 50,348,31, 61,350,31, 65,709,31, 68,710,31, 74,712,31, 75,308,
866 31, 78,305,31, 80,306,31, 99,307,31,110,664,31,122,666,31,126,234,31,129,235,
867 31,132,237,31,137,211,31,144,611,31,177,612,32,  0,396,32,  8,397,32, 11,401,
868 32, 16,400,32, 19,401,32, 25,371,32, 34,373,32, 37,374,32, 39,375,32, 46,346,
869 32, 48,347,32, 50,348,32, 61,350,32, 65,709,32, 69,710,32, 74,711,32, 75,303,
870 32, 78,304,32, 80,306,32, 96,325,32, 97,306,32, 98,307,32,108,664,32,122,666,
871 32,126,234,32,128,235,32,132,236,32,135,237,32,137,211,32,144,611,33,  0,396,
872 33,  8,397,33, 12,400,33, 25,371,33, 35,374,33, 39,375,33, 45,346,33, 47,347,
873 33, 50,348,33, 61,349,33, 65,709,33, 70,710,33, 74,711,33, 75,302,33, 76,303,
874 33, 77,302,33, 78,304,33, 80,306,33, 90,325,33,102,307,33,103,322,33,106,664,
875 33,121,665,33,125,231,33,129,235,33,132,236,33,135,233,33,137,230,33,138,211,
876 33,141,229,33,148,611,34,  0,396,34,  8,397,34, 12,400,34, 23,370,34, 27,371,
877 34, 31,372,34, 35,374,34, 41,375,34, 45,346,34, 46,347,34, 50,348,34, 61,349,
878 34, 65,709,34, 71,710,34, 74,711,34, 75,302,34, 78,304,34, 80,306,34, 90,325,
879 34,102,322,34,107,664,34,121,665,34,125,231,34,130,232,34,133,233,34,136,232,
880 34,137,230,34,140,228,34,141,229,34,148,611,35,  0,396,35,  8,397,35, 12,400,
881 35, 23,370,35, 27,369,35, 28,371,35, 31,372,35, 35,374,35, 41,375,35, 45,346,
882 35, 47,347,35, 50,348,35, 61,342,35, 64,349,35, 65,718,35, 71,710,35, 73,720,
883 35, 75,302,35, 79,304,35, 81,321,35, 82,306,35, 90,325,35,103,322,35,109,664,
884 35,121,665,35,125,231,35,130,660,35,132,232,35,137,227,35,139,230,35,140,228,
885 35,142,229,35,148,611,36,  0,396,36,  8,397,36, 12,400,36, 14,398,36, 16,400,
886 36, 21,368,36, 25,369,36, 29,366,36, 36,374,36, 41,375,36, 44,346,36, 46,345,
887 36, 49,347,36, 50,348,36, 59,341,36, 62,340,36, 63,342,36, 65,718,36, 71,717,
888 36, 73,720,36, 75,324,36, 79,321,36, 91,325,36,103,322,36,105,323,36,107,322,
889 36,109,664,36,123,665,36,125,231,36,130,660,36,136,226,36,137,227,36,140,228,
890 36,142,229,36,148,611,37,  0,387,37,  9,397,37, 11,398,37, 16,399,37, 21,368,
891 37, 25,369,37, 27,366,37, 44,343,37, 45,345,37, 49,338,37, 53,341,37, 56,348,
892 37, 57,341,37, 60,340,37, 64,342,37, 65,717,37, 72,715,37, 74,719,37, 76,321,
893 37, 91,325,37,102,322,37,104,323,37,111,658,37,124,231,37,130,660,37,136,226,
894 37,139,227,37,141,228,37,142,229,37,148,611,38,  0,377,38,  1,386,38,  5,387,
895 38, 11,398,38, 16,390,38, 18,399,38, 20,364,38, 24,365,38, 27,366,38, 44,343,
896 38, 45,344,38, 47,345,38, 48,344,38, 49,338,38, 53,340,38, 55,341,38, 58,340,
897 38, 65,714,38, 68,715,38, 70,717,38, 72,715,38, 73,719,38, 75,321,38, 91,325,
898 38,100,322,38,104,323,38,111,658,38,124,659,38,129,660,38,136,223,38,138,226,
899 38,140,227,38,141,228,38,143,229,38,148,611,39,  0,377,39,  1,386,39,  5,387,
900 39,  8,388,39, 10,389,39, 15,390,39, 19,392,39, 21,364,39, 23,365,39, 26,366,
901 39, 44,344,39, 49,338,39, 53,340,39, 63,339,39, 65,714,39, 68,715,39, 72,716,
902 39, 73,719,39, 74,321,39, 94,322,39,101,323,39,111,658,39,124,659,39,129,660,
903 39,136,223,39,139,226,39,140,227,39,142,228,39,143,229,39,148,611,40,  0,377,
904 40,  1,386,40,  5,387,40,  8,388,40, 10,389,40, 14,390,40, 18,382,40, 19,391,
905 40, 20,392,40, 21,364,40, 24,365,40, 26,366,40, 43,367,40, 45,337,40, 50,338,
906 40, 52,340,40, 62,339,40, 65,714,40, 69,715,40, 72,716,40, 74,320,40, 78,321,
907 40, 94,322,40, 98,323,40,111,658,40,125,659,40,130,660,40,136,223,40,139,226,
908 40,140,227,40,141,228,40,143,229,40,148,611,41,  0,377,41,  4,387,41,  8,380,
909 41, 10,389,41, 12,390,41, 17,382,41, 19,391,41, 21,383,41, 23,363,41, 27,366,
910 41, 41,367,41, 44,362,41, 45,337,41, 49,338,41, 52,340,41, 55,336,41, 56,339,
911 41, 57,340,41, 61,339,41, 65,713,41, 69,716,41, 76,320,41, 80,321,41, 95,322,
912 41, 97,323,41,111,658,41,126,659,41,131,660,41,136,223,41,139,224,41,146,225,
913 41,150,611,42,  0,378,42,  4,387,42,  8,380,42, 10,381,42, 15,382,42, 18,383,
914 42, 22,359,42, 28,360,42, 41,362,42, 45,337,42, 48,338,42, 52,336,42, 56,339,
915 42, 58,340,42, 59,339,42, 65,713,42, 71,716,42, 75,330,42, 80,320,42, 81,332,
916 42, 96,322,42, 97,323,42,100,334,42,111,658,42,129,659,42,130,657,42,132,661,
917 42,135,660,42,136,223,42,139,224,42,146,225,42,150,611,43,  0,538,43,  3,379,
918 43,  8,380,43, 10,381,43, 14,382,43, 16,383,43, 23,359,43, 28,360,43, 39,362,
919 43, 45,337,43, 48,338,43, 51,336,43, 56,339,43, 62,336,43, 64,339,43, 65,713,
920 43, 75,330,43, 80,331,43, 81,332,43, 96,334,43,112,658,43,130,657,43,132,661,
921 43,136,223,43,140,224,43,146,221,43,148,222,43,153,611,44,  0,538,44,  7,545,
922 44, 13,382,44, 15,383,44, 22,358,44, 29,360,44, 33,361,44, 37,362,44, 44,357,
923 44, 48,338,44, 50,336,44, 56,339,44, 61,336,44, 65,713,44, 75,329,44, 80,331,
924 44, 81,332,44, 95,334,44,112,658,44,130,657,44,134,661,44,137,223,44,141,224,
925 44,146,221,44,150,222,44,155,611,45,  0,538,45,  7,545,45, 14,383,45, 21,358,
926 45, 28,357,45, 32,361,45, 37,357,45, 48,338,45, 51,336,45, 58,339,45, 59,336,
927 45, 65,713,45, 75,329,45, 80,331,45, 83,332,45, 91,334,45,115,658,45,130,657,
928 45,134,661,45,138,223,45,141,224,45,146,221,45,152,222,45,164, 16,46,  0,538,
929 46,  6,544,46, 10,545,46, 13,546,46, 14,383,46, 17,549,46, 21,358,46, 28,357,
930 46, 49,336,46, 50,338,46, 53,336,46, 65,713,46, 75,329,46, 82,331,46, 85,332,
931 46, 91,334,46,117,658,46,133,657,46,135,661,46,141,662,46,144,663,46,146,220,
932 46,149,221,46,154,222,46,164, 16,47,  0,538,47,  7,544,47,  9,543,47, 10,546,
933 47, 17,549,47, 22,358,47, 28,357,47, 48,336,47, 65,713,47, 75,329,47, 82,331,
934 47, 86,332,47, 91,334,47,119,658,47,130,657,47,135,661,47,141,662,47,144,663,
935 47,146,220,47,150,221,47,155,222,47,164, 16,48,  0,538,48,  8,543,48, 13,546,
936 48, 17,547,48, 21,549,48, 22,357,48, 47,336,48, 65,713,48, 75,329,48, 85,331,
937 48, 87,332,48, 88,334,48,116,658,48,129,657,48,135,661,48,141,662,48,144,663,
938 48,148,220,48,151,221,48,156,222,48,164, 16,49,  0,538,49,  6,543,49, 13,547,
939 49, 19,548,49, 23,357,49, 47,336,49, 65,713,49, 75,329,49, 86,331,49, 88,333,
940 49, 91,334,49, 94,333,49, 99,334,49,107,333,49,117,657,49,120,658,49,126,657,
941 49,131,656,49,137,661,49,141,662,49,145,663,49,148,220,49,153,221,49,157,222,
942 49,164, 16,50,  0,533,50,  1,538,50,  3,541,50,  6,543,50, 13,547,50, 16,548,
943 50, 24,724,50, 49,336,50, 65,713,50, 75,329,50, 84,326,50, 89,333,50, 99,334,
944 50,102,333,50,109,327,50,113,333,50,117,328,50,118,657,50,120,658,50,126,657,
945 50,128,656,50,137,661,50,141,662,50,145,663,50,150,220,50,153,221,50,158,222,
946 50,164, 16,50,175,  6,51,  0,533,51,  2,534,51,  3,540,51,  6,543,51, 15,548,
947 51, 24,724,51, 50,336,51, 53,724,51, 55,335,51, 61,336,51, 65,713,51, 75,329,
948 51, 80,326,51, 97,333,51,103,327,51,113,328,51,119,657,51,121,658,51,126,657,
949 51,128,656,51,137,661,51,141,662,51,144,663,51,152,220,51,156,217,51,157,218,
950 51,159,219,51,164, 16,51,170,  5,51,175,  6,52,  0,533,52,  2,534,52,  4,540,
951 52,  7,543,52, 14,548,52, 24,724,52, 55,335,52, 61,336,52, 65,713,52, 75,329,
952 52, 79,326,52, 97,333,52,101,326,52,102,327,52,113,328,52,119,657,52,121,658,
953 52,125,657,52,127,656,52,137,661,52,141,662,52,144,663,52,152,220,52,156,217,
954 52,158,218,52,159,219,52,164, 16,52,170,  5,52,175,  6,53,  0,533,53,  1,534,
955 53,  5,540,53,  7,543,53, 14,548,53, 24,724,53, 55,335,53, 61,336,53, 65,713,
956 53, 75,329,53, 78,326,53,102,327,53,113,328,53,119,657,53,127,656,53,137,661,
957 53,141,662,53,144,663,53,155,217,53,158,218,53,161,219,53,164,  4,53,170,  5,
958 53,175,  6,54,  0,534,54,  8,543,54, 14,537,54, 16,548,54, 20,724,54, 55,335,
959 54, 63,326,54, 65,713,54, 71,326,54,102,327,54,113,328,54,120,656,54,137,661,
960 54,141,662,54,144,663,54,155,217,54,159,218,54,163,219,54,164,  4,54,170,  5,
961 54,175,  3,55,  0,534,55,  8,542,55, 13,536,55, 15,537,55, 21,724,55, 55,335,
962 55, 63,326,55,102,327,55,113,328,55,120,656,55,139,663,55,155,217,55,161,218,
963 55,163,219,55,164,  4,55,170,  3,56,  0,534,56,  8,542,56, 12,536,56, 17,537,
964 56, 21,724,56, 55,335,56, 63,326,56,102,327,56,113,328,56,120,656,56,139,663,
965 56,155,217,56,161,218,56,164,  4,56,170,  3,57,  0,534,57,  8,542,57, 11,536,
966 57, 17,537,57, 21,724,57, 55,335,57, 63,326,57,102,327,57,113,328,57,120,656,
967 57,141,663,57,156,217,57,162,218,57,164,  3,58,  0,534,58,  5,535,58, 10,536,
968 58, 18,537,58, 21,724,58, 55,335,58, 63,326,58,110,328,58,120,656,58,142,671,
969 58,155,663,58,157,217,58,165,  3,59,  0,534,59,  4,535,59, 12,536,59, 19,537,
970 59, 21,724,59, 55,335,59, 63,326,59,110,328,59,120,656,59,142,671,59,156,663,
971 59,160,217,59,165,671,59,171,  3,60,  0,534,60,  4,535,60, 12,536,60, 19,721,
972 60, 27,723,60, 29,724,60, 55,335,60, 63,725,60, 85,726,60,130,671,60,173,  3,
973 61,  0,642,61,  4,535,61, 12,536,61, 19,721,61, 28,723,61, 31,724,61, 55,335,
974 61, 63,725,61, 85,726,61,130,671,61,176,  3,62,  0,642,62,  5,535,62, 12,536,
975 62, 20,721,62, 30,723,62, 32,724,62, 55,335,62, 63,725,62, 85,726,62,130,671,
976 63,  0,642,63,  7,535,63, 12,536,63, 21,721,63, 30,723,63, 32,724,63, 55,335,
977 63, 65,725,63, 85,726,63,130,671,64,  0,642,64, 10,646,64, 14,536,64, 23,721,
978 64, 29,723,64, 31,724,64, 55,335,64, 65,725,64, 85,726,64,130,671,65,  0,642,
979 65, 10,646,65, 14,536,65, 24,721,65, 29,723,65, 31,724,65, 55,335,65, 68,725,
980 65, 85,726,65,130,671,66,  0,642,66, 11,646,66, 16,536,66, 24,721,66, 29,723,
981 66, 30,724,66, 55,335,66, 68,725,66, 85,726,66,130,671,67,  0,642,67, 12,646,
982 67, 17,536,67, 24,721,67, 29,723,67, 30,724,67, 61,335,67, 68,725,67, 85,726,
983 67,130,671,67,178,670,68,  0,642,68, 12,646,68, 20,536,68, 22,721,68, 28,723,
984 68, 30,724,68, 40,647,68, 43,724,68, 64,335,68, 68,725,68, 85,726,68,130,671,
985 68,158,670,69,  0,642,69, 15,646,69, 26,721,69, 28,723,69, 29,722,69, 32,724,
986 69, 37,647,69, 48,724,69, 66,725,69, 85,726,69,130,671,69,150,670,70,  0,642,
987 70, 18,646,70, 31,647,70, 50,648,70, 58,724,70, 61,649,70, 66,725,70, 85,726,
988 70,130,670,70,161,669,70,168,670,70,172,669,70,178,670,71,  0,642,71, 20,647,
989 71, 23,646,71, 29,647,71, 50,648,71, 59,649,71, 66,725,71, 85,726,71,130,670,
990 71,159,669,71,178,670,72,  0,642,72, 20,647,72, 50,648,72, 59,649,72, 68,650,
991 72, 85,726,72,130,655,72,139,670,72,151,669,73,  0,640,73, 10,642,73, 20,647,
992 73, 52,648,73, 59,649,73, 69,650,73, 85,726,73,110,653,73,130,655,73,135,668,
993 73,145,669,74,  0,640,74, 10,642,74, 20,647,74, 52,648,74, 62,649,74, 79,650,
994 74, 85,653,74, 88,726,74,110,653,74,130,655,74,135,668,74,155,669,75,  0,640,
995 75, 10,643,75, 25,647,75, 54,648,75, 67,649,75, 81,650,75, 85,653,75,116,655,
996 75,135,668,75,155,669,76,  0,640,76,  5,643,76, 25,647,76, 58,648,76, 70,649,
997 76, 88,653,76,116,655,76,135,668,76,161,669,77,  0,640,77,  5,643,77, 35,647,
998 77, 65,648,77, 70,649,77, 88,653,77, 97,652,77,101,653,77,116,655,77,135,667,
999 77,154,668,77,161,634,78,  0,640,78,  5,643,78, 35,647,78, 70,649,78, 93,652,
1000 78,110,654,78,135,667,78,161,634,79,  0,640,79,  5,643,79, 35,645,79, 70,649,
1001 79, 85,652,79,110,654,79,135,667,79,161,634,80,  0,641,80,  5,643,80, 35,645,
1002 80, 70,649,80, 85,652,80,110,654,80,135,633,80,155,634,81,  0,641,81,  5,643,
1003 81, 35,645,81, 70,649,81, 85,652,81,110,654,81,135,633,81,155,634,82,  0,641,
1004 82, 35,645,82, 70,651,82,135,633,82,155,634,83,  0,641,83, 35,644,83, 70,651,
1005 83,135,633,83,155,634,84,  0,641,84, 35,644,84, 70,651,84,130,633,84,160,634,
1006 85,  0,641,85, 35,644,85, 70,651,85,120,633,85,170,634,86,  0,641,86, 35,644,
1007 86, 70,651,86,120,633,86,170,634,87,  0,641,87, 35,644,87, 70,651,87,100,633,
1008 88,  0,633,89,  0,633,90,180,633, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1009  0,  0,  0, 0,  0,561, 0,  9,407, 0, 18,406, 0, 32,402, 0, 49,528, 0, 62,113,
1010  0, 70,103, 0, 75,106, 0, 79,105, 0, 81,104, 0, 86,696, 0, 89,697, 0, 92,696,
1011  0, 96,695, 0,100,757, 0,106,693, 0,120,611, 0,153,620, 0,165,611, 1,  0,561,
1012  1,  9,407, 1, 18,406, 1, 33,402, 1, 49,528, 1, 58,529, 1, 60,528, 1, 62,113,
1013  1, 64,101, 1, 67,113, 1, 70,103, 1, 78,106, 1, 79,105, 1, 80,104, 1, 86,696,
1014  1, 96,695, 1,100,757, 1,106,693, 1,120,611, 1,153,620, 1,156,622, 1,161,620,
1015  1,165,611, 2,  0,561, 2, 18,402, 2, 20,406, 2, 34,402, 2, 49,528, 2, 53,531,
1016  2, 54,530, 2, 55,528, 2, 56,530, 2, 57,529, 2, 60,528, 2, 62,113, 2, 64,101,
1017  2, 67,103, 2, 77,102, 2, 79, 83, 2, 83, 76, 2, 86,696, 2, 96,695, 2,100,757,
1018  2,106,693, 2,120,611, 2,153,620, 2,156,622, 2,161,620, 2,165,611, 3,  0,561,
1019  3, 18,402, 3, 26,406, 3, 35,402, 3, 50,528, 3, 52,531, 3, 54,530, 3, 58,529,
1020  3, 60,528, 3, 62,113, 3, 64,101, 3, 67,103, 3, 77,102, 3, 78, 83, 3, 83, 76,
1021  3, 89,693, 3,100,757, 3,106,693, 3,120,611, 3,153,620, 3,156,622, 3,161,620,
1022  3,165,611, 4,  0,752, 4,  3,750, 4,  7,749, 4, 13,561, 4, 18,402, 4, 28,406,
1023  4, 36,402, 4, 50,531, 4, 54,530, 4, 58,529, 4, 60,528, 4, 61,101, 4, 68,103,
1024  4, 77,102, 4, 78, 83, 4, 83, 76, 4, 89,693, 4,100,757, 4,106,693, 4,120,611,
1025  4,153,620, 4,156,622, 4,161,620, 4,165,611, 5,  0,752, 5,  3,750, 5,  7,749,
1026  5, 13,561, 5, 18,402, 5, 30,406, 5, 38,402, 5, 50,531, 5, 54,530, 5, 57,529,
1027  5, 61,101, 5, 68,103, 5, 77,102, 5, 78, 83, 5, 83, 76, 5, 90,693, 5,100,757,
1028  5,106,693, 5,120,611, 5,153,620, 5,161,621, 5,164,620, 5,165,611, 6,  0,752,
1029  6,  3,750, 6,  8,749, 6, 12,748, 6, 13,561, 6, 18,402, 6, 30,406, 6, 40,402,
1030  6, 52,531, 6, 54,530, 6, 57,529, 6, 61,101, 6, 70, 99, 6, 77,102, 6, 78, 83,
1031  6, 83, 76, 6, 90,693, 6,100,757, 6,106,693, 6,120,611, 6,153,620, 6,161,621,
1032  6,164,620, 6,165,611, 7,  0,752, 7,  3,750, 7,  8,749, 7, 11,748, 7, 15,561,
1033  7, 18,402, 7, 32,406, 7, 40,402, 7, 57,529, 7, 61,101, 7, 72, 99, 7, 77, 82,
1034  7, 78, 81, 7, 79, 83, 7, 80, 81, 7, 82, 83, 7, 83, 77, 7, 86, 76, 7, 91,693,
1035  7, 97, 63, 7,100,730, 7,106,693, 7,120,611, 7,153,620, 7,165,611, 8,  0,752,
1036  8,  3,750, 8,  8,747, 8, 10,748, 8, 15,561, 8, 18,402, 8, 32,406, 8, 43,402,
1037  8, 58,529, 8, 60, 97, 8, 61,101, 8, 73, 99, 8, 76, 96, 8, 77, 82, 8, 78, 81,
1038  8, 82, 80, 8, 83, 78, 8, 84, 77, 8, 87, 76, 8, 92,693, 8, 96, 63, 8,100,730,
1039  8,106,693, 8,120,611, 8,153,620, 8,165,611, 9,  0,752, 9,  3,750, 9,  8,747,
1040  9, 11,748, 9, 13,747, 9, 15,561, 9, 18,402, 9, 35,406, 9, 44,402, 9, 60, 97,
1041  9, 63,101, 9, 71,100, 9, 72,101, 9, 73, 99, 9, 75, 96, 9, 78, 81, 9, 82, 80,
1042  9, 83, 78, 9, 85, 77, 9, 88, 76, 9, 92,693, 9, 95, 63, 9,100,730, 9,106, 63,
1043  9,110,693, 9,120,611, 9,153,620, 9,165,611,10,  0,752,10,  3,751,10,  6,750,
1044 10,  7,745,10,  8,747,10, 18,402,10, 40,403,10, 45,402,10, 60, 98,10, 62, 97,
1045 10, 69,101,10, 71,100,10, 72,101,10, 73, 99,10, 74, 96,10, 76, 79,10, 83, 78,
1046 10, 86, 77,10, 88, 76,10, 93, 63,10,100,730,10,106, 63,10,110,693,10,120,611,
1047 11,  0,751,11,  5,745,11,  9,747,11, 18,402,11, 42,403,11, 46,402,11, 60, 95,
1048 11, 63, 94,11, 68, 97,11, 72, 96,11, 76, 79,11, 83, 75,11, 86, 74,11, 88, 76,
1049 11, 93, 63,11,100,730,11,106, 63,11,110,693,11,120,611,12,  0,751,12,  4,745,
1050 12, 11,746,12, 13,747,12, 16,746,12, 18,402,12, 43,403,12, 47,402,12, 59, 95,
1051 12, 63, 94,12, 69, 97,12, 71, 96,12, 73, 94,12, 83, 75,12, 87, 74,12, 88, 76,
1052 12, 93, 68,12, 96, 63,12,100,730,12,106, 63,12,113,693,12,120,611,13,  0,751,
1053 13,  3,745,13, 12,746,13, 18,402,13, 43,403,13, 48,402,13, 59, 95,13, 63, 94,
1054 13, 83, 75,13, 87, 72,13, 88, 73,13, 90, 71,13, 92, 68,13, 96, 67,13, 98, 65,
1055 13,104,730,13,106, 63,13,113,693,13,120,611,14,  0,751,14,  2,745,14, 12,746,
1056 14, 18,402,14, 43,403,14, 48,402,14, 59, 95,14, 63, 94,14, 83, 75,14, 85, 72,
1057 14, 89, 70,14, 92, 69,14, 94, 68,14, 95, 67,14, 98, 65,14,104,730,14,106, 63,
1058 14,115,693,14,120,611,15,  0,745,15, 10,744,15, 11,745,15, 12,744,15, 13,746,
1059 15, 18,402,15, 43,403,15, 48,402,15, 59, 92,15, 64, 94,15, 83, 72,15, 89, 70,
1060 15, 91, 62,15, 93, 69,15, 94, 66,15, 98, 65,15,104, 64,15,106, 63,15,115,693,
1061 15,120,611,15,150,612,15,165,619,15,172,611,16,  0,745,16,  5,744,16, 14,746,
1062 16, 18,402,16, 43,403,16, 48,402,16, 59, 92,16, 64, 94,16, 81,731,16, 88, 93,
1063 16, 89, 70,16, 90, 62,16, 92, 61,16, 94, 60,16, 98, 58,16,102, 65,16,103, 64,
1064 16,106, 63,16,115,693,16,120,611,16,150,612,16,165,619,16,172,611,17,  0,745,
1065 17,  6,744,17, 18,402,17, 43,403,17, 48,402,17, 59, 92,17, 64, 91,17, 65, 90,
1066 17, 67, 89,17, 69, 88,17, 72, 87,17, 75, 86,17, 79,731,17, 88, 93,17, 89, 62,
1067 17, 92, 61,17, 95, 60,17, 98, 59,17,101, 58,17,102, 56,17,104, 64,17,105, 54,
1068 17,108, 53,17,115,693,17,120,611,17,150,612,17,165,619,17,172,611,18,  0,745,
1069 18,  6,744,18, 18,402,18, 43,403,18, 48,402,18, 60, 92,18, 64, 91,18, 65, 90,
1070 18, 67, 89,18, 69, 88,18, 72, 87,18, 75, 86,18, 79,731,18, 87, 84,18, 91,527,
1071 18, 95,525,18, 97,523,18, 99, 59,18,102, 57,18,103, 56,18,104, 55,18,105, 54,
1072 18,108, 53,18,115,693,18,120,611,18,150,612,18,154,613,18,157,612,18,172,611,
1073 19,  0,745,19,  6,744,19, 18,402,19, 43,403,19, 48,402,19, 60, 92,19, 64, 91,
1074 19, 65, 90,19, 67, 89,19, 68,402,19, 69, 88,19, 72, 87,19, 74, 85,19, 81,731,
1075 19, 87, 84,19, 91,527,19, 95,525,19, 98,523,19,100, 57,19,103,524,19,104, 55,
1076 19,106, 54,19,108, 53,19,115,693,19,120,611,19,150,612,19,154,613,19,157,612,
1077 19,172,611,20,  0,745,20,  6,744,20, 18,402,20, 43,403,20, 48,402,20, 69, 88,
1078 20, 72, 87,20, 74, 85,20, 86, 84,20, 91,527,20, 96,525,20, 99,523,20,102,524,
1079 20,105, 55,20,106, 54,20,108, 53,20,115,693,20,120,611,20,150,612,20,154,613,
1080 20,159,612,20,175,611,21,  0,745,21,  6,744,21, 13,743,21, 18,402,21, 43,403,
1081 21, 48,402,21, 69,515,21, 74, 85,21, 86, 84,21, 91,526,21, 97,525,21, 99,523,
1082 21,101,524,21,104,523,21,105, 52,21,106, 51,21,108, 53,21,115,693,21,120,611,
1083 21,150,612,21,155,613,21,161,612,21,175,611,22,  0,551,22,  1,745,22,  6,744,
1084 22, 13,743,22, 18,402,22, 43,403,22, 48,402,22, 69,515,22, 76, 85,22, 86,526,
1085 22, 97,525,22, 99,523,22,105, 52,22,107, 51,22,109, 47,22,117,693,22,120,611,
1086 22,150,612,22,157,613,22,161,612,22,178,611,23,  0,551,23,  3,745,23,  6,744,
1087 23, 12,743,23, 18,402,23, 43,403,23, 48,402,23, 69,515,23, 78, 85,23, 86,526,
1088 23, 97,523,23,106, 52,23,107, 49,23,109, 48,23,111, 47,23,118,693,23,120,611,
1089 23,150,612,23,178,611,24,  0,551,24,  4,745,24,  7,744,24, 12,743,24, 18,402,
1090 24, 43,403,24, 48,402,24, 69,513,24, 72,515,24, 80,514,24, 82,526,24, 97,523,
1091 24,108, 49,24,110, 48,24,113, 47,24,119,693,24,120,611,24,150,612,25,  0,551,
1092 25,  6,744,25, 12,743,25, 16,394,25, 22,402,25, 42,403,25, 48,402,25, 69,513,
1093 25, 73,515,25, 80,514,25, 82,526,25, 97,518,25, 98,522,25,108, 49,25,111, 48,
1094 25,113, 47,25,120,611,25,150,612,26,  0,551,26,  7,744,26,  9,743,26, 15,394,
1095 26, 22,402,26, 42,403,26, 48,402,26, 69,513,26, 74,515,26, 80,514,26, 83,526,
1096 26, 97,520,26, 98,518,26,100,522,26,109, 49,26,112, 48,26,114, 47,26,120,611,
1097 26,150,612,27,  0,551,27,  9,743,27, 14,394,27, 22,402,27, 41,403,27, 47,402,
1098 27, 69,513,27, 75,515,27, 80,514,27, 83,526,27, 97,520,27, 98,519,27, 99,518,
1099 27,100,522,27,106,521,27,108, 50,27,110, 49,27,112, 48,27,115, 47,27,121,611,
1100 27,160,612,28,  0,396,28,  7,395,28, 13,394,28, 22,402,28, 39,403,28, 47,402,
1101 28, 69,513,28, 80,514,28, 83,526,28, 95,520,28, 98,519,28,100,518,28,101,522,
1102 28,104,521,28,109, 50,28,111, 49,28,113, 48,28,115, 47,28,121,611,28,160,612,
1103 29,  0,396,29,  5,395,29, 11,394,29, 22,402,29, 38,403,29, 47,402,29, 69,513,
1104 29, 80,514,29, 83,508,29, 86,526,29, 89,504,29, 94,503,29, 95,500,29,100,518,
1105 29,105,521,29,109, 50,29,112, 49,29,114, 48,29,116, 47,29,122,611,29,165,612,
1106 30,  0,396,30,  3,395,30, 10,394,30, 22,402,30, 36,403,30, 46,402,30, 69,513,
1107 30, 81,510,30, 83,508,30, 88,505,30, 90,504,30, 94,503,30, 95,500,30,100,498,
1108 30,104,518,30,106,521,30,109, 50,30,113, 49,30,115, 48,30,117, 47,30,122,611,
1109 30,165,612,31,  0,396,31,  3,395,31, 10,393,31, 22,402,31, 34,403,31, 44,402,
1110 31, 69,513,31, 81,509,31, 85,507,31, 88,505,31, 92,504,31, 94,503,31, 95,500,
1111 31,100,498,31,105,518,31,107,517,31,109,516,31,112, 46,31,113, 49,31,115, 48,
1112 31,117, 47,31,122,611,31,170,612,32,  0,396,32,  1,395,32, 10,393,32, 22,402,
1113 32, 32,403,32, 43,402,32, 69,513,32, 79,511,32, 81,509,32, 85,507,32, 88,505,
1114 32, 91,504,32, 94,503,32, 95,500,32,100,498,32,103,496,32,109,495,32,112, 46,
1115 32,115, 45,32,118, 38,32,125,611,33,  0,396,33,  2,395,33,  9,384,33, 10,393,
1116 33, 22,402,33, 30,403,33, 42,402,33, 69,513,33, 78,511,33, 82,509,33, 85,507,
1117 33, 88,505,33, 91,502,33, 94,501,33, 95,500,33,100,498,33,103,496,33,109,495,
1118 33,112, 42,33,114, 44,33,115, 43,33,120, 38,33,127,611,34,  0,396,34,  2,395,
1119 34,  8,384,34, 10,393,34, 20,404,34, 35,403,34, 41,402,34, 69,513,34, 76,512,
1120 34, 79,511,34, 83,509,34, 85,507,34, 88,505,34, 91,502,34, 94,501,34, 95,499,
1121 34,100,497,34,103,496,34,109,495,34,112, 42,34,114, 44,34,115, 43,34,121, 38,
1122 34,127,611,35,  0,396,35,  2,385,35,  8,384,35, 10,739,35, 20,404,35, 35,403,
1123 35, 39,402,35, 69,513,35, 75,512,35, 84,506,35, 90,502,35, 94,501,35, 95,499,
1124 35,100,497,35,103,496,35,109,495,35,112, 42,35,114, 40,35,116, 39,35,122, 38,
1125 35,130,611,36,  0,387,36,  2,385,36,  8,384,36, 10,739,36, 20,404,36, 25,405,
1126 36, 27,404,36, 35,403,36, 37,402,36, 69,513,36, 75,512,36, 82,506,36, 89,486,
1127 36, 91,484,36, 94,501,36, 95,499,36,100,497,36,103,496,36,109,495,36,112, 42,
1128 36,114, 41,36,115, 40,36,118, 39,36,123, 38,36,132,611,37,  0,377,37,  7,376,
1129 37, 10,739,37, 20,404,37, 25,405,37, 31,404,37, 35,403,37, 36,402,37, 69,513,
1130 37, 75,493,37, 77,492,37, 80,491,37, 83,490,37, 88,488,37, 89,487,37, 90,485,
1131 37, 91,483,37, 94,482,37, 95,480,37,102,479,37,109,478,37,114, 41,37,117, 40,
1132 37,119, 39,37,123, 38,37,132,611,38,  0,377,38,  7,376,38, 10,739,38, 20,404,
1133 38, 25,405,38, 31,404,38, 35,402,38, 69,513,38, 75,493,38, 77,492,38, 80,491,
1134 38, 83,490,38, 86,489,38, 88,488,38, 90,485,38, 91,483,38, 94,482,38, 95,480,
1135 38,102,479,38,109,478,38,114, 37,38,118, 40,38,120, 36,38,123, 35,38,124, 34,
1136 38,132,611,39,  0,377,39,  7,376,39, 10,402,39, 20,404,39, 27,405,39, 33,404,
1137 39, 35,402,39, 69,513,39, 74,494,39, 75,493,39, 77,492,39, 79,491,39, 81,471,
1138 39, 85,469,39, 87,467,39, 91,483,39, 94,482,39, 95,480,39,102,479,39,109,478,
1139 39,114, 37,39,120, 36,39,123, 35,39,125, 34,39,132,611,40,  0,377,40,  7,376,
1140 40, 10,402,40, 20,404,40, 35,402,40, 69,513,40, 72,472,40, 74,494,40, 75,473,
1141 40, 81,471,40, 85,469,40, 87,467,40, 91,481,40, 95,465,40, 96,463,40,102,479,
1142 40,109,478,40,114, 37,40,120, 36,40,124, 35,40,125, 34,40,132,611,41,  0,377,
1143 41,  6,376,41, 10,402,41, 20,404,41, 35,402,41, 69,476,41, 73,472,41, 75,473,
1144 41, 80,471,41, 85,469,41, 87,467,41, 91,465,41, 96,463,41,104,460,41,111,478,
1145 41,114, 37,41,120, 36,41,124, 35,41,125, 34,41,132,611,42,  0,378,42,  2,377,
1146 42, 10,402,42, 20,404,42, 35,402,42, 66,477,42, 70,476,42, 73,472,42, 80,470,
1147 42, 83,468,42, 87,467,42, 88,466,42, 91,465,42, 97,463,42,104,460,42,111,457,
1148 42,114, 33,42,117, 32,42,124, 31,42,125, 30,42,132,611,43,  0,378,43,  2,377,
1149 43, 10,402,43, 20,403,43, 35,402,43, 65,452,43, 67,477,43, 70,475,43, 71,474,
1150 43, 73,472,43, 79,470,43, 82,468,43, 87,466,43, 91,464,43, 97,462,43,104,460,
1151 43,111,457,43,114, 33,43,117, 32,43,124, 31,43,125, 30,43,132,611,44,  0,538,
1152 44,  2,539,44,  5,402,44, 20,403,44, 35,402,44, 62,452,44, 67,475,44, 71,474,
1153 44, 73,472,44, 76,470,44, 82,468,44, 87,466,44, 92,464,44, 97,462,44,104,460,
1154 44,109,459,44,111,458,44,112,457,44,114, 33,44,117, 32,44,124, 31,44,125, 30,
1155 44,132,611,45,  0,538,45,  2,539,45,  5,402,45, 22,403,45, 35,402,45, 59,452,
1156 45, 65,451,45, 67,475,45, 71,447,45, 74,470,45, 83,468,45, 88,466,45, 93,464,
1157 45, 97,462,45,104,456,45,114, 33,45,117, 32,45,119, 28,45,124, 31,45,125, 30,
1158 45,132, 21,45,142, 17,45,165, 16,46,  0,538,46,  2,539,46,  5,402,46, 23,403,
1159 46, 35,402,46, 52,455,46, 56,402,46, 59,452,46, 62,453,46, 64,451,46, 68,475,
1160 46, 70,447,46, 79,441,46, 84,468,46, 90,466,46, 92,464,46, 97,461,46,104,456,
1161 46,114, 33,46,117, 29,46,123, 28,46,124, 27,46,125, 26,46,132, 21,46,142, 17,
1162 46,165, 16,47,  0,538,47,  5,402,47, 24,403,47, 34,402,47, 52,455,47, 59,454,
1163 47, 64,451,47, 68,448,47, 70,447,47, 79,441,47, 86,468,47, 90,464,47, 97,461,
1164 47,104,456,47,116, 33,47,117, 29,47,124, 27,47,125, 26,47,132, 21,47,142, 17,
1165 47,165, 16,48,  0,538,48,  5,402,48, 24,403,48, 34,402,48, 52,446,48, 53,455,
1166 48, 59,454,48, 64,448,48, 70,447,48, 79,441,48, 94,464,48, 97,461,48,104,456,
1167 48,116, 33,48,117, 29,48,123, 25,48,132, 21,48,142, 17,48,165, 16,49,  0,538,
1168 49,  3,402,49, 24,403,49, 34,402,49, 52,446,49, 53,455,49, 59,454,49, 61,450,
1169 49, 65,448,49, 67,447,49, 79,441,49, 95,439,49,102,438,49,110, 24,49,114, 23,
1170 49,123, 25,49,132, 21,49,142, 17,49,165, 16,50,  0,533,50,  6,402,50, 24,403,
1171 50, 33,402,50, 52,446,50, 55,455,50, 58,449,50, 67,447,50, 79,441,50, 95,439,
1172 50,102,438,50,110, 24,50,115, 23,50,125, 25,50,132, 21,50,142, 17,50,165, 16,
1173 50,172,  7,51,  0,533,51,  6,532,51, 11,402,51, 24,403,51, 33,402,51, 52,446,
1174 51, 55,455,51, 57,449,51, 67,443,51, 80,441,51, 95,439,51,102,438,51,110, 24,
1175 51,117, 23,51,127, 25,51,129, 22,51,135, 21,51,142, 17,51,165, 16,51,167,  9,
1176 51,172,  7,52,  0,533,52,  6,532,52, 11,402,52, 25,403,52, 32,738,52, 37,402,
1177 52, 52,446,52, 55,445,52, 66,443,52, 80,441,52, 95,439,52,102,438,52,110, 24,
1178 52,118, 23,52,129, 22,52,135, 21,52,142, 17,52,165, 16,52,166,  9,52,172,  7,
1179 53,  0,533,53,  6,532,53, 11,402,53, 25,403,53, 32,738,53, 37,402,53, 52,446,
1180 53, 55,445,53, 68,443,53, 81,441,53, 95,439,53,102,438,53,110, 24,53,120, 23,
1181 53,130, 22,53,135, 21,53,142, 17,53,163, 10,53,165,  9,53,172,  7,54,  0,533,
1182 54,  8,532,54, 11,402,54, 32,738,54, 37,402,54, 52,446,54, 57,445,54, 68,443,
1183 54, 81,441,54, 93,439,54,102,438,54,110, 24,54,120, 23,54,130, 19,54,131, 22,
1184 54,135, 21,54,142, 17,54,160, 12,54,163, 10,54,165,  9,54,172,  3,55,  0,534,
1185 55,  1,533,55,  9,402,55, 32,738,55, 37,402,55, 52,446,55, 59,445,55, 64,443,
1186 55, 78,440,55, 86,441,55, 91,439,55,102,438,55,110, 24,55,120, 23,55,130, 19,
1187 55,135, 20,55,142, 15,55,151, 17,55,157, 12,55,163, 10,55,165,  9,55,169,  3,
1188 56,  0,534,56,  1,533,56,  8,402,56, 31,738,56, 37,402,56, 52,446,56, 61,445,
1189 56, 64,443,56, 77,440,56, 88,441,56, 90,439,56,102,438,56,110, 24,56,120, 23,
1190 56,130, 19,56,136, 20,56,142, 15,56,151, 13,56,155, 12,56,162, 11,56,163,  3,
1191 56,167,  8,56,172,  3,57,  0,534,57,  1,533,57,  8,402,57, 30,738,57, 37,402,
1192 57, 52,446,57, 61,445,57, 64,443,57, 78,440,57, 90,439,57,102,438,57,110, 24,
1193 57,120, 23,57,132, 19,57,137, 20,57,142, 15,57,151, 13,57,155, 12,57,159, 11,
1194 57,163,  3,57,167,  8,57,172,  3,58,  0,534,58,  2,533,58,  8,402,58, 29,738,
1195 58, 35,402,58, 52,446,58, 62,445,58, 64,443,58, 78,440,58, 93,439,58,102,438,
1196 58,110, 24,58,120, 23,58,133, 19,58,139, 20,58,142, 15,58,151, 13,58,154, 12,
1197 58,158, 11,58,163,  3,59,  0,533,59,  4,402,59, 28,738,59, 33,402,59, 52,446,
1198 59, 63,445,59, 65,443,59, 66,442,59, 69,443,59, 78,440,59, 94,439,59,102,438,
1199 59,110, 24,59,120, 23,59,134, 19,59,142, 15,59,148, 14,59,152,  2,59,168,  3,
1200 60,  0,533,60,  4,402,60, 27,738,60, 31,402,60, 42,680,60, 49,444,60, 64,445,
1201 60, 65,442,60, 69,443,60, 78,440,60, 94,679,60,124, 18,60,139, 19,60,142,  2,
1202 60,148, 14,60,152,  2,60,168,  3,61,  0,642,61, 10,637,61, 30,402,61, 42,680,
1203 61, 50,444,61, 64,442,61, 71,443,61, 79,440,61, 93,679,61,127, 18,61,141,  2,
1204 61,167,  3,62,  0,642,62, 10,637,62, 30,402,62, 40,680,62, 51,444,62, 64,682,
1205 62, 70,442,62, 72,443,62, 78,442,62, 80,440,62, 91,679,62,129, 18,62,141,  1,
1206 62,161,676,62,166,  3,62,169,674,62,170,  3,63,  0,642,63, 10,637,63, 18,638,
1207 63, 21,637,63, 30,402,63, 40,680,63, 52,444,63, 64,682,63, 71,442,63, 80,679,
1208 63,130, 18,63,141,  1,63,161,676,63,165,673,63,168,674,63,172,  3,64,  0,642,
1209 64, 10,637,64, 14,638,64, 23,637,64, 30,402,64, 40,680,64, 53,444,64, 64,682,
1210 64, 79,679,64,131, 18,64,141,  1,64,161,676,64,167,673,64,171,671,65,  0,642,
1211 65, 10,637,65, 14,638,65, 23,637,65, 30,402,65, 35,636,65, 40,680,65, 54,444,
1212 65, 62,682,65, 79,679,65,132,677,65,141,676,65,168,673,65,169,671,66,  0,642,
1213 66, 10,637,66, 30,402,66, 33,636,66, 40,680,66, 54,444,66, 61,682,66, 75,679,
1214 66,134,677,66,141,676,66,167,673,66,169,670,67,  0,642,67, 10,637,67, 30,636,
1215 67, 40,680,67, 54,444,67, 63,682,67, 74,679,67,136,677,67,141,676,67,166,673,
1216 67,170,672,67,172,670,68,  0,642,68, 10,637,68, 25,636,68, 40,680,68, 54,444,
1217 68, 65,682,68, 75,679,68,136,677,68,141,676,68,167,672,68,176,670,69,  0,639,
1218 69, 20,636,69, 40,680,69, 55,681,69, 67,682,69, 78,679,69,137,677,69,141,676,
1219 69,164,672,69,178,670,70,  0,639,70, 20,636,70, 40,680,70, 55,681,70, 67,682,
1220 70, 90,679,70,130,675,70,141,676,70,163,672,70,177,670,71,  0,639,71, 20,636,
1221 71, 40,680,71, 56,681,71, 71,682,71, 90,679,71,127,675,71,154,676,71,158,675,
1222 71,166,672,71,177,670,72,  0,639,72, 20,636,72, 40,680,72, 57,681,72, 74,682,
1223 72, 90,679,72,127,675,72,166,669,73,  0,640,73, 20,636,73, 40,680,73, 57,681,
1224 73, 76,682,73, 90,679,73,127,675,73,166,669,74,  0,640,74, 17,636,74, 40,680,
1225 74, 58,681,74, 79,678,74,116,679,74,125,675,74,166,669,75,  0,640,75, 17,636,
1226 75, 40,680,75, 60,681,75, 79,678,75,125,675,75,166,669,76,  0,640,76, 17,636,
1227 76, 40,680,76, 71,681,76, 78,678,76,125,634,76,166,669,77,  0,640,77, 17,636,
1228 77, 40,680,77, 73,678,77,125,634,78,  0,640,78, 17,636,78, 40,680,78, 73,678,
1229 78,120,634,79,  0,640,79, 17,636,79, 40,680,79, 70,678,79,110,634,80,  0,641,
1230 80, 15,635,80, 30,636,80, 40,680,80, 55,635,80, 67,678,80,100,634,81,  0,641,
1231 81, 10,635,81, 65,678,81, 95,634,82,  0,641,82, 10,635,82, 60,678,82, 90,634,
1232 83,  0,641,83, 10,635,83, 60,678,83, 80,634,84,  0,641,84, 10,635,84, 60,634,
1233 85,  0,641,85, 10,633,85, 60,634,86,  0,641,86, 10,633,86, 75,634,87,  0,641,
1234 87, 10,633,87, 75,634,88,  0,633,89,  0,633,90,180,633, 0,  0,  0, 0,  0,  0,
1235  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1236  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1237  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1238  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1239  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1240  0,  0,409, 0,  9,407, 0, 18,406, 0, 31,409, 0, 45,528, 0, 62,113, 0, 70,103,
1241  0, 75,110, 0, 76,107, 0, 80,105, 0, 81,104, 0, 86,696, 0, 89,697, 0, 92,696,
1242  0, 96,695, 0,100,694, 0,107,693, 0,120,632, 0,153,620, 0,165,632, 0,168,624,
1243  0,176,632, 1,  0,409, 1,  9,407, 1, 18,406, 1, 27,409, 1, 43,528, 1, 62,113,
1244  1, 69,103, 1, 73,111, 1, 75,110, 1, 76,107, 1, 80,105, 1, 81,104, 1, 86,696,
1245  1, 89,697, 1, 92,696, 1, 96,695, 1,100,694, 1,107,693, 1,120,632, 1,153,620,
1246  1,165,632, 1,168,624, 1,176,632, 2,  0,409, 2,  9,407, 2, 18,406, 2, 20,409,
1247  2, 38,528, 2, 62,113, 2, 70,103, 2, 71,111, 2, 75,110, 2, 78,107, 2, 79,105,
1248  2, 82,104, 2, 86,696, 2, 96,698, 2,100,694, 2,109,693, 2,120,632, 2,153,620,
1249  2,165,632, 2,168,624, 2,176,632, 3,  0,409, 3,  9,407, 3, 18,409, 3, 37,528,
1250  3, 62,113, 3, 70,111, 3, 77,110, 3, 79,105, 3, 80,110, 3, 81,109, 3, 82,108,
1251  3, 86,696, 3, 96,698, 3,100,694, 3,109,693, 3,120,632, 3,153,620, 3,165,632,
1252  3,168,624, 3,176,632, 4,  0,409, 4,  9,407, 4, 18,409, 4, 35,528, 4, 62,113,
1253  4, 70,112, 4, 74,111, 4, 78,110, 4, 81,109, 4, 82,108, 4, 86,699, 4, 92,698,
1254  4,100,694, 4,111,693, 4,120,632, 4,153,620, 4,165,632, 4,168,624, 4,176,632,
1255  5,  0,409, 5,  9,408, 5, 18,409, 5, 34,528, 5, 62,113, 5, 72,112, 5, 74,111,
1256  5, 80,109, 5, 82,108, 5, 86,699, 5, 92,698, 5,100,694, 5,111,693, 5,120,632,
1257  5,134,630, 5,144,632, 5,153,620, 5,165,632, 5,168,624, 5,176,632, 6,  0,409,
1258  6,  9,408, 6, 18,409, 6, 34,528, 6, 62,113, 6, 72,112, 6, 75,111, 6, 79,109,
1259  6, 82,108, 6, 86,699, 6, 92,698, 6,100,694, 6,113,693, 6,120,632, 6,134,630,
1260  6,144,632, 6,153,620, 6,165,632, 6,168,624, 6,176,632, 7,  0,409, 7,  9,408,
1261  7, 18,409, 7, 34,528, 7, 62,113, 7, 73,112, 7, 75,111, 7, 79,109, 7, 80,108,
1262  7, 84,699, 7, 92,698, 7,100,694, 7,113,693, 7,120,632, 7,134,630, 7,144,632,
1263  7,148,620, 7,157,626, 7,165,632, 7,168,625, 7,175,632, 7,178,623, 8,  0,409,
1264  8,  9,408, 8, 18,409, 8, 34,528, 8, 62,113, 8, 72,112, 8, 75,116, 8, 78,109,
1265  8, 80,108, 8, 84,699, 8, 92,698, 8,100,694, 8,113,693, 8,120,632, 8,134,630,
1266  8,144,632, 8,148,620, 8,157,626, 8,165,632, 8,168,625, 8,175,632, 8,178,623,
1267  9,  0,409, 9,  9,408, 9, 18,409, 9, 34,528, 9, 62,113, 9, 70,112, 9, 74,116,
1268  9, 78,109, 9, 79,108, 9, 83,699, 9, 92,698, 9,104,694, 9,115,693, 9,120,632,
1269  9,134,630, 9,144,632, 9,148,620, 9,157,626, 9,165,632, 9,168,625, 9,175,632,
1270  9,178,623,10,  0,409,10,  9,408,10, 18,409,10, 35,528,10, 62,113,10, 65,119,
1271 10, 68,113,10, 70,112,10, 73,116,10, 77,115,10, 79,114,10, 83,699,10, 92,698,
1272 10,104,694,10,115,693,10,120,632,10,134,630,10,144,632,10,148,620,10,157,626,
1273 10,165,169,10,176,180,11,  0,409,11,  9,408,11, 18,409,11, 36,528,11, 62,113,
1274 11, 65,119,11, 68,118,11, 70,112,11, 71,116,11, 77,115,11, 78,114,11, 82,699,
1275 11, 92,698,11,104,694,11,117,693,11,120,632,11,134,630,11,144,632,11,148,620,
1276 11,157,626,11,165,169,11,176,180,12,  0,409,12, 10,410,12, 18,409,12, 37,528,
1277 12, 62,113,12, 64,119,12, 68,118,12, 69,116,12, 76,115,12, 78,114,12, 82,699,
1278 12, 92,698,12,107,694,12,117,693,12,120,632,12,134,630,12,144,632,12,148,620,
1279 12,157,626,12,165,169,12,176,180,13,  0,409,13, 10,410,13, 18,409,13, 38,528,
1280 13, 61,119,13, 68,118,13, 70,116,13, 76,115,13, 77,114,13, 81,699,13, 92,698,
1281 13,107,694,13,119,693,13,120,632,13,133,631,13,149,628,13,157,626,13,165,169,
1282 13,168,170,13,173,169,13,176,181,14,  0,409,14, 10,410,14, 18,409,14, 38,528,
1283 14, 60,120,14, 68,118,14, 70,116,14, 75,115,14, 77,114,14, 81,699,14, 92,698,
1284 14,107,694,14,119,693,14,120,632,14,133,631,14,149,628,14,157,626,14,165,169,
1285 14,168,170,14,173,169,14,176,181,15,  0,409,15, 10,410,15, 18,409,15, 38,528,
1286 15, 60,120,15, 69,118,15, 70,117,15, 74,115,15, 76,114,15, 80,683,15,107,684,
1287 15,120,632,15,133,631,15,149,628,15,157,627,15,165,169,15,173,173,15,176,181,
1288 16,  0,409,16, 10,410,16, 18,409,16, 38,528,16, 58,120,16, 68,118,16, 70,117,
1289 16, 72,115,16, 75,114,16, 79,683,16,107,684,16,120,632,16,133,631,16,149,628,
1290 16,157,627,16,165,169,16,173,173,16,176,181,17,  0,409,17, 10,410,17, 18,409,
1291 17, 38,528,17, 58,120,17, 69,118,17, 70,115,17, 73,114,17, 77,683,17,107,684,
1292 17,124,632,17,133,631,17,147,628,17,157,627,17,166,174,17,173,173,17,176,181,
1293 18,  0,409,18, 10,410,18, 18,409,18, 39,528,18, 58,120,18, 68,124,18, 69,123,
1294 18, 70,122,18, 71,121,18, 77,683,18,107,684,18,124,632,18,133,631,18,147,628,
1295 18,156,627,18,166,174,18,173,173,18,176,181,19,  0,409,19, 10,410,19, 18,409,
1296 19, 39,528,19, 58,120,19, 59,126,19, 60,125,19, 68,124,19, 69,123,19, 70,122,
1297 19, 71,121,19, 77,683,19,107,684,19,124,632,19,133,631,19,147,628,19,156,627,
1298 19,166,174,19,173,173,19,176,181,20,  0,409,20, 10,410,20, 18,409,20, 39,528,
1299 20, 58,126,20, 62,125,20, 68,124,20, 69,123,20, 70,122,20, 71,121,20, 77,683,
1300 20,107,684,20,124,632,20,133,631,20,145,629,20,156,627,20,166,174,20,173,173,
1301 20,176,181,21,  0,409,21, 10,410,21, 18,409,21, 40,528,21, 58,126,21, 62,125,
1302 21, 67,124,21, 69,123,21, 70,122,21, 71,121,21, 77,683,21,107,684,21,124,632,
1303 21,133,631,21,145,629,21,156,627,21,166,174,21,173,173,21,176,181,22,  0,409,
1304 22, 10,410,22, 18,409,22, 40,528,22, 56,126,22, 62,129,22, 65,128,22, 67,124,
1305 22, 68,123,22, 70,122,22, 71,121,22, 77,683,22,102,685,22,115,684,22,124,632,
1306 22,133,631,22,145,629,22,156,627,22,166,174,22,176,171,23,  0,409,23, 10,410,
1307 23, 18,409,23, 41,528,23, 55,126,23, 62,129,23, 64,128,23, 67,127,23, 68,123,
1308 23, 70,122,23, 71,121,23, 77,683,23,102,685,23,115,684,23,124,632,23,133,631,
1309 23,145,629,23,156,627,23,166,174,23,176,171,24,  0,409,24, 10,410,24, 18,409,
1310 24, 44,528,24, 54,126,24, 59,133,24, 62,129,24, 67,127,24, 69,123,24, 70,122,
1311 24, 71,121,24, 77,683,24,102,685,24,115,684,24,124,632,24,133,631,24,145,629,
1312 24,156,632,24,170,175,24,176,171,25,  0,409,25,  9,410,25, 18,409,25, 47,528,
1313 25, 54,126,25, 58,133,25, 62,132,25, 63,129,25, 67,130,25, 68,127,25, 69,123,
1314 25, 70,122,25, 71,121,25, 77,683,25,102,685,25,115,684,25,124,632,25,133,631,
1315 25,145,629,25,156,632,25,170,175,25,176,171,26,  0,409,26,  9,410,26, 18,409,
1316 26, 48,528,26, 54,126,26, 58,133,26, 62,132,26, 64,131,26, 66,130,26, 68,127,
1317 26, 69,123,26, 70,122,26, 71,121,26, 77,683,26,102,685,26,115,684,26,124,632,
1318 26,170,175,26,176,171,27,  0,409,27,  8,410,27, 18,409,27, 48,528,27, 55,126,
1319 27, 57,133,27, 62,132,27, 65,131,27, 66,130,27, 68,127,27, 69,123,27, 70,122,
1320 27, 72,121,27, 77,683,27,102,685,27,115,684,27,124,632,27,170,177,28,  0,409,
1321 28,  8,410,28, 18,409,28, 48,528,28, 56,133,28, 62,132,28, 66,130,28, 67,138,
1322 28, 69,127,28, 70,136,28, 71,135,28, 72,134,28, 77,683,28,102,685,28,115,684,
1323 28,124,632,28,170,177,29,  0,409,29,  8,410,29, 18,409,29, 49,528,29, 57,133,
1324 29, 62,132,29, 66,138,29, 68,137,29, 69,127,29, 70,136,29, 71,135,29, 72,134,
1325 29, 77,683,29,102,685,29,115,684,29,120,632,29,170,177,29,177,178,29,179,177,
1326 30,  0,409,30,  9,410,30, 18,409,30, 49,528,30, 56,142,30, 58,133,30, 62,141,
1327 30, 66,138,30, 67,137,30, 69,127,30, 71,135,30, 72,134,30, 77,683,30,100,686,
1328 30,102,685,30,115,684,30,120,632,30,170,177,30,177,178,30,179,177,31,  0,409,
1329 31,  9,410,31, 18,409,31, 50,528,31, 55,142,31, 58,133,31, 62,141,31, 66,138,
1330 31, 67,137,31, 70,127,31, 71,135,31, 72,134,31, 77,687,31, 85,683,31, 97,686,
1331 31,102,685,31,115,684,31,119,632,31,170,177,32,  0,409,32, 10,410,32, 27,409,
1332 32, 51,528,32, 53,142,32, 58,133,32, 62,141,32, 65,140,32, 67,139,32, 70,127,
1333 32, 71,135,32, 72,134,32, 77,687,32, 85,683,32, 97,686,32,105,684,32,119,632,
1334 32,170,179,33,  0,409,33, 10,410,33, 26,409,33, 52,528,33, 53,142,33, 58,133,
1335 33, 62,141,33, 65,140,33, 67,139,33, 69,127,33, 71,135,33, 72,134,33, 77,687,
1336 33, 85,683,33, 94,686,33,105,684,33,118,632,33,170,179,34,  0,409,34,  6,411,
1337 34, 16,410,34, 25,409,34, 53,142,34, 58,133,34, 62,146,34, 63,141,34, 65,140,
1338 34, 67,139,34, 69,127,34, 71,135,34, 73,134,34, 77,687,34, 85,683,34, 94,686,
1339 34,105,684,34,118,632,34,170,179,35,  0,409,35,  6,411,35, 16,410,35, 23,409,
1340 35, 56,133,35, 62,146,35, 65,140,35, 66,139,35, 70,127,35, 71,136,35, 72,135,
1341 35, 73,134,35, 80,683,35, 91,686,35, 98,756,35,105,684,35,117,632,35,174,688,
1342 36,  0,409,36,  6,411,36, 16,410,36, 22,409,36, 56,133,36, 62,146,36, 68,139,
1343 36, 70,127,36, 71,136,36, 72,135,36, 74,134,36, 80,683,36, 91,686,36, 98,756,
1344 36,105,684,36,117,632,36,174,688,37,  0,409,37,  6,411,37, 16,410,37, 21,409,
1345 37, 56,133,37, 62,146,37, 71,145,37, 72,136,37, 73,135,37, 74,134,37, 80,683,
1346 37, 88,686,37, 95,756,37,100,692,37,105,684,37,117,632,37,174,688,38,  0,409,
1347 38,  6,411,38, 16,410,38, 21,409,38, 56,133,38, 62,146,38, 71,145,38, 72,136,
1348 38, 73,135,38, 74,134,38, 80,683,38, 88,686,38, 95,756,38,100,692,38,105,684,
1349 38,117,632,38,174,688,39,  0,409,39,  6,411,39, 16,410,39, 21,409,39, 60,133,
1350 39, 62,146,39, 71,145,39, 72,136,39, 73,135,39, 74,134,39, 80,683,39, 85,686,
1351 39, 92,756,39, 95,692,39,105,684,39,117,632,39,174,688,40,  0,409,40,  6,411,
1352 40, 16,410,40, 21,409,40, 62,146,40, 71,145,40, 72,136,40, 73,135,40, 74,143,
1353 40, 81,683,40, 85,686,40, 92,756,40, 95,692,40,105,684,40,117,632,40,174,688,
1354 41,  0,409,41,  6,411,41, 16,410,41, 21,409,41, 62,146,41, 71,145,41, 72,144,
1355 41, 74,143,41, 81,686,41, 89,756,41, 94,692,41,105,684,41,117,632,41,174,688,
1356 42,  0,409,42,  6,411,42, 16,410,42, 21,409,42, 63,146,42, 71,145,42, 72,144,
1357 42, 75,143,42, 81,686,42, 89,756,42, 94,692,42,105,684,42,117,632,42,170,689,
1358 43,  0,409,43,  8,410,43, 22,409,43, 64,146,43, 71,145,43, 72,144,43, 75,143,
1359 43, 81,686,43, 86,692,43,105,684,43,117,632,43,170,689,44,  0,409,44,  8,410,
1360 44, 22,409,44, 64,146,44, 71,145,44, 72,144,44, 75,143,44, 81,686,44, 86,692,
1361 44,105,684,44,117,632,44,170,689,45,  0,409,45,  8,410,45, 22,409,45, 66,146,
1362 45, 71,145,45, 72,144,45, 75,143,45, 83,692,45,105,684,45,117,632,45,170,689,
1363 46,  0,409,46,  6,410,46, 22,152,46, 24,409,46, 66,146,46, 71,145,46, 72,144,
1364 46, 76,143,46, 83,692,46,105,684,46,117,632,46,170,690,47,  0,409,47,  4,410,
1365 47, 22,152,47, 26,409,47, 66,146,47, 71,145,47, 72,144,47, 76,143,47, 83,692,
1366 47,105,684,47,117,632,47,170,690,48,  0,409,48,  2,410,48, 22,152,48, 28,409,
1367 48, 66,146,48, 71,145,48, 73,144,48, 76,143,48, 83,692,48,105,684,48,117,632,
1368 48,170,690,49,  0,412,49,  2,410,49, 10,156,49, 23,152,49, 30,409,49, 55,148,
1369 49, 65,409,49, 67,146,49, 71,145,49, 73,144,49, 76,143,49, 83,692,49,105,684,
1370 49,117,632,49,170,690,50,  0,412,50,  2,410,50, 10,156,50, 24,152,50, 32,409,
1371 50, 55,148,50, 65,409,50, 67,146,50, 71,145,50, 73,144,50, 76,143,50, 83,692,
1372 50,105,684,50,125,632,50,170,690,51,  0,412,51,  2,410,51, 10,156,51, 26,152,
1373 51, 34,409,51, 55,148,51, 65,409,51, 68,146,51, 71,145,51, 72,144,51, 76,143,
1374 51, 83,692,51,105,684,51,125,632,51,170,690,52,  0,412,52,  2,410,52, 10,156,
1375 52, 28,152,52, 31,151,52, 40,409,52, 55,148,52, 65,147,52, 71,144,52, 76,143,
1376 52, 83,692,52,105,684,52,127,691,52,147,632,52,170,690,53,  0,412,53,  2,410,
1377 53, 10,156,53, 29,152,53, 31,151,53, 40,409,53, 55,148,53, 65,147,53, 71,144,
1378 53, 75,143,53, 83,692,53,105,684,53,127,691,53,147,632,53,170,690,54,  0,412,
1379 54,  2,410,54,  9,156,54, 22,153,54, 31,151,54, 40,409,54, 55,148,54, 65,147,
1380 54, 71,144,54, 74,143,54, 83,692,54,105,684,54,127,691,54,154,632,54,170,690,
1381 55,  0,412,55,  2,410,55,  8,156,55, 22,153,55, 31,151,55, 40,150,55, 59,149,
1382 55, 65,147,55, 72,143,55, 83,692,55,113,684,55,127,691,55,154,632,55,170,690,
1383 56,  0,412,56,  2,410,56,  7,732,56, 18,156,56, 22,153,56, 31,151,56, 40,150,
1384 56, 59,149,56, 73,692,56,113,684,56,127,691,56,157,632,56,170,690,57,  0,412,
1385 57,  2,410,57,  7,732,57, 18,156,57, 22,153,57, 31,150,57, 59,149,57, 73,692,
1386 57,117,684,57,127,691,57,157,632,57,170,690,58,  0,412,58,  2,410,58,  7,732,
1387 58, 22,153,58, 31,150,58, 59,149,58, 73,692,58,117,684,58,127,691,58,160,632,
1388 58,170,690,59,  0,412,59,  2,410,59,  7,732,59, 22,153,59, 31,150,59, 59,149,
1389 59, 73,692,59,117,684,59,127,691,59,160,632,59,170,690,60,  0,414,60,  5,156,
1390 60, 15,732,60, 22,153,60, 31,150,60, 52,154,60, 59,149,60, 73,692,60,148,691,
1391 60,170,690,61,  0,414,61,  5,156,61, 15,732,61, 22,153,61, 31,150,61, 52,154,
1392 61, 62,149,61, 73,692,61,148,691,62,  0,414,62,  5,156,62, 56,154,62, 65,692,
1393 62,149,691,63,  0,414,63,  5,156,63, 54,155,63, 61,154,63, 65,692,63,149,691,
1394 64,  0,414,64,  5,156,64, 56,155,64, 65,692,64,150,691,65,  0,414,65,  5,156,
1395 65, 59,155,65, 67,692,65,159,691,66,  0,414,66,  5,156,66, 59,155,66, 70,692,
1396 66,159,691,67,  0,414,67,  5,156,67, 60,155,67, 70,692,67,162,691,68,  0,414,
1397 68,  5,156,68, 60,155,68, 76,692,68,162,691,69,  0,729,69, 11,156,69, 60,155,
1398 69, 76,692,69,162,691,70,  0,729,70, 11,156,70, 60,155,70, 76,692,70,141,728,
1399 71,  0,729,71, 14,157,71, 60,155,71, 76,692,71,141,728,72,  0,729,72, 19,157,
1400 72, 60,155,72, 76,692,72, 95,729,72,103,692,72,141,728,73,  0,729,73, 21,157,
1401 73, 60,155,73, 71,729,73,103,692,73,120,729,73,129,692,73,141,728,74,  0,729,
1402 74, 24,157,74, 60,155,74, 66,729,74,141,728,75,  0,729,75, 27,157,75, 56,729,
1403 75,147,728,76,  0,729,76, 32,157,76, 50,729,76,152,728,77,  0,729,77,162,728,
1404 78,  0,729,79,  0,729,80,  0,729,81,  0,729,82,  0,729,83,  0,729,84,  0,729,
1405 85,  0,729,86,  0,729,87,  0,729,88,  0,729,89,  0,729,90,180,729, 0,  0,  0,
1406  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1407  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1408  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1409  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1410  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1411  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1412  0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0, 0,  0,  0,
1413  0,  0,  0, 0,  0,409, 0,  9,565, 0, 14,566, 0, 18,567, 0, 30,568, 0, 31,569,
1414  0, 35,570, 0, 41,571, 0, 43,425, 0, 65,421, 0, 70,422, 0, 78,425, 0, 92,273,
1415  0, 98,274, 0,105,275, 0,109,261, 0,118,265, 0,124,269, 0,127,267, 0,130,196,
1416  0,141,198, 0,145,199, 0,149,190, 0,154,191, 0,164,632, 0,171,618, 1,  0,409,
1417  1,  9,565, 1, 14,566, 1, 17,567, 1, 29,572, 1, 31,569, 1, 35,570, 1, 42,574,
1418  1, 43,425, 1, 67,421, 1, 70,422, 1, 78,425, 1, 92,273, 1, 98,274, 1,107,275,
1419  1,109,261, 1,118,268, 1,124,269, 1,127,267, 1,130,196, 1,137,197, 1,140,196,
1420  1,141,198, 1,145,199, 1,149,190, 1,154,191, 1,164,632, 1,171,618, 2,  0,409,
1421  2,  9,565, 2, 12,566, 2, 16,567, 2, 28,572, 2, 31,569, 2, 35,573, 2, 37,570,
1422  2, 41,574, 2, 43,425, 2, 67,421, 2, 70,422, 2, 78,425, 2, 92,273, 2, 99,274,
1423  2,107,275, 2,109,261, 2,118,268, 2,124,270, 2,129,272, 2,131,196, 2,137,201,
1424  2,139,197, 2,141,200, 2,143,198, 2,145,199, 2,149,190, 2,154,191, 2,164,632,
1425  2,171,618, 3,  0,409, 3, 10,565, 3, 12,566, 3, 16,567, 3, 28,572, 3, 31,569,
1426  3, 35,573, 3, 38,570, 3, 41,574, 3, 45,425, 3, 67,421, 3, 68,426, 3, 78,425,
1427  3, 92,273, 3,100,274, 3,107,275, 3,111,261, 3,118,268, 3,124,270, 3,126,271,
1428  3,127,272, 3,131,196, 3,136,201, 3,141,202, 3,142,200, 3,146,203, 3,150,190,
1429  3,154,191, 3,164,632, 3,171,618, 4,  0,409, 4, 11,566, 4, 15,567, 4, 28,572,
1430  4, 31,573, 4, 39,570, 4, 40,574, 4, 45,425, 4, 67,421, 4, 68,426, 4, 78,425,
1431  4, 94,273, 4,101,274, 4,107,275, 4,118,268, 4,123,280, 4,132,196, 4,137,201,
1432  4,141,202, 4,144,200, 4,146,207, 4,147,203, 4,150,192, 4,153,190, 4,154,193,
1433  4,161,191, 4,164,632, 4,175,623, 5,  0,409, 5, 12,575, 5, 13,567, 5, 28,572,
1434  5, 31,573, 5, 40,574, 5, 47,425, 5, 67,421, 5, 68,426, 5, 78,425, 5, 94,273,
1435  5,102,274, 5,105,276, 5,106,277, 5,108,275, 5,118,268, 5,123,280, 5,132,204,
1436  5,135,196, 5,137,205, 5,139,201, 5,141,202, 5,145,207, 5,148,192, 5,153,190,
1437  5,154,193, 5,161,191, 5,164,632, 5,175,623, 6,  0,409, 6, 12,575, 6, 17,567,
1438  6, 28,572, 6, 32,573, 6, 40,574, 6, 47,425, 6, 67,421, 6, 68,426, 6, 78,425,
1439  6, 94,273, 6,104,276, 6,106,277, 6,114,278, 6,118,279, 6,123,280, 6,131,281,
1440  6,133,204, 6,136,196, 6,138,205, 6,139,201, 6,141,202, 6,146,207, 6,148,192,
1441  6,154,193, 6,162,191, 6,164,632, 6,175,623, 7,  0,409, 7, 12,575, 7, 17,567,
1442  7, 19,575, 7, 22,567, 7, 29,572, 7, 32,573, 7, 40,574, 7, 49,425, 7, 66,429,
1443  7, 68,426, 7, 78,425, 7, 96,273, 7,105,277, 7,114,278, 7,118,279, 7,123,280,
1444  7,130,281, 7,133,204, 7,136,208, 7,137,205, 7,140,201, 7,141,202, 7,143,206,
1445  7,146,207, 7,149,192, 7,154,193, 7,164,183, 7,173,632, 7,176,623, 8,  0,409,
1446  8, 12,575, 8, 22,567, 8, 29,572, 8, 32,573, 8, 40,574, 8, 49,425, 8, 66,429,
1447  8, 68,426, 8, 78,425, 8, 96,273, 8,105,282, 8,107,277, 8,114,283, 8,116,285,
1448  8,119,286, 8,124,289, 8,128,290, 8,130,281, 8,133,208, 8,137,205, 8,141,206,
1449  8,146,207, 8,151,194, 8,155,193, 8,164,183, 8,173,632, 8,176,623, 9,  0,409,
1450  9, 12,575, 9, 22,567, 9, 29,572, 9, 32,576, 9, 33,573, 9, 40,574, 9, 51,425,
1451  9, 65,429, 9, 68,426, 9, 78,425, 9, 96,273, 9,105,282, 9,114,284, 9,116,285,
1452  9,119,287, 9,121,288, 9,123,289, 9,127,290, 9,132,208, 9,140,205, 9,141,206,
1453  9,144,595, 9,146,207, 9,151,194, 9,156,193, 9,164,183, 9,165,184, 9,168,183,
1454  9,173,632, 9,176,623,10,  0,409,10, 13,575,10, 22,567,10, 29,576,10, 33,577,
1455 10, 35,573,10, 41,574,10, 51,425,10, 65,429,10, 72,425,10, 98,273,10,105,282,
1456 10,114,284,10,116,291,10,119,287,10,121,288,10,123,289,10,125,290,10,132,208,
1457 10,141,594,10,144,595,10,147,207,10,151,194,10,156,195,10,158,193,10,164,183,
1458 10,165,184,10,168,183,10,173,180,11,  0,409,11, 13,575,11, 24,576,11, 25,567,
1459 11, 29,576,11, 33,577,11, 35,573,11, 37,581,11, 41,574,11, 48,583,11, 51,425,
1460 11, 65,429,11, 71,425,11, 98,273,11,105,282,11,114,284,11,116,291,11,119,292,
1461 11,121,293,11,125,290,11,130,591,11,138,208,11,141,594,11,144,595,11,151,194,
1462 11,156,195,11,159,193,11,164,183,11,165,184,11,168,183,11,173,180,12,  0,409,
1463 12, 12,575,12, 24,576,12, 28,567,12, 30,576,12, 33,577,12, 35,581,12, 41,574,
1464 12, 48,583,12, 51,425,12, 64,429,12, 71,425,12,105,588,12,116,291,12,119,292,
1465 12,121,293,12,129,591,12,138,593,12,141,594,12,145,595,12,151,194,12,156,195,
1466 12,159,193,12,164,183,12,165,184,12,168,183,12,173,180,13,  0,409,13, 12,575,
1467 13, 22,576,13, 33,577,13, 35,581,13, 41,574,13, 47,583,13, 51,425,13, 64,429,
1468 13, 70,425,13,105,588,13,125,590,13,129,591,13,137,593,13,141,594,13,146,595,
1469 13,151,194,13,156,195,13,162,185,13,165,186,13,169,185,13,173,181,14,  0,409,
1470 14, 12,575,14, 22,576,14, 32,581,14, 34,577,14, 36,581,14, 41,582,14, 46,583,
1471 14, 51,425,14, 64,429,14, 70,425,14,105,588,14,124,590,14,129,591,14,137,593,
1472 14,141,594,14,147,595,14,156,195,14,162,185,14,165,186,14,170,185,14,173,181,
1473 15,  0,409,15, 11,575,15, 22,576,15, 30,581,15, 34,577,15, 36,581,15, 41,582,
1474 15, 45,583,15, 51,425,15, 64,429,15, 70,425,15,105,588,15,123,590,15,129,591,
1475 15,138,593,15,141,594,15,147,595,15,156,596,15,162,185,15,165,186,15,170,185,
1476 15,173,181,15,177,182,16,  0,409,16, 11,575,16, 22,576,16, 29,580,16, 33,581,
1477 16, 35,577,16, 36,581,16, 41,582,16, 44,583,16, 51,425,16, 64,429,16, 70,425,
1478 16,105,588,16,121,590,16,129,591,16,138,594,16,147,595,16,156,596,16,162,185,
1479 16,165,186,16,170,185,16,173,181,16,177,182,17,  0,409,17, 11,578,17, 18,575,
1480 17, 23,576,17, 27,580,17, 33,581,17, 40,582,17, 43,583,17, 51,425,17, 53,427,
1481 17, 67,429,17, 70,425,17,105,588,17,121,590,17,129,591,17,138,594,17,147,595,
1482 17,159,597,17,162,187,17,164,185,17,166,186,17,171,185,17,173,181,17,177,182,
1483 18,  0,409,18, 11,578,18, 21,579,18, 26,580,18, 33,581,18, 38,582,18, 43,583,
1484 18, 50,425,18, 53,427,18, 67,429,18, 70,425,18,105,588,18,120,590,18,129,591,
1485 18,138,594,18,149,605,18,159,597,18,162,187,18,165,185,18,167,186,18,171,185,
1486 18,173,181,18,177,182,19,  0,409,19, 12,578,19, 21,579,19, 26,580,19, 33,581,
1487 19, 36,582,19, 43,583,19, 50,425,19, 53,427,19, 67,429,19, 70,425,19,105,588,
1488 19,117,590,19,129,591,19,138,594,19,150,605,19,159,597,19,162,187,19,165,185,
1489 19,168,186,19,171,185,19,175,171,20,  0,409,20, 13,578,20, 21,579,20, 28,580,
1490 20, 33,581,20, 36,582,20, 42,583,20, 50,425,20, 53,427,20, 67,429,20, 72,425,
1491 20,105,588,20,114,590,20,129,591,20,138,594,20,150,605,20,159,597,20,162,187,
1492 20,166,188,20,169,186,20,171,185,20,175,171,21,  0,409,21, 13,578,21, 21,579,
1493 21, 28,580,21, 32,581,21, 36,582,21, 42,583,21, 49,425,21, 53,427,21, 67,429,
1494 21, 72,425,21,105,588,21,113,590,21,129,591,21,138,594,21,152,605,21,159,597,
1495 21,163,187,21,167,188,21,169,189,21,173,185,21,175,171,22,  0,409,22, 14,578,
1496 22, 20,579,22, 29,584,22, 31,581,22, 36,582,22, 42,583,22, 49,425,22, 53,427,
1497 22, 67,429,22, 73,425,22,105,589,22,112,590,22,129,591,22,138,594,22,152,605,
1498 22,160,597,22,164,187,22,169,189,22,175,171,23,  0,409,23, 14,578,23, 20,579,
1499 23, 27,584,23, 32,581,23, 36,582,23, 42,583,23, 49,425,23, 53,427,23, 67,429,
1500 23, 74,425,23,105,589,23,112,590,23,129,591,23,138,594,23,153,605,23,161,597,
1501 23,165,187,23,169,189,23,175,171,24,  0,409,24, 14,578,24, 20,579,24, 26,584,
1502 24, 32,581,24, 36,582,24, 42,583,24, 48,425,24, 53,427,24, 67,429,24, 76,425,
1503 24,105,589,24,112,590,24,129,591,24,138,594,24,154,605,24,162,597,24,169,189,
1504 24,175,171,25,  0,409,25, 14,578,25, 20,584,25, 21,579,25, 23,584,25, 24,579,
1505 25, 26,584,25, 32,581,25, 35,582,25, 42,583,25, 48,425,25, 63,428,25, 67,741,
1506 25, 70,429,25, 76,425,25,105,589,25,112,590,25,129,591,25,138,594,25,151,604,
1507 25,155,605,25,162,597,25,169,189,25,175,171,26,  0,409,26, 14,578,26, 20,584,
1508 26, 21,579,26, 22,584,26, 31,586,26, 32,581,26, 33,587,26, 35,425,26, 62,428,
1509 26, 66,741,26, 71,429,26, 77,425,26,105,589,26,112,590,26,129,592,26,141,594,
1510 26,152,604,26,155,605,26,162,597,26,169,606,26,173,189,26,175,171,27,  0,409,
1511 27, 15,578,27, 20,584,27, 33,587,27, 35,425,27, 61,428,27, 65,741,27, 72,429,
1512 27, 77,425,27,105,589,27,112,590,27,129,592,27,141,594,27,152,604,27,155,605,
1513 27,165,606,27,173,176,27,178,177,28,  0,409,28, 15,578,28, 20,584,28, 33,587,
1514 28, 35,425,28, 60,428,28, 64,741,28, 68,425,28, 73,429,28, 78,425,28,105,589,
1515 28,113,590,28,129,592,28,141,594,28,152,604,28,155,605,28,165,606,28,173,176,
1516 28,178,177,29,  0,409,29, 15,587,29, 16,584,29, 27,585,29, 29,584,29, 32,587,
1517 29, 35,425,29, 59,428,29, 63,425,29, 73,429,29, 78,425,29,105,589,29,113,590,
1518 29,129,592,29,141,601,29,152,604,29,155,605,29,165,606,29,173,176,29,178,177,
1519 30,  0,409,30, 15,587,30, 17,584,30, 32,587,30, 35,425,30, 58,428,30, 62,425,
1520 30, 74,429,30, 79,434,30,105,589,30,114