Files
astronomy/generate/novas/nutation.c
2019-04-08 08:44:06 -04:00

4607 lines
231 KiB
C

/*
Naval Observatory Vector Astrometry Software (NOVAS)
C Edition, Version 3.1
nutation.c: Nutation models
U. S. Naval Observatory
Astronomical Applications Dept.
Washington, DC
http://www.usno.navy.mil/USNO/astronomical-applications
*/
#ifndef _NOVAS_
#include "novas.h"
#endif
/********iau2000a */
void iau2000a (double jd_high, double jd_low,
double *dpsi, double *deps)
/*
------------------------------------------------------------------------
PURPOSE:
To compute the forced nutation of the non-rigid Earth based on
the IAU 2000A nutation model.
REFERENCES:
IERS Conventions (2003), Chapter 5.
Simon et al. (1994) Astronomy and Astrophysics 282, 663-683,
esp. Sections 3.4-3.5.
INPUT
ARGUMENTS:
jd_high (double)
High-order part of TT Julian date.
jd_low (double)
Low-order part of TT Julian date.
OUTPUT
ARGUMENTS:
*dpsi (double)
Nutation (luni-solar + planetary) in longitude, in radians.
*deps (double)
Nutation (luni-solar + planetary) in obliquity, in radians.
RETURNED
VALUE:
None.
GLOBALS
USED:
T0, ASEC2RAD, TWOPI
FUNCTIONS
CALLED:
fund_args novas.c
fmod math.h
sin math.h
cos math.h
VER./DATE/
PROGRAMMER:
V1.0/03-04/JAB (USNO/AA)
V1.1/12-10/JAB (USNO/AA): Implement static storage class for const
arrays.
V1.2/03-11/WKP (USNO/AA): Added braces to 2-D array initialization
to quiet gcc warnings.
NOTES:
1. The IAU 2000A nutation model is MHB_2000 without the free core
nutation and without the corrections to Lieske precession.
2. This function is the "C" version of NOVAS Fortran routine
'nu2000a'.
------------------------------------------------------------------------
*/
{
short int i;
double t, a[5], dp, de, arg, sarg, carg, factor, dpsils, depsls,
al, alsu, af, ad, aom, alme, alve, alea, alma, alju, alsa, alur,
alne, apa, dpsipl, depspl;
/*
Luni-Solar argument multipliers:
L L' F D Om
*/
static const short int nals_t[678][5] = {
{ 0, 0, 0, 0, 1},
{ 0, 0, 2, -2, 2},
{ 0, 0, 2, 0, 2},
{ 0, 0, 0, 0, 2},
{ 0, 1, 0, 0, 0},
{ 0, 1, 2, -2, 2},
{ 1, 0, 0, 0, 0},
{ 0, 0, 2, 0, 1},
{ 1, 0, 2, 0, 2},
{ 0, -1, 2, -2, 2},
{ 0, 0, 2, -2, 1},
{-1, 0, 2, 0, 2},
{-1, 0, 0, 2, 0},
{ 1, 0, 0, 0, 1},
{-1, 0, 0, 0, 1},
{-1, 0, 2, 2, 2},
{ 1, 0, 2, 0, 1},
{-2, 0, 2, 0, 1},
{ 0, 0, 0, 2, 0},
{ 0, 0, 2, 2, 2},
{ 0, -2, 2, -2, 2},
{-2, 0, 0, 2, 0},
{ 2, 0, 2, 0, 2},
{ 1, 0, 2, -2, 2},
{-1, 0, 2, 0, 1},
{ 2, 0, 0, 0, 0},
{ 0, 0, 2, 0, 0},
{ 0, 1, 0, 0, 1},
{-1, 0, 0, 2, 1},
{ 0, 2, 2, -2, 2},
{ 0, 0, -2, 2, 0},
{ 1, 0, 0, -2, 1},
{ 0, -1, 0, 0, 1},
{-1, 0, 2, 2, 1},
{ 0, 2, 0, 0, 0},
{ 1, 0, 2, 2, 2},
{-2, 0, 2, 0, 0},
{ 0, 1, 2, 0, 2},
{ 0, 0, 2, 2, 1},
{ 0, -1, 2, 0, 2},
{ 0, 0, 0, 2, 1},
{ 1, 0, 2, -2, 1},
{ 2, 0, 2, -2, 2},
{-2, 0, 0, 2, 1},
{ 2, 0, 2, 0, 1},
{ 0, -1, 2, -2, 1},
{ 0, 0, 0, -2, 1},
{-1, -1, 0, 2, 0},
{ 2, 0, 0, -2, 1},
{ 1, 0, 0, 2, 0},
{ 0, 1, 2, -2, 1},
{ 1, -1, 0, 0, 0},
{-2, 0, 2, 0, 2},
{ 3, 0, 2, 0, 2},
{ 0, -1, 0, 2, 0},
{ 1, -1, 2, 0, 2},
{ 0, 0, 0, 1, 0},
{-1, -1, 2, 2, 2},
{-1, 0, 2, 0, 0},
{ 0, -1, 2, 2, 2},
{-2, 0, 0, 0, 1},
{ 1, 1, 2, 0, 2},
{ 2, 0, 0, 0, 1},
{-1, 1, 0, 1, 0},
{ 1, 1, 0, 0, 0},
{ 1, 0, 2, 0, 0},
{-1, 0, 2, -2, 1},
{ 1, 0, 0, 0, 2},
{-1, 0, 0, 1, 0},
{ 0, 0, 2, 1, 2},
{-1, 0, 2, 4, 2},
{-1, 1, 0, 1, 1},
{ 0, -2, 2, -2, 1},
{ 1, 0, 2, 2, 1},
{-2, 0, 2, 2, 2},
{-1, 0, 0, 0, 2},
{ 1, 1, 2, -2, 2},
{-2, 0, 2, 4, 2},
{-1, 0, 4, 0, 2},
{ 2, 0, 2, -2, 1},
{ 2, 0, 2, 2, 2},
{ 1, 0, 0, 2, 1},
{ 3, 0, 0, 0, 0},
{ 3, 0, 2, -2, 2},
{ 0, 0, 4, -2, 2},
{ 0, 1, 2, 0, 1},
{ 0, 0, -2, 2, 1},
{ 0, 0, 2, -2, 3},
{-1, 0, 0, 4, 0},
{ 2, 0, -2, 0, 1},
{-2, 0, 0, 4, 0},
{-1, -1, 0, 2, 1},
{-1, 0, 0, 1, 1},
{ 0, 1, 0, 0, 2},
{ 0, 0, -2, 0, 1},
{ 0, -1, 2, 0, 1},
{ 0, 0, 2, -1, 2},
{ 0, 0, 2, 4, 2},
{-2, -1, 0, 2, 0},
{ 1, 1, 0, -2, 1},
{-1, 1, 0, 2, 0},
{-1, 1, 0, 1, 2},
{ 1, -1, 0, 0, 1},
{ 1, -1, 2, 2, 2},
{-1, 1, 2, 2, 2},
{ 3, 0, 2, 0, 1},
{ 0, 1, -2, 2, 0},
{-1, 0, 0, -2, 1},
{ 0, 1, 2, 2, 2},
{-1, -1, 2, 2, 1},
{ 0, -1, 0, 0, 2},
{ 1, 0, 2, -4, 1},
{-1, 0, -2, 2, 0},
{ 0, -1, 2, 2, 1},
{ 2, -1, 2, 0, 2},
{ 0, 0, 0, 2, 2},
{ 1, -1, 2, 0, 1},
{-1, 1, 2, 0, 2},
{ 0, 1, 0, 2, 0},
{ 0, -1, -2, 2, 0},
{ 0, 3, 2, -2, 2},
{ 0, 0, 0, 1, 1},
{-1, 0, 2, 2, 0},
{ 2, 1, 2, 0, 2},
{ 1, 1, 0, 0, 1},
{ 1, 1, 2, 0, 1},
{ 2, 0, 0, 2, 0},
{ 1, 0, -2, 2, 0},
{-1, 0, 0, 2, 2},
{ 0, 1, 0, 1, 0},
{ 0, 1, 0, -2, 1},
{-1, 0, 2, -2, 2},
{ 0, 0, 0, -1, 1},
{-1, 1, 0, 0, 1},
{ 1, 0, 2, -1, 2},
{ 1, -1, 0, 2, 0},
{ 0, 0, 0, 4, 0},
{ 1, 0, 2, 1, 2},
{ 0, 0, 2, 1, 1},
{ 1, 0, 0, -2, 2},
{-1, 0, 2, 4, 1},
{ 1, 0, -2, 0, 1},
{ 1, 1, 2, -2, 1},
{ 0, 0, 2, 2, 0},
{-1, 0, 2, -1, 1},
{-2, 0, 2, 2, 1},
{ 4, 0, 2, 0, 2},
{ 2, -1, 0, 0, 0},
{ 2, 1, 2, -2, 2},
{ 0, 1, 2, 1, 2},
{ 1, 0, 4, -2, 2},
{-1, -1, 0, 0, 1},
{ 0, 1, 0, 2, 1},
{-2, 0, 2, 4, 1},
{ 2, 0, 2, 0, 0},
{ 1, 0, 0, 1, 0},
{-1, 0, 0, 4, 1},
{-1, 0, 4, 0, 1},
{ 2, 0, 2, 2, 1},
{ 0, 0, 2, -3, 2},
{-1, -2, 0, 2, 0},
{ 2, 1, 0, 0, 0},
{ 0, 0, 4, 0, 2},
{ 0, 0, 0, 0, 3},
{ 0, 3, 0, 0, 0},
{ 0, 0, 2, -4, 1},
{ 0, -1, 0, 2, 1},
{ 0, 0, 0, 4, 1},
{-1, -1, 2, 4, 2},
{ 1, 0, 2, 4, 2},
{-2, 2, 0, 2, 0},
{-2, -1, 2, 0, 1},
{-2, 0, 0, 2, 2},
{-1, -1, 2, 0, 2},
{ 0, 0, 4, -2, 1},
{ 3, 0, 2, -2, 1},
{-2, -1, 0, 2, 1},
{ 1, 0, 0, -1, 1},
{ 0, -2, 0, 2, 0},
{-2, 0, 0, 4, 1},
{-3, 0, 0, 0, 1},
{ 1, 1, 2, 2, 2},
{ 0, 0, 2, 4, 1},
{ 3, 0, 2, 2, 2},
{-1, 1, 2, -2, 1},
{ 2, 0, 0, -4, 1},
{ 0, 0, 0, -2, 2},
{ 2, 0, 2, -4, 1},
{-1, 1, 0, 2, 1},
{ 0, 0, 2, -1, 1},
{ 0, -2, 2, 2, 2},
{ 2, 0, 0, 2, 1},
{ 4, 0, 2, -2, 2},
{ 2, 0, 0, -2, 2},
{ 0, 2, 0, 0, 1},
{ 1, 0, 0, -4, 1},
{ 0, 2, 2, -2, 1},
{-3, 0, 0, 4, 0},
{-1, 1, 2, 0, 1},
{-1, -1, 0, 4, 0},
{-1, -2, 2, 2, 2},
{-2, -1, 2, 4, 2},
{ 1, -1, 2, 2, 1},
{-2, 1, 0, 2, 0},
{-2, 1, 2, 0, 1},
{ 2, 1, 0, -2, 1},
{-3, 0, 2, 0, 1},
{-2, 0, 2, -2, 1},
{-1, 1, 0, 2, 2},
{ 0, -1, 2, -1, 2},
{-1, 0, 4, -2, 2},
{ 0, -2, 2, 0, 2},
{-1, 0, 2, 1, 2},
{ 2, 0, 0, 0, 2},
{ 0, 0, 2, 0, 3},
{-2, 0, 4, 0, 2},
{-1, 0, -2, 0, 1},
{-1, 1, 2, 2, 1},
{ 3, 0, 0, 0, 1},
{-1, 0, 2, 3, 2},
{ 2, -1, 2, 0, 1},
{ 0, 1, 2, 2, 1},
{ 0, -1, 2, 4, 2},
{ 2, -1, 2, 2, 2},
{ 0, 2, -2, 2, 0},
{-1, -1, 2, -1, 1},
{ 0, -2, 0, 0, 1},
{ 1, 0, 2, -4, 2},
{ 1, -1, 0, -2, 1},
{-1, -1, 2, 0, 1},
{ 1, -1, 2, -2, 2},
{-2, -1, 0, 4, 0},
{-1, 0, 0, 3, 0},
{-2, -1, 2, 2, 2},
{ 0, 2, 2, 0, 2},
{ 1, 1, 0, 2, 0},
{ 2, 0, 2, -1, 2},
{ 1, 0, 2, 1, 1},
{ 4, 0, 0, 0, 0},
{ 2, 1, 2, 0, 1},
{ 3, -1, 2, 0, 2},
{-2, 2, 0, 2, 1},
{ 1, 0, 2, -3, 1},
{ 1, 1, 2, -4, 1},
{-1, -1, 2, -2, 1},
{ 0, -1, 0, -1, 1},
{ 0, -1, 0, -2, 1},
{-2, 0, 0, 0, 2},
{-2, 0, -2, 2, 0},
{-1, 0, -2, 4, 0},
{ 1, -2, 0, 0, 0},
{ 0, 1, 0, 1, 1},
{-1, 2, 0, 2, 0},
{ 1, -1, 2, -2, 1},
{ 1, 2, 2, -2, 2},
{ 2, -1, 2, -2, 2},
{ 1, 0, 2, -1, 1},
{ 2, 1, 2, -2, 1},
{-2, 0, 0, -2, 1},
{ 1, -2, 2, 0, 2},
{ 0, 1, 2, 1, 1},
{ 1, 0, 4, -2, 1},
{-2, 0, 4, 2, 2},
{ 1, 1, 2, 1, 2},
{ 1, 0, 0, 4, 0},
{ 1, 0, 2, 2, 0},
{ 2, 0, 2, 1, 2},
{ 3, 1, 2, 0, 2},
{ 4, 0, 2, 0, 1},
{-2, -1, 2, 0, 0},
{ 0, 1, -2, 2, 1},
{ 1, 0, -2, 1, 0},
{ 0, -1, -2, 2, 1},
{ 2, -1, 0, -2, 1},
{-1, 0, 2, -1, 2},
{ 1, 0, 2, -3, 2},
{ 0, 1, 2, -2, 3},
{ 0, 0, 2, -3, 1},
{-1, 0, -2, 2, 1},
{ 0, 0, 2, -4, 2},
{-2, 1, 0, 0, 1},
{-1, 0, 0, -1, 1},
{ 2, 0, 2, -4, 2},
{ 0, 0, 4, -4, 4},
{ 0, 0, 4, -4, 2},
{-1, -2, 0, 2, 1},
{-2, 0, 0, 3, 0},
{ 1, 0, -2, 2, 1},
{-3, 0, 2, 2, 2},
{-3, 0, 2, 2, 1},
{-2, 0, 2, 2, 0},
{ 2, -1, 0, 0, 1},
{-2, 1, 2, 2, 2},
{ 1, 1, 0, 1, 0},
{ 0, 1, 4, -2, 2},
{-1, 1, 0, -2, 1},
{ 0, 0, 0, -4, 1},
{ 1, -1, 0, 2, 1},
{ 1, 1, 0, 2, 1},
{-1, 2, 2, 2, 2},
{ 3, 1, 2, -2, 2},
{ 0, -1, 0, 4, 0},
{ 2, -1, 0, 2, 0},
{ 0, 0, 4, 0, 1},
{ 2, 0, 4, -2, 2},
{-1, -1, 2, 4, 1},
{ 1, 0, 0, 4, 1},
{ 1, -2, 2, 2, 2},
{ 0, 0, 2, 3, 2},
{-1, 1, 2, 4, 2},
{ 3, 0, 0, 2, 0},
{-1, 0, 4, 2, 2},
{ 1, 1, 2, 2, 1},
{-2, 0, 2, 6, 2},
{ 2, 1, 2, 2, 2},
{-1, 0, 2, 6, 2},
{ 1, 0, 2, 4, 1},
{ 2, 0, 2, 4, 2},
{ 1, 1, -2, 1, 0},
{-3, 1, 2, 1, 2},
{ 2, 0, -2, 0, 2},
{-1, 0, 0, 1, 2},
{-4, 0, 2, 2, 1},
{-1, -1, 0, 1, 0},
{ 0, 0, -2, 2, 2},
{ 1, 0, 0, -1, 2},
{ 0, -1, 2, -2, 3},
{-2, 1, 2, 0, 0},
{ 0, 0, 2, -2, 4},
{-2, -2, 0, 2, 0},
{-2, 0, -2, 4, 0},
{ 0, -2, -2, 2, 0},
{ 1, 2, 0, -2, 1},
{ 3, 0, 0, -4, 1},
{-1, 1, 2, -2, 2},
{ 1, -1, 2, -4, 1},
{ 1, 1, 0, -2, 2},
{-3, 0, 2, 0, 0},
{-3, 0, 2, 0, 2},
{-2, 0, 0, 1, 0},
{ 0, 0, -2, 1, 0},
{-3, 0, 0, 2, 1},
{-1, -1, -2, 2, 0},
{ 0, 1, 2, -4, 1},
{ 2, 1, 0, -4, 1},
{ 0, 2, 0, -2, 1},
{ 1, 0, 0, -3, 1},
{-2, 0, 2, -2, 2},
{-2, -1, 0, 0, 1},
{-4, 0, 0, 2, 0},
{ 1, 1, 0, -4, 1},
{-1, 0, 2, -4, 1},
{ 0, 0, 4, -4, 1},
{ 0, 3, 2, -2, 2},
{-3, -1, 0, 4, 0},
{-3, 0, 0, 4, 1},
{ 1, -1, -2, 2, 0},
{-1, -1, 0, 2, 2},
{ 1, -2, 0, 0, 1},
{ 1, -1, 0, 0, 2},
{ 0, 0, 0, 1, 2},
{-1, -1, 2, 0, 0},
{ 1, -2, 2, -2, 2},
{ 0, -1, 2, -1, 1},
{-1, 0, 2, 0, 3},
{ 1, 1, 0, 0, 2},
{-1, 1, 2, 0, 0},
{ 1, 2, 0, 0, 0},
{-1, 2, 2, 0, 2},
{-1, 0, 4, -2, 1},
{ 3, 0, 2, -4, 2},
{ 1, 2, 2, -2, 1},
{ 1, 0, 4, -4, 2},
{-2, -1, 0, 4, 1},
{ 0, -1, 0, 2, 2},
{-2, 1, 0, 4, 0},
{-2, -1, 2, 2, 1},
{ 2, 0, -2, 2, 0},
{ 1, 0, 0, 1, 1},
{ 0, 1, 0, 2, 2},
{ 1, -1, 2, -1, 2},
{-2, 0, 4, 0, 1},
{ 2, 1, 0, 0, 1},
{ 0, 1, 2, 0, 0},
{ 0, -1, 4, -2, 2},
{ 0, 0, 4, -2, 4},
{ 0, 2, 2, 0, 1},
{-3, 0, 0, 6, 0},
{-1, -1, 0, 4, 1},
{ 1, -2, 0, 2, 0},
{-1, 0, 0, 4, 2},
{-1, -2, 2, 2, 1},
{-1, 0, 0, -2, 2},
{ 1, 0, -2, -2, 1},
{ 0, 0, -2, -2, 1},
{-2, 0, -2, 0, 1},
{ 0, 0, 0, 3, 1},
{ 0, 0, 0, 3, 0},
{-1, 1, 0, 4, 0},
{-1, -1, 2, 2, 0},
{-2, 0, 2, 3, 2},
{ 1, 0, 0, 2, 2},
{ 0, -1, 2, 1, 2},
{ 3, -1, 0, 0, 0},
{ 2, 0, 0, 1, 0},
{ 1, -1, 2, 0, 0},
{ 0, 0, 2, 1, 0},
{ 1, 0, 2, 0, 3},
{ 3, 1, 0, 0, 0},
{ 3, -1, 2, -2, 2},
{ 2, 0, 2, -1, 1},
{ 1, 1, 2, 0, 0},
{ 0, 0, 4, -1, 2},
{ 1, 2, 2, 0, 2},
{-2, 0, 0, 6, 0},
{ 0, -1, 0, 4, 1},
{-2, -1, 2, 4, 1},
{ 0, -2, 2, 2, 1},
{ 0, -1, 2, 2, 0},
{-1, 0, 2, 3, 1},
{-2, 1, 2, 4, 2},
{ 2, 0, 0, 2, 2},
{ 2, -2, 2, 0, 2},
{-1, 1, 2, 3, 2},
{ 3, 0, 2, -1, 2},
{ 4, 0, 2, -2, 1},
{-1, 0, 0, 6, 0},
{-1, -2, 2, 4, 2},
{-3, 0, 2, 6, 2},
{-1, 0, 2, 4, 0},
{ 3, 0, 0, 2, 1},
{ 3, -1, 2, 0, 1},
{ 3, 0, 2, 0, 0},
{ 1, 0, 4, 0, 2},
{ 5, 0, 2, -2, 2},
{ 0, -1, 2, 4, 1},
{ 2, -1, 2, 2, 1},
{ 0, 1, 2, 4, 2},
{ 1, -1, 2, 4, 2},
{ 3, -1, 2, 2, 2},
{ 3, 0, 2, 2, 1},
{ 5, 0, 2, 0, 2},
{ 0, 0, 2, 6, 2},
{ 4, 0, 2, 2, 2},
{ 0, -1, 1, -1, 1},
{-1, 0, 1, 0, 3},
{ 0, -2, 2, -2, 3},
{ 1, 0, -1, 0, 1},
{ 2, -2, 0, -2, 1},
{-1, 0, 1, 0, 2},
{-1, 0, 1, 0, 1},
{-1, -1, 2, -1, 2},
{-2, 2, 0, 2, 2},
{-1, 0, 1, 0, 0},
{-4, 1, 2, 2, 2},
{-3, 0, 2, 1, 1},
{-2, -1, 2, 0, 2},
{ 1, 0, -2, 1, 1},
{ 2, -1, -2, 0, 1},
{-4, 0, 2, 2, 0},
{-3, 1, 0, 3, 0},
{-1, 0, -1, 2, 0},
{ 0, -2, 0, 0, 2},
{ 0, -2, 0, 0, 2},
{-3, 0, 0, 3, 0},
{-2, -1, 0, 2, 2},
{-1, 0, -2, 3, 0},
{-4, 0, 0, 4, 0},
{ 2, 1, -2, 0, 1},
{ 2, -1, 0, -2, 2},
{ 0, 0, 1, -1, 0},
{-1, 2, 0, 1, 0},
{-2, 1, 2, 0, 2},
{ 1, 1, 0, -1, 1},
{ 1, 0, 1, -2, 1},
{ 0, 2, 0, 0, 2},
{ 1, -1, 2, -3, 1},
{-1, 1, 2, -1, 1},
{-2, 0, 4, -2, 2},
{-2, 0, 4, -2, 1},
{-2, -2, 0, 2, 1},
{-2, 0, -2, 4, 0},
{ 1, 2, 2, -4, 1},
{ 1, 1, 2, -4, 2},
{-1, 2, 2, -2, 1},
{ 2, 0, 0, -3, 1},
{-1, 2, 0, 0, 1},
{ 0, 0, 0, -2, 0},
{-1, -1, 2, -2, 2},
{-1, 1, 0, 0, 2},
{ 0, 0, 0, -1, 2},
{-2, 1, 0, 1, 0},
{ 1, -2, 0, -2, 1},
{ 1, 0, -2, 0, 2},
{-3, 1, 0, 2, 0},
{-1, 1, -2, 2, 0},
{-1, -1, 0, 0, 2},
{-3, 0, 0, 2, 0},
{-3, -1, 0, 2, 0},
{ 2, 0, 2, -6, 1},
{ 0, 1, 2, -4, 2},
{ 2, 0, 0, -4, 2},
{-2, 1, 2, -2, 1},
{ 0, -1, 2, -4, 1},
{ 0, 1, 0, -2, 2},
{-1, 0, 0, -2, 0},
{ 2, 0, -2, -2, 1},
{-4, 0, 2, 0, 1},
{-1, -1, 0, -1, 1},
{ 0, 0, -2, 0, 2},
{-3, 0, 0, 1, 0},
{-1, 0, -2, 1, 0},
{-2, 0, -2, 2, 1},
{ 0, 0, -4, 2, 0},
{-2, -1, -2, 2, 0},
{ 1, 0, 2, -6, 1},
{-1, 0, 2, -4, 2},
{ 1, 0, 0, -4, 2},
{ 2, 1, 2, -4, 2},
{ 2, 1, 2, -4, 1},
{ 0, 1, 4, -4, 4},
{ 0, 1, 4, -4, 2},
{-1, -1, -2, 4, 0},
{-1, -3, 0, 2, 0},
{-1, 0, -2, 4, 1},
{-2, -1, 0, 3, 0},
{ 0, 0, -2, 3, 0},
{-2, 0, 0, 3, 1},
{ 0, -1, 0, 1, 0},
{-3, 0, 2, 2, 0},
{ 1, 1, -2, 2, 0},
{-1, 1, 0, 2, 2},
{ 1, -2, 2, -2, 1},
{ 0, 0, 1, 0, 2},
{ 0, 0, 1, 0, 1},
{ 0, 0, 1, 0, 0},
{-1, 2, 0, 2, 1},
{ 0, 0, 2, 0, 2},
{-2, 0, 2, 0, 2},
{ 2, 0, 0, -1, 1},
{ 3, 0, 0, -2, 1},
{ 1, 0, 2, -2, 3},
{ 1, 2, 0, 0, 1},
{ 2, 0, 2, -3, 2},
{-1, 1, 4, -2, 2},
{-2, -2, 0, 4, 0},
{ 0, -3, 0, 2, 0},
{ 0, 0, -2, 4, 0},
{-1, -1, 0, 3, 0},
{-2, 0, 0, 4, 2},
{-1, 0, 0, 3, 1},
{ 2, -2, 0, 0, 0},
{ 1, -1, 0, 1, 0},
{-1, 0, 0, 2, 0},
{ 0, -2, 2, 0, 1},
{-1, 0, 1, 2, 1},
{-1, 1, 0, 3, 0},
{-1, -1, 2, 1, 2},
{ 0, -1, 2, 0, 0},
{-2, 1, 2, 2, 1},
{ 2, -2, 2, -2, 2},
{ 1, 1, 0, 1, 1},
{ 1, 0, 1, 0, 1},
{ 1, 0, 1, 0, 0},
{ 0, 2, 0, 2, 0},
{ 2, -1, 2, -2, 1},
{ 0, -1, 4, -2, 1},
{ 0, 0, 4, -2, 3},
{ 0, 1, 4, -2, 1},
{ 4, 0, 2, -4, 2},
{ 2, 2, 2, -2, 2},
{ 2, 0, 4, -4, 2},
{-1, -2, 0, 4, 0},
{-1, -3, 2, 2, 2},
{-3, 0, 2, 4, 2},
{-3, 0, 2, -2, 1},
{-1, -1, 0, -2, 1},
{-3, 0, 0, 0, 2},
{-3, 0, -2, 2, 0},
{ 0, 1, 0, -4, 1},
{-2, 1, 0, -2, 1},
{-4, 0, 0, 0, 1},
{-1, 0, 0, -4, 1},
{-3, 0, 0, -2, 1},
{ 0, 0, 0, 3, 2},
{-1, 1, 0, 4, 1},
{ 1, -2, 2, 0, 1},
{ 0, 1, 0, 3, 0},
{-1, 0, 2, 2, 3},
{ 0, 0, 2, 2, 2},
{-2, 0, 2, 2, 2},
{-1, 1, 2, 2, 0},
{ 3, 0, 0, 0, 2},
{ 2, 1, 0, 1, 0},
{ 2, -1, 2, -1, 2},
{ 0, 0, 2, 0, 1},
{ 0, 0, 3, 0, 3},
{ 0, 0, 3, 0, 2},
{-1, 2, 2, 2, 1},
{-1, 0, 4, 0, 0},
{ 1, 2, 2, 0, 1},
{ 3, 1, 2, -2, 1},
{ 1, 1, 4, -2, 2},
{-2, -1, 0, 6, 0},
{ 0, -2, 0, 4, 0},
{-2, 0, 0, 6, 1},
{-2, -2, 2, 4, 2},
{ 0, -3, 2, 2, 2},
{ 0, 0, 0, 4, 2},
{-1, -1, 2, 3, 2},
{-2, 0, 2, 4, 0},
{ 2, -1, 0, 2, 1},
{ 1, 0, 0, 3, 0},
{ 0, 1, 0, 4, 1},
{ 0, 1, 0, 4, 0},
{ 1, -1, 2, 1, 2},
{ 0, 0, 2, 2, 3},
{ 1, 0, 2, 2, 2},
{-1, 0, 2, 2, 2},
{-2, 0, 4, 2, 1},
{ 2, 1, 0, 2, 1},
{ 2, 1, 0, 2, 0},
{ 2, -1, 2, 0, 0},
{ 1, 0, 2, 1, 0},
{ 0, 1, 2, 2, 0},
{ 2, 0, 2, 0, 3},
{ 3, 0, 2, 0, 2},
{ 1, 0, 2, 0, 2},
{ 1, 0, 3, 0, 3},
{ 1, 1, 2, 1, 1},
{ 0, 2, 2, 2, 2},
{ 2, 1, 2, 0, 0},
{ 2, 0, 4, -2, 1},
{ 4, 1, 2, -2, 2},
{-1, -1, 0, 6, 0},
{-3, -1, 2, 6, 2},
{-1, 0, 0, 6, 1},
{-3, 0, 2, 6, 1},
{ 1, -1, 0, 4, 1},
{ 1, -1, 0, 4, 0},
{-2, 0, 2, 5, 2},
{ 1, -2, 2, 2, 1},
{ 3, -1, 0, 2, 0},
{ 1, -1, 2, 2, 0},
{ 0, 0, 2, 3, 1},
{-1, 1, 2, 4, 1},
{ 0, 1, 2, 3, 2},
{-1, 0, 4, 2, 1},
{ 2, 0, 2, 1, 1},
{ 5, 0, 0, 0, 0},
{ 2, 1, 2, 1, 2},
{ 1, 0, 4, 0, 1},
{ 3, 1, 2, 0, 1},
{ 3, 0, 4, -2, 2},
{-2, -1, 2, 6, 2},
{ 0, 0, 0, 6, 0},
{ 0, -2, 2, 4, 2},
{-2, 0, 2, 6, 1},
{ 2, 0, 0, 4, 1},
{ 2, 0, 0, 4, 0},
{ 2, -2, 2, 2, 2},
{ 0, 0, 2, 4, 0},
{ 1, 0, 2, 3, 2},
{ 4, 0, 0, 2, 0},
{ 2, 0, 2, 2, 0},
{ 0, 0, 4, 2, 2},
{ 4, -1, 2, 0, 2},
{ 3, 0, 2, 1, 2},
{ 2, 1, 2, 2, 1},
{ 4, 1, 2, 0, 2},
{-1, -1, 2, 6, 2},
{-1, 0, 2, 6, 1},
{ 1, -1, 2, 4, 1},
{ 1, 1, 2, 4, 2},
{ 3, 1, 2, 2, 2},
{ 5, 0, 2, 0, 1},
{ 2, -1, 2, 4, 2},
{ 2, 0, 2, 4, 1}};
/*
Luni-Solar nutation coefficients, unit 1e-7 arcsec:
longitude (sin, t*sin, cos), obliquity (cos, t*cos, sin)
Each row of coefficients in 'cls_t' belongs with the corresponding
row of fundamental-argument multipliers in 'nals_t'.
*/
static const double cls_t[678][6] = {
{-172064161.0, -174666.0, 33386.0, 92052331.0, 9086.0, 15377.0},
{ -13170906.0, -1675.0, -13696.0, 5730336.0, -3015.0, -4587.0},
{ -2276413.0, -234.0, 2796.0, 978459.0, -485.0, 1374.0},
{ 2074554.0, 207.0, -698.0, -897492.0, 470.0, -291.0},
{ 1475877.0, -3633.0, 11817.0, 73871.0, -184.0, -1924.0},
{ -516821.0, 1226.0, -524.0, 224386.0, -677.0, -174.0},
{ 711159.0, 73.0, -872.0, -6750.0, 0.0, 358.0},
{ -387298.0, -367.0, 380.0, 200728.0, 18.0, 318.0},
{ -301461.0, -36.0, 816.0, 129025.0, -63.0, 367.0},
{ 215829.0, -494.0, 111.0, -95929.0, 299.0, 132.0},
{ 128227.0, 137.0, 181.0, -68982.0, -9.0, 39.0},
{ 123457.0, 11.0, 19.0, -53311.0, 32.0, -4.0},
{ 156994.0, 10.0, -168.0, -1235.0, 0.0, 82.0},
{ 63110.0, 63.0, 27.0, -33228.0, 0.0, -9.0},
{ -57976.0, -63.0, -189.0, 31429.0, 0.0, -75.0},
{ -59641.0, -11.0, 149.0, 25543.0, -11.0, 66.0},
{ -51613.0, -42.0, 129.0, 26366.0, 0.0, 78.0},
{ 45893.0, 50.0, 31.0, -24236.0, -10.0, 20.0},
{ 63384.0, 11.0, -150.0, -1220.0, 0.0, 29.0},
{ -38571.0, -1.0, 158.0, 16452.0, -11.0, 68.0},
{ 32481.0, 0.0, 0.0, -13870.0, 0.0, 0.0},
{ -47722.0, 0.0, -18.0, 477.0, 0.0, -25.0},
{ -31046.0, -1.0, 131.0, 13238.0, -11.0, 59.0},
{ 28593.0, 0.0, -1.0, -12338.0, 10.0, -3.0},
{ 20441.0, 21.0, 10.0, -10758.0, 0.0, -3.0},
{ 29243.0, 0.0, -74.0, -609.0, 0.0, 13.0},
{ 25887.0, 0.0, -66.0, -550.0, 0.0, 11.0},
{ -14053.0, -25.0, 79.0, 8551.0, -2.0, -45.0},
{ 15164.0, 10.0, 11.0, -8001.0, 0.0, -1.0},
{ -15794.0, 72.0, -16.0, 6850.0, -42.0, -5.0},
{ 21783.0, 0.0, 13.0, -167.0, 0.0, 13.0},
{ -12873.0, -10.0, -37.0, 6953.0, 0.0, -14.0},
{ -12654.0, 11.0, 63.0, 6415.0, 0.0, 26.0},
{ -10204.0, 0.0, 25.0, 5222.0, 0.0, 15.0},
{ 16707.0, -85.0, -10.0, 168.0, -1.0, 10.0},
{ -7691.0, 0.0, 44.0, 3268.0, 0.0, 19.0},
{ -11024.0, 0.0, -14.0, 104.0, 0.0, 2.0},
{ 7566.0, -21.0, -11.0, -3250.0, 0.0, -5.0},
{ -6637.0, -11.0, 25.0, 3353.0, 0.0, 14.0},
{ -7141.0, 21.0, 8.0, 3070.0, 0.0, 4.0},
{ -6302.0, -11.0, 2.0, 3272.0, 0.0, 4.0},
{ 5800.0, 10.0, 2.0, -3045.0, 0.0, -1.0},
{ 6443.0, 0.0, -7.0, -2768.0, 0.0, -4.0},
{ -5774.0, -11.0, -15.0, 3041.0, 0.0, -5.0},
{ -5350.0, 0.0, 21.0, 2695.0, 0.0, 12.0},
{ -4752.0, -11.0, -3.0, 2719.0, 0.0, -3.0},
{ -4940.0, -11.0, -21.0, 2720.0, 0.0, -9.0},
{ 7350.0, 0.0, -8.0, -51.0, 0.0, 4.0},
{ 4065.0, 0.0, 6.0, -2206.0, 0.0, 1.0},
{ 6579.0, 0.0, -24.0, -199.0, 0.0, 2.0},
{ 3579.0, 0.0, 5.0, -1900.0, 0.0, 1.0},
{ 4725.0, 0.0, -6.0, -41.0, 0.0, 3.0},
{ -3075.0, 0.0, -2.0, 1313.0, 0.0, -1.0},
{ -2904.0, 0.0, 15.0, 1233.0, 0.0, 7.0},
{ 4348.0, 0.0, -10.0, -81.0, 0.0, 2.0},
{ -2878.0, 0.0, 8.0, 1232.0, 0.0, 4.0},
{ -4230.0, 0.0, 5.0, -20.0, 0.0, -2.0},
{ -2819.0, 0.0, 7.0, 1207.0, 0.0, 3.0},
{ -4056.0, 0.0, 5.0, 40.0, 0.0, -2.0},
{ -2647.0, 0.0, 11.0, 1129.0, 0.0, 5.0},
{ -2294.0, 0.0, -10.0, 1266.0, 0.0, -4.0},
{ 2481.0, 0.0, -7.0, -1062.0, 0.0, -3.0},
{ 2179.0, 0.0, -2.0, -1129.0, 0.0, -2.0},
{ 3276.0, 0.0, 1.0, -9.0, 0.0, 0.0},
{ -3389.0, 0.0, 5.0, 35.0, 0.0, -2.0},
{ 3339.0, 0.0, -13.0, -107.0, 0.0, 1.0},
{ -1987.0, 0.0, -6.0, 1073.0, 0.0, -2.0},
{ -1981.0, 0.0, 0.0, 854.0, 0.0, 0.0},
{ 4026.0, 0.0, -353.0, -553.0, 0.0, -139.0},
{ 1660.0, 0.0, -5.0, -710.0, 0.0, -2.0},
{ -1521.0, 0.0, 9.0, 647.0, 0.0, 4.0},
{ 1314.0, 0.0, 0.0, -700.0, 0.0, 0.0},
{ -1283.0, 0.0, 0.0, 672.0, 0.0, 0.0},
{ -1331.0, 0.0, 8.0, 663.0, 0.0, 4.0},
{ 1383.0, 0.0, -2.0, -594.0, 0.0, -2.0},
{ 1405.0, 0.0, 4.0, -610.0, 0.0, 2.0},
{ 1290.0, 0.0, 0.0, -556.0, 0.0, 0.0},
{ -1214.0, 0.0, 5.0, 518.0, 0.0, 2.0},
{ 1146.0, 0.0, -3.0, -490.0, 0.0, -1.0},
{ 1019.0, 0.0, -1.0, -527.0, 0.0, -1.0},
{ -1100.0, 0.0, 9.0, 465.0, 0.0, 4.0},
{ -970.0, 0.0, 2.0, 496.0, 0.0, 1.0},
{ 1575.0, 0.0, -6.0, -50.0, 0.0, 0.0},
{ 934.0, 0.0, -3.0, -399.0, 0.0, -1.0},
{ 922.0, 0.0, -1.0, -395.0, 0.0, -1.0},
{ 815.0, 0.0, -1.0, -422.0, 0.0, -1.0},
{ 834.0, 0.0, 2.0, -440.0, 0.0, 1.0},
{ 1248.0, 0.0, 0.0, -170.0, 0.0, 1.0},
{ 1338.0, 0.0, -5.0, -39.0, 0.0, 0.0},
{ 716.0, 0.0, -2.0, -389.0, 0.0, -1.0},
{ 1282.0, 0.0, -3.0, -23.0, 0.0, 1.0},
{ 742.0, 0.0, 1.0, -391.0, 0.0, 0.0},
{ 1020.0, 0.0, -25.0, -495.0, 0.0, -10.0},
{ 715.0, 0.0, -4.0, -326.0, 0.0, 2.0},
{ -666.0, 0.0, -3.0, 369.0, 0.0, -1.0},
{ -667.0, 0.0, 1.0, 346.0, 0.0, 1.0},
{ -704.0, 0.0, 0.0, 304.0, 0.0, 0.0},
{ -694.0, 0.0, 5.0, 294.0, 0.0, 2.0},
{ -1014.0, 0.0, -1.0, 4.0, 0.0, -1.0},
{ -585.0, 0.0, -2.0, 316.0, 0.0, -1.0},
{ -949.0, 0.0, 1.0, 8.0, 0.0, -1.0},
{ -595.0, 0.0, 0.0, 258.0, 0.0, 0.0},
{ 528.0, 0.0, 0.0, -279.0, 0.0, 0.0},
{ -590.0, 0.0, 4.0, 252.0, 0.0, 2.0},
{ 570.0, 0.0, -2.0, -244.0, 0.0, -1.0},
{ -502.0, 0.0, 3.0, 250.0, 0.0, 2.0},
{ -875.0, 0.0, 1.0, 29.0, 0.0, 0.0},
{ -492.0, 0.0, -3.0, 275.0, 0.0, -1.0},
{ 535.0, 0.0, -2.0, -228.0, 0.0, -1.0},
{ -467.0, 0.0, 1.0, 240.0, 0.0, 1.0},
{ 591.0, 0.0, 0.0, -253.0, 0.0, 0.0},
{ -453.0, 0.0, -1.0, 244.0, 0.0, -1.0},
{ 766.0, 0.0, 1.0, 9.0, 0.0, 0.0},
{ -446.0, 0.0, 2.0, 225.0, 0.0, 1.0},
{ -488.0, 0.0, 2.0, 207.0, 0.0, 1.0},
{ -468.0, 0.0, 0.0, 201.0, 0.0, 0.0},
{ -421.0, 0.0, 1.0, 216.0, 0.0, 1.0},
{ 463.0, 0.0, 0.0, -200.0, 0.0, 0.0},
{ -673.0, 0.0, 2.0, 14.0, 0.0, 0.0},
{ 658.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -438.0, 0.0, 0.0, 188.0, 0.0, 0.0},
{ -390.0, 0.0, 0.0, 205.0, 0.0, 0.0},
{ 639.0, -11.0, -2.0, -19.0, 0.0, 0.0},
{ 412.0, 0.0, -2.0, -176.0, 0.0, -1.0},
{ -361.0, 0.0, 0.0, 189.0, 0.0, 0.0},
{ 360.0, 0.0, -1.0, -185.0, 0.0, -1.0},
{ 588.0, 0.0, -3.0, -24.0, 0.0, 0.0},
{ -578.0, 0.0, 1.0, 5.0, 0.0, 0.0},
{ -396.0, 0.0, 0.0, 171.0, 0.0, 0.0},
{ 565.0, 0.0, -1.0, -6.0, 0.0, 0.0},
{ -335.0, 0.0, -1.0, 184.0, 0.0, -1.0},
{ 357.0, 0.0, 1.0, -154.0, 0.0, 0.0},
{ 321.0, 0.0, 1.0, -174.0, 0.0, 0.0},
{ -301.0, 0.0, -1.0, 162.0, 0.0, 0.0},
{ -334.0, 0.0, 0.0, 144.0, 0.0, 0.0},
{ 493.0, 0.0, -2.0, -15.0, 0.0, 0.0},
{ 494.0, 0.0, -2.0, -19.0, 0.0, 0.0},
{ 337.0, 0.0, -1.0, -143.0, 0.0, -1.0},
{ 280.0, 0.0, -1.0, -144.0, 0.0, 0.0},
{ 309.0, 0.0, 1.0, -134.0, 0.0, 0.0},
{ -263.0, 0.0, 2.0, 131.0, 0.0, 1.0},
{ 253.0, 0.0, 1.0, -138.0, 0.0, 0.0},
{ 245.0, 0.0, 0.0, -128.0, 0.0, 0.0},
{ 416.0, 0.0, -2.0, -17.0, 0.0, 0.0},
{ -229.0, 0.0, 0.0, 128.0, 0.0, 0.0},
{ 231.0, 0.0, 0.0, -120.0, 0.0, 0.0},
{ -259.0, 0.0, 2.0, 109.0, 0.0, 1.0},
{ 375.0, 0.0, -1.0, -8.0, 0.0, 0.0},
{ 252.0, 0.0, 0.0, -108.0, 0.0, 0.0},
{ -245.0, 0.0, 1.0, 104.0, 0.0, 0.0},
{ 243.0, 0.0, -1.0, -104.0, 0.0, 0.0},
{ 208.0, 0.0, 1.0, -112.0, 0.0, 0.0},
{ 199.0, 0.0, 0.0, -102.0, 0.0, 0.0},
{ -208.0, 0.0, 1.0, 105.0, 0.0, 0.0},
{ 335.0, 0.0, -2.0, -14.0, 0.0, 0.0},
{ -325.0, 0.0, 1.0, 7.0, 0.0, 0.0},
{ -187.0, 0.0, 0.0, 96.0, 0.0, 0.0},
{ 197.0, 0.0, -1.0, -100.0, 0.0, 0.0},
{ -192.0, 0.0, 2.0, 94.0, 0.0, 1.0},
{ -188.0, 0.0, 0.0, 83.0, 0.0, 0.0},
{ 276.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -286.0, 0.0, 1.0, 6.0, 0.0, 0.0},
{ 186.0, 0.0, -1.0, -79.0, 0.0, 0.0},
{ -219.0, 0.0, 0.0, 43.0, 0.0, 0.0},
{ 276.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -153.0, 0.0, -1.0, 84.0, 0.0, 0.0},
{ -156.0, 0.0, 0.0, 81.0, 0.0, 0.0},
{ -154.0, 0.0, 1.0, 78.0, 0.0, 0.0},
{ -174.0, 0.0, 1.0, 75.0, 0.0, 0.0},
{ -163.0, 0.0, 2.0, 69.0, 0.0, 1.0},
{ -228.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 91.0, 0.0, -4.0, -54.0, 0.0, -2.0},
{ 175.0, 0.0, 0.0, -75.0, 0.0, 0.0},
{ -159.0, 0.0, 0.0, 69.0, 0.0, 0.0},
{ 141.0, 0.0, 0.0, -72.0, 0.0, 0.0},
{ 147.0, 0.0, 0.0, -75.0, 0.0, 0.0},
{ -132.0, 0.0, 0.0, 69.0, 0.0, 0.0},
{ 159.0, 0.0, -28.0, -54.0, 0.0, 11.0},
{ 213.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 123.0, 0.0, 0.0, -64.0, 0.0, 0.0},
{ -118.0, 0.0, -1.0, 66.0, 0.0, 0.0},
{ 144.0, 0.0, -1.0, -61.0, 0.0, 0.0},
{ -121.0, 0.0, 1.0, 60.0, 0.0, 0.0},
{ -134.0, 0.0, 1.0, 56.0, 0.0, 1.0},
{ -105.0, 0.0, 0.0, 57.0, 0.0, 0.0},
{ -102.0, 0.0, 0.0, 56.0, 0.0, 0.0},
{ 120.0, 0.0, 0.0, -52.0, 0.0, 0.0},
{ 101.0, 0.0, 0.0, -54.0, 0.0, 0.0},
{ -113.0, 0.0, 0.0, 59.0, 0.0, 0.0},
{ -106.0, 0.0, 0.0, 61.0, 0.0, 0.0},
{ -129.0, 0.0, 1.0, 55.0, 0.0, 0.0},
{ -114.0, 0.0, 0.0, 57.0, 0.0, 0.0},
{ 113.0, 0.0, -1.0, -49.0, 0.0, 0.0},
{ -102.0, 0.0, 0.0, 44.0, 0.0, 0.0},
{ -94.0, 0.0, 0.0, 51.0, 0.0, 0.0},
{ -100.0, 0.0, -1.0, 56.0, 0.0, 0.0},
{ 87.0, 0.0, 0.0, -47.0, 0.0, 0.0},
{ 161.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 96.0, 0.0, 0.0, -50.0, 0.0, 0.0},
{ 151.0, 0.0, -1.0, -5.0, 0.0, 0.0},
{ -104.0, 0.0, 0.0, 44.0, 0.0, 0.0},
{ -110.0, 0.0, 0.0, 48.0, 0.0, 0.0},
{ -100.0, 0.0, 1.0, 50.0, 0.0, 0.0},
{ 92.0, 0.0, -5.0, 12.0, 0.0, -2.0},
{ 82.0, 0.0, 0.0, -45.0, 0.0, 0.0},
{ 82.0, 0.0, 0.0, -45.0, 0.0, 0.0},
{ -78.0, 0.0, 0.0, 41.0, 0.0, 0.0},
{ -77.0, 0.0, 0.0, 43.0, 0.0, 0.0},
{ 2.0, 0.0, 0.0, 54.0, 0.0, 0.0},
{ 94.0, 0.0, 0.0, -40.0, 0.0, 0.0},
{ -93.0, 0.0, 0.0, 40.0, 0.0, 0.0},
{ -83.0, 0.0, 10.0, 40.0, 0.0, -2.0},
{ 83.0, 0.0, 0.0, -36.0, 0.0, 0.0},
{ -91.0, 0.0, 0.0, 39.0, 0.0, 0.0},
{ 128.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -79.0, 0.0, 0.0, 34.0, 0.0, 0.0},
{ -83.0, 0.0, 0.0, 47.0, 0.0, 0.0},
{ 84.0, 0.0, 0.0, -44.0, 0.0, 0.0},
{ 83.0, 0.0, 0.0, -43.0, 0.0, 0.0},
{ 91.0, 0.0, 0.0, -39.0, 0.0, 0.0},
{ -77.0, 0.0, 0.0, 39.0, 0.0, 0.0},
{ 84.0, 0.0, 0.0, -43.0, 0.0, 0.0},
{ -92.0, 0.0, 1.0, 39.0, 0.0, 0.0},
{ -92.0, 0.0, 1.0, 39.0, 0.0, 0.0},
{ -94.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 68.0, 0.0, 0.0, -36.0, 0.0, 0.0},
{ -61.0, 0.0, 0.0, 32.0, 0.0, 0.0},
{ 71.0, 0.0, 0.0, -31.0, 0.0, 0.0},
{ 62.0, 0.0, 0.0, -34.0, 0.0, 0.0},
{ -63.0, 0.0, 0.0, 33.0, 0.0, 0.0},
{ -73.0, 0.0, 0.0, 32.0, 0.0, 0.0},
{ 115.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -103.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 63.0, 0.0, 0.0, -28.0, 0.0, 0.0},
{ 74.0, 0.0, 0.0, -32.0, 0.0, 0.0},
{ -103.0, 0.0, -3.0, 3.0, 0.0, -1.0},
{ -69.0, 0.0, 0.0, 30.0, 0.0, 0.0},
{ 57.0, 0.0, 0.0, -29.0, 0.0, 0.0},
{ 94.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 64.0, 0.0, 0.0, -33.0, 0.0, 0.0},
{ -63.0, 0.0, 0.0, 26.0, 0.0, 0.0},
{ -38.0, 0.0, 0.0, 20.0, 0.0, 0.0},
{ -43.0, 0.0, 0.0, 24.0, 0.0, 0.0},
{ -45.0, 0.0, 0.0, 23.0, 0.0, 0.0},
{ 47.0, 0.0, 0.0, -24.0, 0.0, 0.0},
{ -48.0, 0.0, 0.0, 25.0, 0.0, 0.0},
{ 45.0, 0.0, 0.0, -26.0, 0.0, 0.0},
{ 56.0, 0.0, 0.0, -25.0, 0.0, 0.0},
{ 88.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -75.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 85.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 49.0, 0.0, 0.0, -26.0, 0.0, 0.0},
{ -74.0, 0.0, -3.0, -1.0, 0.0, -1.0},
{ -39.0, 0.0, 0.0, 21.0, 0.0, 0.0},
{ 45.0, 0.0, 0.0, -20.0, 0.0, 0.0},
{ 51.0, 0.0, 0.0, -22.0, 0.0, 0.0},
{ -40.0, 0.0, 0.0, 21.0, 0.0, 0.0},
{ 41.0, 0.0, 0.0, -21.0, 0.0, 0.0},
{ -42.0, 0.0, 0.0, 24.0, 0.0, 0.0},
{ -51.0, 0.0, 0.0, 22.0, 0.0, 0.0},
{ -42.0, 0.0, 0.0, 22.0, 0.0, 0.0},
{ 39.0, 0.0, 0.0, -21.0, 0.0, 0.0},
{ 46.0, 0.0, 0.0, -18.0, 0.0, 0.0},
{ -53.0, 0.0, 0.0, 22.0, 0.0, 0.0},
{ 82.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 81.0, 0.0, -1.0, -4.0, 0.0, 0.0},
{ 47.0, 0.0, 0.0, -19.0, 0.0, 0.0},
{ 53.0, 0.0, 0.0, -23.0, 0.0, 0.0},
{ -45.0, 0.0, 0.0, 22.0, 0.0, 0.0},
{ -44.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -33.0, 0.0, 0.0, 16.0, 0.0, 0.0},
{ -61.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 28.0, 0.0, 0.0, -15.0, 0.0, 0.0},
{ -38.0, 0.0, 0.0, 19.0, 0.0, 0.0},
{ -33.0, 0.0, 0.0, 21.0, 0.0, 0.0},
{ -60.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 48.0, 0.0, 0.0, -10.0, 0.0, 0.0},
{ 27.0, 0.0, 0.0, -14.0, 0.0, 0.0},
{ 38.0, 0.0, 0.0, -20.0, 0.0, 0.0},
{ 31.0, 0.0, 0.0, -13.0, 0.0, 0.0},
{ -29.0, 0.0, 0.0, 15.0, 0.0, 0.0},
{ 28.0, 0.0, 0.0, -15.0, 0.0, 0.0},
{ -32.0, 0.0, 0.0, 15.0, 0.0, 0.0},
{ 45.0, 0.0, 0.0, -8.0, 0.0, 0.0},
{ -44.0, 0.0, 0.0, 19.0, 0.0, 0.0},
{ 28.0, 0.0, 0.0, -15.0, 0.0, 0.0},
{ -51.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -36.0, 0.0, 0.0, 20.0, 0.0, 0.0},
{ 44.0, 0.0, 0.0, -19.0, 0.0, 0.0},
{ 26.0, 0.0, 0.0, -14.0, 0.0, 0.0},
{ -60.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 35.0, 0.0, 0.0, -18.0, 0.0, 0.0},
{ -27.0, 0.0, 0.0, 11.0, 0.0, 0.0},
{ 47.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 36.0, 0.0, 0.0, -15.0, 0.0, 0.0},
{ -36.0, 0.0, 0.0, 20.0, 0.0, 0.0},
{ -35.0, 0.0, 0.0, 19.0, 0.0, 0.0},
{ -37.0, 0.0, 0.0, 19.0, 0.0, 0.0},
{ 32.0, 0.0, 0.0, -16.0, 0.0, 0.0},
{ 35.0, 0.0, 0.0, -14.0, 0.0, 0.0},
{ 32.0, 0.0, 0.0, -13.0, 0.0, 0.0},
{ 65.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 47.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 32.0, 0.0, 0.0, -16.0, 0.0, 0.0},
{ 37.0, 0.0, 0.0, -16.0, 0.0, 0.0},
{ -30.0, 0.0, 0.0, 15.0, 0.0, 0.0},
{ -32.0, 0.0, 0.0, 16.0, 0.0, 0.0},
{ -31.0, 0.0, 0.0, 13.0, 0.0, 0.0},
{ 37.0, 0.0, 0.0, -16.0, 0.0, 0.0},
{ 31.0, 0.0, 0.0, -13.0, 0.0, 0.0},
{ 49.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 32.0, 0.0, 0.0, -13.0, 0.0, 0.0},
{ 23.0, 0.0, 0.0, -12.0, 0.0, 0.0},
{ -43.0, 0.0, 0.0, 18.0, 0.0, 0.0},
{ 26.0, 0.0, 0.0, -11.0, 0.0, 0.0},
{ -32.0, 0.0, 0.0, 14.0, 0.0, 0.0},
{ -29.0, 0.0, 0.0, 14.0, 0.0, 0.0},
{ -27.0, 0.0, 0.0, 12.0, 0.0, 0.0},
{ 30.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -11.0, 0.0, 0.0, 5.0, 0.0, 0.0},
{ -21.0, 0.0, 0.0, 10.0, 0.0, 0.0},
{ -34.0, 0.0, 0.0, 15.0, 0.0, 0.0},
{ -10.0, 0.0, 0.0, 6.0, 0.0, 0.0},
{ -36.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -9.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ -12.0, 0.0, 0.0, 5.0, 0.0, 0.0},
{ -21.0, 0.0, 0.0, 5.0, 0.0, 0.0},
{ -29.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -15.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ -20.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 28.0, 0.0, 0.0, 0.0, 0.0, -2.0},
{ 17.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -22.0, 0.0, 0.0, 12.0, 0.0, 0.0},
{ -14.0, 0.0, 0.0, 7.0, 0.0, 0.0},
{ 24.0, 0.0, 0.0, -11.0, 0.0, 0.0},
{ 11.0, 0.0, 0.0, -6.0, 0.0, 0.0},
{ 14.0, 0.0, 0.0, -6.0, 0.0, 0.0},
{ 24.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 18.0, 0.0, 0.0, -8.0, 0.0, 0.0},
{ -38.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -31.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -16.0, 0.0, 0.0, 8.0, 0.0, 0.0},
{ 29.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -18.0, 0.0, 0.0, 10.0, 0.0, 0.0},
{ -10.0, 0.0, 0.0, 5.0, 0.0, 0.0},
{ -17.0, 0.0, 0.0, 10.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 16.0, 0.0, 0.0, -6.0, 0.0, 0.0},
{ 22.0, 0.0, 0.0, -12.0, 0.0, 0.0},
{ 20.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -13.0, 0.0, 0.0, 6.0, 0.0, 0.0},
{ -17.0, 0.0, 0.0, 9.0, 0.0, 0.0},
{ -14.0, 0.0, 0.0, 8.0, 0.0, 0.0},
{ 0.0, 0.0, 0.0, -7.0, 0.0, 0.0},
{ 14.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 19.0, 0.0, 0.0, -10.0, 0.0, 0.0},
{ -34.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -20.0, 0.0, 0.0, 8.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, -5.0, 0.0, 0.0},
{ -18.0, 0.0, 0.0, 7.0, 0.0, 0.0},
{ 13.0, 0.0, 0.0, -6.0, 0.0, 0.0},
{ 17.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -12.0, 0.0, 0.0, 5.0, 0.0, 0.0},
{ 15.0, 0.0, 0.0, -8.0, 0.0, 0.0},
{ -11.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ 13.0, 0.0, 0.0, -5.0, 0.0, 0.0},
{ -18.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -35.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ -19.0, 0.0, 0.0, 10.0, 0.0, 0.0},
{ -26.0, 0.0, 0.0, 11.0, 0.0, 0.0},
{ 8.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ -10.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ 10.0, 0.0, 0.0, -6.0, 0.0, 0.0},
{ -21.0, 0.0, 0.0, 9.0, 0.0, 0.0},
{ -15.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, -5.0, 0.0, 0.0},
{ -29.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -19.0, 0.0, 0.0, 10.0, 0.0, 0.0},
{ 12.0, 0.0, 0.0, -5.0, 0.0, 0.0},
{ 22.0, 0.0, 0.0, -9.0, 0.0, 0.0},
{ -10.0, 0.0, 0.0, 5.0, 0.0, 0.0},
{ -20.0, 0.0, 0.0, 11.0, 0.0, 0.0},
{ -20.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -17.0, 0.0, 0.0, 7.0, 0.0, 0.0},
{ 15.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 8.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 14.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -12.0, 0.0, 0.0, 6.0, 0.0, 0.0},
{ 25.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -13.0, 0.0, 0.0, 6.0, 0.0, 0.0},
{ -14.0, 0.0, 0.0, 8.0, 0.0, 0.0},
{ 13.0, 0.0, 0.0, -5.0, 0.0, 0.0},
{ -17.0, 0.0, 0.0, 9.0, 0.0, 0.0},
{ -12.0, 0.0, 0.0, 6.0, 0.0, 0.0},
{ -10.0, 0.0, 0.0, 5.0, 0.0, 0.0},
{ 10.0, 0.0, 0.0, -6.0, 0.0, 0.0},
{ -15.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -22.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 28.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 15.0, 0.0, 0.0, -7.0, 0.0, 0.0},
{ 23.0, 0.0, 0.0, -10.0, 0.0, 0.0},
{ 12.0, 0.0, 0.0, -5.0, 0.0, 0.0},
{ 29.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -25.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 22.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -18.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 15.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ -23.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 12.0, 0.0, 0.0, -5.0, 0.0, 0.0},
{ -8.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ -19.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -10.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ 21.0, 0.0, 0.0, -9.0, 0.0, 0.0},
{ 23.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -16.0, 0.0, 0.0, 8.0, 0.0, 0.0},
{ -19.0, 0.0, 0.0, 9.0, 0.0, 0.0},
{ -22.0, 0.0, 0.0, 10.0, 0.0, 0.0},
{ 27.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 16.0, 0.0, 0.0, -8.0, 0.0, 0.0},
{ 19.0, 0.0, 0.0, -8.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ -9.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ -9.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ -8.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ 18.0, 0.0, 0.0, -9.0, 0.0, 0.0},
{ 16.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -10.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ -23.0, 0.0, 0.0, 9.0, 0.0, 0.0},
{ 16.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -12.0, 0.0, 0.0, 6.0, 0.0, 0.0},
{ -8.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ 30.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 24.0, 0.0, 0.0, -10.0, 0.0, 0.0},
{ 10.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ -16.0, 0.0, 0.0, 7.0, 0.0, 0.0},
{ -16.0, 0.0, 0.0, 7.0, 0.0, 0.0},
{ 17.0, 0.0, 0.0, -7.0, 0.0, 0.0},
{ -24.0, 0.0, 0.0, 10.0, 0.0, 0.0},
{ -12.0, 0.0, 0.0, 5.0, 0.0, 0.0},
{ -24.0, 0.0, 0.0, 11.0, 0.0, 0.0},
{ -23.0, 0.0, 0.0, 9.0, 0.0, 0.0},
{ -13.0, 0.0, 0.0, 5.0, 0.0, 0.0},
{ -15.0, 0.0, 0.0, 7.0, 0.0, 0.0},
{ 0.0, 0.0, -1988.0, 0.0, 0.0, -1679.0},
{ 0.0, 0.0, -63.0, 0.0, 0.0, -27.0},
{ -4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 0.0, 0.0, 5.0, 0.0, 0.0, 4.0},
{ 5.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 0.0, 0.0, 364.0, 0.0, 0.0, 176.0},
{ 0.0, 0.0, -1044.0, 0.0, 0.0, -891.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 0.0, 0.0, 330.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 0.0, 0.0, 5.0, 0.0, 0.0, 0.0},
{ 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -12.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ 7.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 0.0, 0.0, -12.0, 0.0, 0.0, -10.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 7.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -8.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 8.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ -13.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 10.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 10.0, 0.0, 13.0, 6.0, 0.0, -5.0},
{ 0.0, 0.0, 30.0, 0.0, 0.0, 14.0},
{ 0.0, 0.0, -162.0, 0.0, 0.0, -138.0},
{ 0.0, 0.0, 75.0, 0.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 9.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 7.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -6.0, 0.0, -3.0, 3.0, 0.0, 1.0},
{ 0.0, 0.0, -3.0, 0.0, 0.0, -2.0},
{ 11.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 11.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -1.0, 0.0, 3.0, 3.0, 0.0, -1.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 0.0, 0.0, -13.0, 0.0, 0.0, -11.0},
{ 3.0, 0.0, 6.0, 0.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ 8.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 11.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 8.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 11.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -6.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -8.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -6.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 0.0, 0.0, -26.0, 0.0, 0.0, -11.0},
{ 0.0, 0.0, -10.0, 0.0, 0.0, -5.0},
{ 5.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -13.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 7.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -6.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 13.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -11.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -12.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 0.0, 0.0, -5.0, 0.0, 0.0, -2.0},
{ -7.0, 0.0, 0.0, 4.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 12.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -6.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -6.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 7.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -6.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ -6.0, 0.0, 0.0, 3.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 10.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 7.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 7.0, 0.0, 0.0, -3.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 11.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -6.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0, 0.0, 0.0}};
/*
Planetary argument multipliers:
L L' F D Om Me Ve E Ma Ju Sa Ur Ne pre
*/
static const short int napl_t[687][14] = {
{ 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -8, 16, -4, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 2, 2},
{ 0, 0, 0, 0, 0, 0, 0, -4, 8, -1, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, 3, -8, 3, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 6, -3, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -5, 8, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 4, -8, 1, 5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 6, 4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, -5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, -2, 5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 2},
{ 2, 0, -1, -1, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0},
{ 1, 0, 0, -2, 0, 0, 19,-21, 3, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 2, -4, 0, -3, 0, 0, 0, 0},
{ 1, 0, 0, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, -4, 10, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 0, 2, 0, 0, -5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 18,-16, 0, 0, 0, 0, 0, 0},
{-2, 0, 1, 1, 2, 0, 0, 1, 0, -2, 0, 0, 0, 0},
{-1, 0, 1, -1, 1, 0, 18,-17, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 1, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 2},
{ 0, 0, 2, -2, 2, 0, -8, 11, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -8, 12, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 8,-14, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, 1},
{-2, 0, 0, 2, 1, 0, 0, 2, 0, -4, 5, 0, 0, 0},
{-2, 0, 0, 2, 2, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, -3, 1, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 3, -5, 0, 2, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, -4, 3, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -1, 2, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, 0, -2, 2, 0, 0, 0, 0, 0},
{-1, 0, 1, 0, 1, 0, 3, -5, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, -2, -2, 0, 0, 0},
{-2, 0, 2, 0, 2, 0, 0, -5, 9, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, -1, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 2, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2},
{-1, 0, 0, 1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, 2, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -9, 17, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 2, 0, -3, 5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 2, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0},
{ 1, 0, 0, -2, 0, 0, 17,-16, 0, -2, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 1, -3, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 0, 5, -6, 0, 0, 0, 0, 0},
{ 0, 0, -2, 2, 0, 0, 0, 9,-13, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, 1, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
{ 0, 0, -2, 2, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 1, 0, 5, -7, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0},
{ 2, 0, 1, -3, 1, 0, -6, 7, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{ 0, 0, -1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 2, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -9, 15, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0},
{ 1, 0, -1, -1, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0},
{ 2, 0, 0, -2, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, -5, 5, 0, 0, 0},
{ 2, 0, 0, -2, 1, 0, 0, -6, 8, 0, 0, 0, 0, 0},
{ 2, 0, 0, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0},
{-2, 0, 1, 1, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0},
{-2, 0, 1, 1, 1, 0, 0, 1, 0, -3, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, -1, -5, 0, 0, 0},
{-1, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{-1, 0, 1, 1, 1, 0,-20, 20, 0, 0, 0, 0, 0, 0},
{ 1, 0, 0, -2, 0, 0, 20,-21, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 8,-15, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0,-10, 15, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, -2, 4, 0, 0, 0},
{ 2, 0, 0, -2, 1, 0, -6, 8, 0, 0, 0, 0, 0, 0},
{ 0, 0, -2, 2, 1, 0, 5, -6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 1, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2},
{ 0, 0, 2, -2, 1, 0, 0, -9, 13, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 7,-13, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 9,-17, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -9, 17, 0, 0, 0, 0, 2},
{ 1, 0, 0, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0},
{ 1, 0, 0, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 2, 0, 0, -1, 2, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{ 0, 0, -2, 2, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -5, 0, 2, 0, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 0, 2, 0, -3, 1, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 8,-13, 0, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 8,-12, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, -8, 11, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0},
{-1, 0, 0, 0, 1, 0, 18,-16, 0, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 1, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 3, -7, 4, 0, 0, 0, 0, 0},
{-2, 0, 1, 1, 1, 0, 0, -3, 7, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, 0, -1, 0, -2, 5, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, -2, 5, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0},
{ 1, 0, 0, 0, 1, 0,-10, 3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 0, 1, 0, 10, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, -5, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0},
{ 2, 0, -1, -1, 1, 0, 0, 3, -7, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, 0, -5, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, -3, 7, -4, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 1, 0, 0, 0, 1, 0,-18, 16, 0, 0, 0, 0, 0, 0},
{-2, 0, 1, 1, 1, 0, 0, 1, 0, -2, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, -8, 12, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, -8, 13, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, 0, -2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 1},
{-1, 0, 0, 1, 1, 0, 3, -4, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 1, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, -2, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 2, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2},
{ 0, 0, 1, -1, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, -3, 4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -2, 4, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 5, -8, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 6, -8, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -8, 15, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 0, 6, -8, 0, 0, 0, 0, 0},
{ 1, 0, 0, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2},
{ 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, -1, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -7, 13, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 7,-13, 0, 0, 0, 0, 0},
{ 2, 0, 0, -2, 1, 0, 0, -5, 6, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -8, 11, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, -1, 0, 2, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 3, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2},
{-2, 0, 0, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{ 2, 0, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, 0, -1, 0, 2, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, 0, 0, -2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 1, -2, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -2, 0, 0, 2, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 3, -6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 2},
{ 0, 0, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, 1, -4, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 2},
{ 0, 0, 2, -2, 2, 0, -5, 6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -5, 7, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, 0, -1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -2, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -6, 11, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6,-11, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, -1, 0, 4, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0, 0},
{ 2, 0, 0, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -7, 9, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2},
{ 0, 0, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 2},
{ 0, 0, 0, 0, 1, 0, 3, -5, 0, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 2, -4, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -4, 4, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 2, 0, -5, 7, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -4, 6, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 2},
{ 0, 0, -1, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0},
{-2, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, -2, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -4, 8, 0, 0, 0, 0, 2},
{ 0, 0, -2, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -5, 10, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 1, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -7, 11, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -7, 11, 0, 0, 0, 0, 0, 1},
{ 0, 0, -2, 2, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, -4, 4, 0, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -4, 6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -4, 5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 5, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -7, 12, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 1, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 4, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -3, 0, 3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -3, 7, 0, 0, 0, 0, 2},
{-2, 0, 0, 2, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 1, 0, -2, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 3, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -8, 14, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -3, 8, -3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 12, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 12, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 2},
{ 0, 0, 2, -2, 1, 0, -5, 5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -1, 4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -2, 6, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 1, 0, 2, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -2, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -4, 8, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -2, 0, 5, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -9, 13, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -1, 5, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -2, 0, 4, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -2, 7, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -3, 9, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 10, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -5, 13, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -6, 15, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -3, 9, -4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -2, 8, -1, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6, -8, 3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -6, 16, -4, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -2, 8, -3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -2, 8, -3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6, -8, 1, 5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 3, -5, 4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 3, -3, 0, 2, 0, 0, 0, 2},
{ 0, 0, 2, -2, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{ 0, 0, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -3, 7, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -1, 6, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -3, 0, 5, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -9, 12, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -2, 6, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 2},
{ 0, 0, 2, -2, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -8, 16, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 7, -8, 3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -5, 16, -4, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -1, 8, -3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -3, 8, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -9, 11, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -9, 11, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -6, 6, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 5, 0, -3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 8, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -9, 9, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -9, 9, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -9, 9, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{ 1, 0, 0, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 1, 0, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0},
{ 1, 0, 0, -2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 1, 0, 0, -2, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{-1, 0, 0, 2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{ 1, 0, 0, -2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0},
{ 1, 0, -1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{-2, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{ 1, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{-1, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0},
{ 1, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{-1, 0, 0, 2, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{-1, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{-1, 0, 0, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{ 1, 0, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0},
{ 1, 0, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0},
{ 1, 0, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0},
{ 1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0},
{ 1, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, -2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, -2, 2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, -2, 3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 0, 0, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{ 1, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{-1, 0, 2, 0, 2, 0, 10, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{ 1, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0},
{-1, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0},
{ 2, 0, 2, -2, 2, 0, 0, -2, 0, 3, 0, 0, 0, 0},
{ 1, 0, 2, 0, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0},
{ 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{-1, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{-2, 0, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, 2, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, 2, -2, 0, 0, 0, 0, 0, 0},
{-1, 0, 2, 2, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0},
{ 1, 0, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0},
{-1, 0, 2, 2, 2, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{ 2, 0, 2, 0, 2, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{ 1, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0},
{ 1, 0, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{ 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{ 2, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{-1, 0, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{-1, 0, 2, 2, 2, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{ 1, 0, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0}};
/*
Planetary nutation coefficients, unit 1e-7 arcsec:
longitude (sin, cos), obliquity (sin, cos)
Each row of coefficients in 'cpl_t' belongs with the corresponding
row of fundamental-argument multipliers in 'napl_t'.
*/
static const double cpl_t[687][4] = {
{ 1440.0, 0.0, 0.0, 0.0},
{ 56.0, -117.0, -42.0, -40.0},
{ 125.0, -43.0, 0.0, -54.0},
{ 0.0, 5.0, 0.0, 0.0},
{ 3.0, -7.0, -3.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0},
{ -114.0, 0.0, 0.0, 61.0},
{ -219.0, 89.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0},
{ -462.0, 1604.0, 0.0, 0.0},
{ 99.0, 0.0, 0.0, -53.0},
{ -3.0, 0.0, 0.0, 2.0},
{ 0.0, 6.0, 2.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0},
{ -12.0, 0.0, 0.0, 0.0},
{ 14.0, -218.0, 117.0, 8.0},
{ 31.0, -481.0, -257.0, -17.0},
{ -491.0, 128.0, 0.0, 0.0},
{-3084.0, 5123.0, 2735.0, 1647.0},
{-1444.0, 2409.0, -1286.0, -771.0},
{ 11.0, -24.0, -11.0, -9.0},
{ 26.0, -9.0, 0.0, 0.0},
{ 103.0, -60.0, 0.0, 0.0},
{ 0.0, -13.0, -7.0, 0.0},
{ -26.0, -29.0, -16.0, 14.0},
{ 9.0, -27.0, -14.0, -5.0},
{ 12.0, 0.0, 0.0, -6.0},
{ -7.0, 0.0, 0.0, 0.0},
{ 0.0, 24.0, 0.0, 0.0},
{ 284.0, 0.0, 0.0, -151.0},
{ 226.0, 101.0, 0.0, 0.0},
{ 0.0, -8.0, -2.0, 0.0},
{ 0.0, -6.0, -3.0, 0.0},
{ 5.0, 0.0, 0.0, -3.0},
{ -41.0, 175.0, 76.0, 17.0},
{ 0.0, 15.0, 6.0, 0.0},
{ 425.0, 212.0, -133.0, 269.0},
{ 1200.0, 598.0, 319.0, -641.0},
{ 235.0, 334.0, 0.0, 0.0},
{ 11.0, -12.0, -7.0, -6.0},
{ 5.0, -6.0, 3.0, 3.0},
{ -5.0, 0.0, 0.0, 3.0},
{ 6.0, 0.0, 0.0, -3.0},
{ 15.0, 0.0, 0.0, 0.0},
{ 13.0, 0.0, 0.0, -7.0},
{ -6.0, -9.0, 0.0, 0.0},
{ 266.0, -78.0, 0.0, 0.0},
{ -460.0, -435.0, -232.0, 246.0},
{ 0.0, 15.0, 7.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0},
{ 0.0, 131.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0},
{ 0.0, 3.0, 0.0, 0.0},
{ 0.0, 4.0, 2.0, 0.0},
{ 0.0, 3.0, 0.0, 0.0},
{ -17.0, -19.0, -10.0, 9.0},
{ -9.0, -11.0, 6.0, -5.0},
{ -6.0, 0.0, 0.0, 3.0},
{ -16.0, 8.0, 0.0, 0.0},
{ 0.0, 3.0, 0.0, 0.0},
{ 11.0, 24.0, 11.0, -5.0},
{ -3.0, -4.0, -2.0, 1.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 0.0, -8.0, -4.0, 0.0},
{ 0.0, 3.0, 0.0, 0.0},
{ 0.0, 5.0, 0.0, 0.0},
{ 0.0, 3.0, 2.0, 0.0},
{ -6.0, 4.0, 2.0, 3.0},
{ -3.0, -5.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0},
{ 4.0, 24.0, 13.0, -2.0},
{ -42.0, 20.0, 0.0, 0.0},
{ -10.0, 233.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0},
{ 78.0, -18.0, 0.0, 0.0},
{ 0.0, 3.0, 1.0, 0.0},
{ 0.0, -3.0, -1.0, 0.0},
{ 0.0, -4.0, -2.0, 1.0},
{ 0.0, -8.0, -4.0, -1.0},
{ 0.0, -5.0, 3.0, 0.0},
{ -7.0, 0.0, 0.0, 3.0},
{ -14.0, 8.0, 3.0, 6.0},
{ 0.0, 8.0, -4.0, 0.0},
{ 0.0, 19.0, 10.0, 0.0},
{ 45.0, -22.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0},
{ 0.0, -3.0, 0.0, 0.0},
{ 0.0, 3.0, 0.0, 0.0},
{ 3.0, 5.0, 3.0, -2.0},
{ 89.0, -16.0, -9.0, -48.0},
{ 0.0, 3.0, 0.0, 0.0},
{ -3.0, 7.0, 4.0, 2.0},
{ -349.0, -62.0, 0.0, 0.0},
{ -15.0, 22.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0},
{ -53.0, 0.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -3.0},
{ 0.0, -8.0, 0.0, 0.0},
{ 15.0, -7.0, -4.0, -8.0},
{ -3.0, 0.0, 0.0, 1.0},
{ -21.0, -78.0, 0.0, 0.0},
{ 20.0, -70.0, -37.0, -11.0},
{ 0.0, 6.0, 3.0, 0.0},
{ 5.0, 3.0, 2.0, -2.0},
{ -17.0, -4.0, -2.0, 9.0},
{ 0.0, 6.0, 3.0, 0.0},
{ 32.0, 15.0, -8.0, 17.0},
{ 174.0, 84.0, 45.0, -93.0},
{ 11.0, 56.0, 0.0, 0.0},
{ -66.0, -12.0, -6.0, 35.0},
{ 47.0, 8.0, 4.0, -25.0},
{ 0.0, 8.0, 4.0, 0.0},
{ 10.0, -22.0, -12.0, -5.0},
{ -3.0, 0.0, 0.0, 2.0},
{ -24.0, 12.0, 0.0, 0.0},
{ 5.0, -6.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0},
{ 4.0, 3.0, 1.0, -2.0},
{ 0.0, 29.0, 15.0, 0.0},
{ -5.0, -4.0, -2.0, 2.0},
{ 8.0, -3.0, -1.0, -5.0},
{ 0.0, -3.0, 0.0, 0.0},
{ 10.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0},
{ -5.0, 0.0, 0.0, 3.0},
{ 46.0, 66.0, 35.0, -25.0},
{ -14.0, 7.0, 0.0, 0.0},
{ 0.0, 3.0, 2.0, 0.0},
{ -5.0, 0.0, 0.0, 0.0},
{ -68.0, -34.0, -18.0, 36.0},
{ 0.0, 14.0, 7.0, 0.0},
{ 10.0, -6.0, -3.0, -5.0},
{ -5.0, -4.0, -2.0, 3.0},
{ -3.0, 5.0, 2.0, 1.0},
{ 76.0, 17.0, 9.0, -41.0},
{ 84.0, 298.0, 159.0, -45.0},
{ 3.0, 0.0, 0.0, -1.0},
{ -3.0, 0.0, 0.0, 2.0},
{ -3.0, 0.0, 0.0, 1.0},
{ -82.0, 292.0, 156.0, 44.0},
{ -73.0, 17.0, 9.0, 39.0},
{ -9.0, -16.0, 0.0, 0.0},
{ 3.0, 0.0, -1.0, -2.0},
{ -3.0, 0.0, 0.0, 0.0},
{ -9.0, -5.0, -3.0, 5.0},
{ -439.0, 0.0, 0.0, 0.0},
{ 57.0, -28.0, -15.0, -30.0},
{ 0.0, -6.0, -3.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0},
{ -40.0, 57.0, 30.0, 21.0},
{ 23.0, 7.0, 3.0, -13.0},
{ 273.0, 80.0, 43.0, -146.0},
{ -449.0, 430.0, 0.0, 0.0},
{ -8.0, -47.0, -25.0, 4.0},
{ 6.0, 47.0, 25.0, -3.0},
{ 0.0, 23.0, 13.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0},
{ 3.0, -4.0, -2.0, -2.0},
{ -48.0, -110.0, -59.0, 26.0},
{ 51.0, 114.0, 61.0, -27.0},
{ -133.0, 0.0, 0.0, 57.0},
{ 0.0, 4.0, 0.0, 0.0},
{ -21.0, -6.0, -3.0, 11.0},
{ 0.0, -3.0, -1.0, 0.0},
{ -11.0, -21.0, -11.0, 6.0},
{ -18.0, -436.0, -233.0, 9.0},
{ 35.0, -7.0, 0.0, 0.0},
{ 0.0, 5.0, 3.0, 0.0},
{ 11.0, -3.0, -1.0, -6.0},
{ -5.0, -3.0, -1.0, 3.0},
{ -53.0, -9.0, -5.0, 28.0},
{ 0.0, 3.0, 2.0, 1.0},
{ 4.0, 0.0, 0.0, -2.0},
{ 0.0, -4.0, 0.0, 0.0},
{ -50.0, 194.0, 103.0, 27.0},
{ -13.0, 52.0, 28.0, 7.0},
{ -91.0, 248.0, 0.0, 0.0},
{ 6.0, 49.0, 26.0, -3.0},
{ -6.0, -47.0, -25.0, 3.0},
{ 0.0, 5.0, 3.0, 0.0},
{ 52.0, 23.0, 10.0, -23.0},
{ -3.0, 0.0, 0.0, 1.0},
{ 0.0, 5.0, 3.0, 0.0},
{ -4.0, 0.0, 0.0, 0.0},
{ -4.0, 8.0, 3.0, 2.0},
{ 10.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0},
{ 0.0, 8.0, 4.0, 0.0},
{ 0.0, 8.0, 4.0, 1.0},
{ -4.0, 0.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 0.0},
{ -8.0, 4.0, 2.0, 4.0},
{ 8.0, -4.0, -2.0, -4.0},
{ 0.0, 15.0, 7.0, 0.0},
{ -138.0, 0.0, 0.0, 0.0},
{ 0.0, -7.0, -3.0, 0.0},
{ 0.0, -7.0, -3.0, 0.0},
{ 54.0, 0.0, 0.0, -29.0},
{ 0.0, 10.0, 4.0, 0.0},
{ -7.0, 0.0, 0.0, 3.0},
{ -37.0, 35.0, 19.0, 20.0},
{ 0.0, 4.0, 0.0, 0.0},
{ -4.0, 9.0, 0.0, 0.0},
{ 8.0, 0.0, 0.0, -4.0},
{ -9.0, -14.0, -8.0, 5.0},
{ -3.0, -9.0, -5.0, 3.0},
{ -145.0, 47.0, 0.0, 0.0},
{ -10.0, 40.0, 21.0, 5.0},
{ 11.0, -49.0, -26.0, -7.0},
{-2150.0, 0.0, 0.0, 932.0},
{ -12.0, 0.0, 0.0, 5.0},
{ 85.0, 0.0, 0.0, -37.0},
{ 4.0, 0.0, 0.0, -2.0},
{ 3.0, 0.0, 0.0, -2.0},
{ -86.0, 153.0, 0.0, 0.0},
{ -6.0, 9.0, 5.0, 3.0},
{ 9.0, -13.0, -7.0, -5.0},
{ -8.0, 12.0, 6.0, 4.0},
{ -51.0, 0.0, 0.0, 22.0},
{ -11.0, -268.0, -116.0, 5.0},
{ 0.0, 12.0, 5.0, 0.0},
{ 0.0, 7.0, 3.0, 0.0},
{ 31.0, 6.0, 3.0, -17.0},
{ 140.0, 27.0, 14.0, -75.0},
{ 57.0, 11.0, 6.0, -30.0},
{ -14.0, -39.0, 0.0, 0.0},
{ 0.0, -6.0, -2.0, 0.0},
{ 4.0, 15.0, 8.0, -2.0},
{ 0.0, 4.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0},
{ 0.0, 11.0, 5.0, 0.0},
{ 9.0, 6.0, 0.0, 0.0},
{ -4.0, 10.0, 4.0, 2.0},
{ 5.0, 3.0, 0.0, 0.0},
{ 16.0, 0.0, 0.0, -9.0},
{ -3.0, 0.0, 0.0, 0.0},
{ 0.0, 3.0, 2.0, -1.0},
{ 7.0, 0.0, 0.0, -3.0},
{ -25.0, 22.0, 0.0, 0.0},
{ 42.0, 223.0, 119.0, -22.0},
{ -27.0, -143.0, -77.0, 14.0},
{ 9.0, 49.0, 26.0, -5.0},
{-1166.0, 0.0, 0.0, 505.0},
{ -5.0, 0.0, 0.0, 2.0},
{ -6.0, 0.0, 0.0, 3.0},
{ -8.0, 0.0, 1.0, 4.0},
{ 0.0, -4.0, 0.0, 0.0},
{ 117.0, 0.0, 0.0, -63.0},
{ -4.0, 8.0, 4.0, 2.0},
{ 3.0, 0.0, 0.0, -2.0},
{ -5.0, 0.0, 0.0, 2.0},
{ 0.0, 31.0, 0.0, 0.0},
{ -5.0, 0.0, 1.0, 3.0},
{ 4.0, 0.0, 0.0, -2.0},
{ -4.0, 0.0, 0.0, 2.0},
{ -24.0, -13.0, -6.0, 10.0},
{ 3.0, 0.0, 0.0, 0.0},
{ 0.0, -32.0, -17.0, 0.0},
{ 8.0, 12.0, 5.0, -3.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 7.0, 13.0, 0.0, 0.0},
{ -3.0, 16.0, 0.0, 0.0},
{ 50.0, 0.0, 0.0, -27.0},
{ 0.0, -5.0, -3.0, 0.0},
{ 13.0, 0.0, 0.0, 0.0},
{ 0.0, 5.0, 3.0, 1.0},
{ 24.0, 5.0, 2.0, -11.0},
{ 5.0, -11.0, -5.0, -2.0},
{ 30.0, -3.0, -2.0, -16.0},
{ 18.0, 0.0, 0.0, -9.0},
{ 8.0, 614.0, 0.0, 0.0},
{ 3.0, -3.0, -1.0, -2.0},
{ 6.0, 17.0, 9.0, -3.0},
{ -3.0, -9.0, -5.0, 2.0},
{ 0.0, 6.0, 3.0, -1.0},
{ -127.0, 21.0, 9.0, 55.0},
{ 3.0, 5.0, 0.0, 0.0},
{ -6.0, -10.0, -4.0, 3.0},
{ 5.0, 0.0, 0.0, 0.0},
{ 16.0, 9.0, 4.0, -7.0},
{ 3.0, 0.0, 0.0, -2.0},
{ 0.0, 22.0, 0.0, 0.0},
{ 0.0, 19.0, 10.0, 0.0},
{ 7.0, 0.0, 0.0, -4.0},
{ 0.0, -5.0, -2.0, 0.0},
{ 0.0, 3.0, 1.0, 0.0},
{ -9.0, 3.0, 1.0, 4.0},
{ 17.0, 0.0, 0.0, -7.0},
{ 0.0, -3.0, -2.0, -1.0},
{ -20.0, 34.0, 0.0, 0.0},
{ -10.0, 0.0, 1.0, 5.0},
{ -4.0, 0.0, 0.0, 2.0},
{ 22.0, -87.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0},
{ -3.0, -6.0, -2.0, 1.0},
{ -16.0, -3.0, -1.0, 7.0},
{ 0.0, -3.0, -2.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0},
{ -68.0, 39.0, 0.0, 0.0},
{ 27.0, 0.0, 0.0, -14.0},
{ 0.0, -4.0, 0.0, 0.0},
{ -25.0, 0.0, 0.0, 0.0},
{ -12.0, -3.0, -2.0, 6.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 3.0, 66.0, 29.0, -1.0},
{ 490.0, 0.0, 0.0, -213.0},
{ -22.0, 93.0, 49.0, 12.0},
{ -7.0, 28.0, 15.0, 4.0},
{ -3.0, 13.0, 7.0, 2.0},
{ -46.0, 14.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 0.0},
{ 2.0, 1.0, 0.0, 0.0},
{ 0.0, -3.0, 0.0, 0.0},
{ -28.0, 0.0, 0.0, 15.0},
{ 5.0, 0.0, 0.0, -2.0},
{ 0.0, 3.0, 0.0, 0.0},
{ -11.0, 0.0, 0.0, 5.0},
{ 0.0, 3.0, 1.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0},
{ 25.0, 106.0, 57.0, -13.0},
{ 5.0, 21.0, 11.0, -3.0},
{ 1485.0, 0.0, 0.0, 0.0},
{ -7.0, -32.0, -17.0, 4.0},
{ 0.0, 5.0, 3.0, 0.0},
{ -6.0, -3.0, -2.0, 3.0},
{ 30.0, -6.0, -2.0, -13.0},
{ -4.0, 4.0, 0.0, 0.0},
{ -19.0, 0.0, 0.0, 10.0},
{ 0.0, 4.0, 2.0, -1.0},
{ 0.0, 3.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0},
{ 0.0, -3.0, -1.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0},
{ 5.0, 3.0, 1.0, -2.0},
{ 0.0, 11.0, 0.0, 0.0},
{ 118.0, 0.0, 0.0, -52.0},
{ 0.0, -5.0, -3.0, 0.0},
{ -28.0, 36.0, 0.0, 0.0},
{ 5.0, -5.0, 0.0, 0.0},
{ 14.0, -59.0, -31.0, -8.0},
{ 0.0, 9.0, 5.0, 1.0},
{ -458.0, 0.0, 0.0, 198.0},
{ 0.0, -45.0, -20.0, 0.0},
{ 9.0, 0.0, 0.0, -5.0},
{ 0.0, -3.0, 0.0, 0.0},
{ 0.0, -4.0, -2.0, -1.0},
{ 11.0, 0.0, 0.0, -6.0},
{ 6.0, 0.0, 0.0, -2.0},
{ -16.0, 23.0, 0.0, 0.0},
{ 0.0, -4.0, -2.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0},
{ -166.0, 269.0, 0.0, 0.0},
{ 15.0, 0.0, 0.0, -8.0},
{ 10.0, 0.0, 0.0, -4.0},
{ -78.0, 45.0, 0.0, 0.0},
{ 0.0, -5.0, -2.0, 0.0},
{ 7.0, 0.0, 0.0, -4.0},
{ -5.0, 328.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0},
{ 5.0, 0.0, 0.0, -2.0},
{ 0.0, 3.0, 1.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0},
{ 0.0, -4.0, -2.0, 0.0},
{-1223.0, -26.0, 0.0, 0.0},
{ 0.0, 7.0, 3.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0},
{ 0.0, 3.0, 2.0, 0.0},
{ -6.0, 20.0, 0.0, 0.0},
{ -368.0, 0.0, 0.0, 0.0},
{ -75.0, 0.0, 0.0, 0.0},
{ 11.0, 0.0, 0.0, -6.0},
{ 3.0, 0.0, 0.0, -2.0},
{ -3.0, 0.0, 0.0, 1.0},
{ -13.0, -30.0, 0.0, 0.0},
{ 21.0, 3.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0},
{ -4.0, 0.0, 0.0, 2.0},
{ 8.0, -27.0, 0.0, 0.0},
{ -19.0, -11.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0},
{ 0.0, 5.0, 2.0, 0.0},
{ -6.0, 0.0, 0.0, 2.0},
{ -8.0, 0.0, 0.0, 0.0},
{ -1.0, 0.0, 0.0, 0.0},
{ -14.0, 0.0, 0.0, 6.0},
{ 6.0, 0.0, 0.0, 0.0},
{ -74.0, 0.0, 0.0, 32.0},
{ 0.0, -3.0, -1.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0},
{ 8.0, 11.0, 0.0, 0.0},
{ 0.0, 3.0, 2.0, 0.0},
{ -262.0, 0.0, 0.0, 114.0},
{ 0.0, -4.0, 0.0, 0.0},
{ -7.0, 0.0, 0.0, 4.0},
{ 0.0, -27.0, -12.0, 0.0},
{ -19.0, -8.0, -4.0, 8.0},
{ 202.0, 0.0, 0.0, -87.0},
{ -8.0, 35.0, 19.0, 5.0},
{ 0.0, 4.0, 2.0, 0.0},
{ 16.0, -5.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, -3.0},
{ 0.0, -3.0, 0.0, 0.0},
{ 1.0, 0.0, 0.0, 0.0},
{ -35.0, -48.0, -21.0, 15.0},
{ -3.0, -5.0, -2.0, 1.0},
{ 6.0, 0.0, 0.0, -3.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 0.0, -5.0, 0.0, 0.0},
{ 12.0, 55.0, 29.0, -6.0},
{ 0.0, 5.0, 3.0, 0.0},
{ -598.0, 0.0, 0.0, 0.0},
{ -3.0, -13.0, -7.0, 1.0},
{ -5.0, -7.0, -3.0, 2.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 5.0, -7.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0},
{ 16.0, -6.0, 0.0, 0.0},
{ 8.0, -3.0, 0.0, 0.0},
{ 8.0, -31.0, -16.0, -4.0},
{ 0.0, 3.0, 1.0, 0.0},
{ 113.0, 0.0, 0.0, -49.0},
{ 0.0, -24.0, -10.0, 0.0},
{ 4.0, 0.0, 0.0, -2.0},
{ 27.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0},
{ 0.0, -4.0, -2.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0},
{ 0.0, -3.0, 0.0, 0.0},
{ -13.0, 0.0, 0.0, 6.0},
{ 5.0, 0.0, 0.0, -2.0},
{ -18.0, -10.0, -4.0, 8.0},
{ -4.0, -28.0, 0.0, 0.0},
{ -5.0, 6.0, 3.0, 2.0},
{ -3.0, 0.0, 0.0, 1.0},
{ -5.0, -9.0, -4.0, 2.0},
{ 17.0, 0.0, 0.0, -7.0},
{ 11.0, 4.0, 0.0, 0.0},
{ 0.0, -6.0, -2.0, 0.0},
{ 83.0, 15.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 2.0},
{ 0.0, -114.0, -49.0, 0.0},
{ 117.0, 0.0, 0.0, -51.0},
{ -5.0, 19.0, 10.0, 2.0},
{ -3.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0},
{ 0.0, -3.0, -1.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0},
{ 0.0, -6.0, -2.0, 0.0},
{ 393.0, 3.0, 0.0, 0.0},
{ -4.0, 21.0, 11.0, 2.0},
{ -6.0, 0.0, -1.0, 3.0},
{ -3.0, 8.0, 4.0, 1.0},
{ 8.0, 0.0, 0.0, 0.0},
{ 18.0, -29.0, -13.0, -8.0},
{ 8.0, 34.0, 18.0, -4.0},
{ 89.0, 0.0, 0.0, 0.0},
{ 3.0, 12.0, 6.0, -1.0},
{ 54.0, -15.0, -7.0, -24.0},
{ 0.0, 3.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 0.0, 35.0, 0.0, 0.0},
{ -154.0, -30.0, -13.0, 67.0},
{ 15.0, 0.0, 0.0, 0.0},
{ 0.0, 4.0, 2.0, 0.0},
{ 0.0, 9.0, 0.0, 0.0},
{ 80.0, -71.0, -31.0, -35.0},
{ 0.0, -20.0, -9.0, 0.0},
{ 11.0, 5.0, 2.0, -5.0},
{ 61.0, -96.0, -42.0, -27.0},
{ 14.0, 9.0, 4.0, -6.0},
{ -11.0, -6.0, -3.0, 5.0},
{ 0.0, -3.0, -1.0, 0.0},
{ 123.0, -415.0, -180.0, -53.0},
{ 0.0, 0.0, 0.0, -35.0},
{ -5.0, 0.0, 0.0, 0.0},
{ 7.0, -32.0, -17.0, -4.0},
{ 0.0, -9.0, -5.0, 0.0},
{ 0.0, -4.0, 2.0, 0.0},
{ -89.0, 0.0, 0.0, 38.0},
{ 0.0, -86.0, -19.0, -6.0},
{ 0.0, 0.0, -19.0, 6.0},
{ -123.0, -416.0, -180.0, 53.0},
{ 0.0, -3.0, -1.0, 0.0},
{ 12.0, -6.0, -3.0, -5.0},
{ -13.0, 9.0, 4.0, 6.0},
{ 0.0, -15.0, -7.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0},
{ -62.0, -97.0, -42.0, 27.0},
{ -11.0, 5.0, 2.0, 5.0},
{ 0.0, -19.0, -8.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0},
{ 0.0, 4.0, 2.0, 0.0},
{ 0.0, 3.0, 0.0, 0.0},
{ 0.0, 4.0, 2.0, 0.0},
{ -85.0, -70.0, -31.0, 37.0},
{ 163.0, -12.0, -5.0, -72.0},
{ -63.0, -16.0, -7.0, 28.0},
{ -21.0, -32.0, -14.0, 9.0},
{ 0.0, -3.0, -1.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0},
{ 0.0, 8.0, 0.0, 0.0},
{ 3.0, 10.0, 4.0, -1.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 0.0, -7.0, -3.0, 0.0},
{ 0.0, -4.0, -2.0, 0.0},
{ 6.0, 19.0, 0.0, 0.0},
{ 5.0, -173.0, -75.0, -2.0},
{ 0.0, -7.0, -3.0, 0.0},
{ 7.0, -12.0, -5.0, -3.0},
{ -3.0, 0.0, 0.0, 2.0},
{ 3.0, -4.0, -2.0, -1.0},
{ 74.0, 0.0, 0.0, -32.0},
{ -3.0, 12.0, 6.0, 2.0},
{ 26.0, -14.0, -6.0, -11.0},
{ 19.0, 0.0, 0.0, -8.0},
{ 6.0, 24.0, 13.0, -3.0},
{ 83.0, 0.0, 0.0, 0.0},
{ 0.0, -10.0, -5.0, 0.0},
{ 11.0, -3.0, -1.0, -5.0},
{ 3.0, 0.0, 1.0, -1.0},
{ 3.0, 0.0, 0.0, -1.0},
{ -4.0, 0.0, 0.0, 0.0},
{ 5.0, -23.0, -12.0, -3.0},
{ -339.0, 0.0, 0.0, 147.0},
{ 0.0, -10.0, -5.0, 0.0},
{ 5.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 0.0, -4.0, -2.0, 0.0},
{ 18.0, -3.0, 0.0, 0.0},
{ 9.0, -11.0, -5.0, -4.0},
{ -8.0, 0.0, 0.0, 4.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 0.0, 9.0, 0.0, 0.0},
{ 6.0, -9.0, -4.0, -2.0},
{ -4.0, -12.0, 0.0, 0.0},
{ 67.0, -91.0, -39.0, -29.0},
{ 30.0, -18.0, -8.0, -13.0},
{ 0.0, 0.0, 0.0, 0.0},
{ 0.0, -114.0, -50.0, 0.0},
{ 0.0, 0.0, 0.0, 23.0},
{ 517.0, 16.0, 7.0, -224.0},
{ 0.0, -7.0, -3.0, 0.0},
{ 143.0, -3.0, -1.0, -62.0},
{ 29.0, 0.0, 0.0, -13.0},
{ -4.0, 0.0, 0.0, 2.0},
{ -6.0, 0.0, 0.0, 3.0},
{ 5.0, 12.0, 5.0, -2.0},
{ -25.0, 0.0, 0.0, 11.0},
{ -3.0, 0.0, 0.0, 1.0},
{ 0.0, 4.0, 2.0, 0.0},
{ -22.0, 12.0, 5.0, 10.0},
{ 50.0, 0.0, 0.0, -22.0},
{ 0.0, 7.0, 4.0, 0.0},
{ 0.0, 3.0, 1.0, 0.0},
{ -4.0, 4.0, 2.0, 2.0},
{ -5.0, -11.0, -5.0, 2.0},
{ 0.0, 4.0, 2.0, 0.0},
{ 4.0, 17.0, 9.0, -2.0},
{ 59.0, 0.0, 0.0, 0.0},
{ 0.0, -4.0, -2.0, 0.0},
{ -8.0, 0.0, 0.0, 4.0},
{ -3.0, 0.0, 0.0, 0.0},
{ 4.0, -15.0, -8.0, -2.0},
{ 370.0, -8.0, 0.0, -160.0},
{ 0.0, 0.0, -3.0, 0.0},
{ 0.0, 3.0, 1.0, 0.0},
{ -6.0, 3.0, 1.0, 3.0},
{ 0.0, 6.0, 0.0, 0.0},
{ -10.0, 0.0, 0.0, 4.0},
{ 0.0, 9.0, 4.0, 0.0},
{ 4.0, 17.0, 7.0, -2.0},
{ 34.0, 0.0, 0.0, -15.0},
{ 0.0, 5.0, 3.0, 0.0},
{ -5.0, 0.0, 0.0, 2.0},
{ -37.0, -7.0, -3.0, 16.0},
{ 3.0, 13.0, 7.0, -2.0},
{ 40.0, 0.0, 0.0, 0.0},
{ 0.0, -3.0, -2.0, 0.0},
{ -184.0, -3.0, -1.0, 80.0},
{ -3.0, 0.0, 0.0, 1.0},
{ -3.0, 0.0, 0.0, 0.0},
{ 0.0, -10.0, -6.0, -1.0},
{ 31.0, -6.0, 0.0, -13.0},
{ -3.0, -32.0, -14.0, 1.0},
{ -7.0, 0.0, 0.0, 3.0},
{ 0.0, -8.0, -4.0, 0.0},
{ 3.0, -4.0, 0.0, 0.0},
{ 0.0, 4.0, 0.0, 0.0},
{ 0.0, 3.0, 1.0, 0.0},
{ 19.0, -23.0, -10.0, 2.0},
{ 0.0, 0.0, 0.0, -10.0},
{ 0.0, 3.0, 2.0, 0.0},
{ 0.0, 9.0, 5.0, -1.0},
{ 28.0, 0.0, 0.0, 0.0},
{ 0.0, -7.0, -4.0, 0.0},
{ 8.0, -4.0, 0.0, -4.0},
{ 0.0, 0.0, -2.0, 0.0},
{ 0.0, 3.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 1.0},
{ -9.0, 0.0, 1.0, 4.0},
{ 3.0, 12.0, 5.0, -1.0},
{ 17.0, -3.0, -1.0, 0.0},
{ 0.0, 7.0, 4.0, 0.0},
{ 19.0, 0.0, 0.0, 0.0},
{ 0.0, -5.0, -3.0, 0.0},
{ 14.0, -3.0, 0.0, -1.0},
{ 0.0, 0.0, -1.0, 0.0},
{ 0.0, 0.0, 0.0, -5.0},
{ 0.0, 5.0, 3.0, 0.0},
{ 13.0, 0.0, 0.0, 0.0},
{ 0.0, -3.0, -2.0, 0.0},
{ 2.0, 9.0, 4.0, 3.0},
{ 0.0, 0.0, 0.0, -4.0},
{ 8.0, 0.0, 0.0, 0.0},
{ 0.0, 4.0, 2.0, 0.0},
{ 6.0, 0.0, 0.0, -3.0},
{ 6.0, 0.0, 0.0, 0.0},
{ 0.0, 3.0, 1.0, 0.0},
{ 5.0, 0.0, 0.0, -2.0},
{ 3.0, 0.0, 0.0, -1.0},
{ -3.0, 0.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, 0.0},
{ 7.0, 0.0, 0.0, 0.0},
{ -4.0, 0.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0},
{ 6.0, 0.0, 0.0, 0.0},
{ 0.0, -4.0, 0.0, 0.0},
{ 0.0, -4.0, 0.0, 0.0},
{ 5.0, 0.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0},
{ -5.0, 0.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0},
{ 0.0, 3.0, 0.0, 0.0},
{ 13.0, 0.0, 0.0, 0.0},
{ 21.0, 11.0, 0.0, 0.0},
{ 0.0, -5.0, 0.0, 0.0},
{ 0.0, -5.0, -2.0, 0.0},
{ 0.0, 5.0, 3.0, 0.0},
{ 0.0, -5.0, 0.0, 0.0},
{ -3.0, 0.0, 0.0, 2.0},
{ 20.0, 10.0, 0.0, 0.0},
{ -34.0, 0.0, 0.0, 0.0},
{ -19.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -2.0},
{ -3.0, 0.0, 0.0, 1.0},
{ -6.0, 0.0, 0.0, 3.0},
{ -4.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, 0.0},
{ 4.0, 0.0, 0.0, 0.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 6.0, 0.0, 0.0, -3.0},
{ -8.0, 0.0, 0.0, 3.0},
{ 0.0, 3.0, 1.0, 0.0},
{ -3.0, 0.0, 0.0, 0.0},
{ 0.0, -3.0, -2.0, 0.0},
{ 126.0, -63.0, -27.0, -55.0},
{ -5.0, 0.0, 1.0, 2.0},
{ -3.0, 28.0, 15.0, 2.0},
{ 5.0, 0.0, 1.0, -2.0},
{ 0.0, 9.0, 4.0, 1.0},
{ 0.0, 9.0, 4.0, -1.0},
{ -126.0, -63.0, -27.0, 55.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 21.0, -11.0, -6.0, -11.0},
{ 0.0, -4.0, 0.0, 0.0},
{ -21.0, -11.0, -6.0, 11.0},
{ -3.0, 0.0, 0.0, 1.0},
{ 0.0, 3.0, 1.0, 0.0},
{ 8.0, 0.0, 0.0, -4.0},
{ -6.0, 0.0, 0.0, 3.0},
{ -3.0, 0.0, 0.0, 1.0},
{ 3.0, 0.0, 0.0, -1.0},
{ -3.0, 0.0, 0.0, 1.0},
{ -5.0, 0.0, 0.0, 2.0},
{ 24.0, -12.0, -5.0, -11.0},
{ 0.0, 3.0, 1.0, 0.0},
{ 0.0, 3.0, 1.0, 0.0},
{ 0.0, 3.0, 2.0, 0.0},
{ -24.0, -12.0, -5.0, 10.0},
{ 4.0, 0.0, -1.0, -2.0},
{ 13.0, 0.0, 0.0, -6.0},
{ 7.0, 0.0, 0.0, -3.0},
{ 3.0, 0.0, 0.0, -1.0},
{ 3.0, 0.0, 0.0, -1.0}};
/*
Interval between fundamental epoch J2000.0 and given date.
*/
t = ((jd_high - T0) + jd_low) / 36525.0;
/*
Compute fundamental arguments from Simon et al. (1994), in radians.
*/
fund_args (t, a);
/*
** Luni-solar nutation. **
*/
/*
Initialize the nutation values.
*/
dp = 0.0;
de = 0.0;
/*
Summation of luni-solar nutation series (in reverse order).
*/
for (i = 677; i >= 0; i--)
{
/*
Argument and functions.
*/
arg = fmod ((double) nals_t[i][0] * a[0] +
(double) nals_t[i][1] * a[1] +
(double) nals_t[i][2] * a[2] +
(double) nals_t[i][3] * a[3] +
(double) nals_t[i][4] * a[4], TWOPI);
sarg = sin (arg);
carg = cos (arg);
/*
Term.
*/
dp += (cls_t[i][0] + cls_t[i][1] * t) * sarg
+ cls_t[i][2] * carg;
de += (cls_t[i][3] + cls_t[i][4] * t) * carg
+ cls_t[i][5] * sarg;
}
/*
Convert from 0.1 microarcsec units to radians.
*/
factor = 1.0e-7 * ASEC2RAD;
dpsils = dp * factor;
depsls = de * factor;
/*
** Planetary nutation. **
*/
/*
Mean anomaly of the Moon.
*/
al = fmod (2.35555598 + 8328.6914269554 * t, TWOPI);
/*
Mean anomaly of the Sun.
*/
alsu = fmod (6.24006013 + 628.301955 * t, TWOPI);
/*
Mean argument of the latitude of the Moon.
*/
af = fmod (1.627905234 + 8433.466158131 * t, TWOPI);
/*
Mean elongation of the Moon from the Sun.
*/
ad = fmod (5.198466741 + 7771.3771468121 * t, TWOPI);
/*
Mean longitude of the ascending node of the Moon.
*/
aom = fmod (2.18243920 - 33.757045 * t, TWOPI);
/*
General accumulated precession in longitude.
*/
apa = (0.02438175 + 0.00000538691 * t) * t;
/*
Planetary longitudes, Mercury through Neptune (Souchay et al. 1999).
*/
alme = fmod (4.402608842 + 2608.7903141574 * t, TWOPI);
alve = fmod (3.176146697 + 1021.3285546211 * t, TWOPI);
alea = fmod (1.753470314 + 628.3075849991 * t, TWOPI);
alma = fmod (6.203480913 + 334.0612426700 * t, TWOPI);
alju = fmod (0.599546497 + 52.9690962641 * t, TWOPI);
alsa = fmod (0.874016757 + 21.3299104960 * t, TWOPI);
alur = fmod (5.481293871 + 7.4781598567 * t, TWOPI);
alne = fmod (5.321159000 + 3.8127774000 * t, TWOPI);
/*
Initialize the nutation values.
*/
dp = 0.0;
de = 0.0;
/*
Summation of planetary nutation series (in reverse order).
*/
for (i = 686; i >= 0; i--)
{
/*
Argument and functions.
*/
arg = fmod ((double) napl_t[i][ 0] * al +
(double) napl_t[i][ 1] * alsu +
(double) napl_t[i][ 2] * af +
(double) napl_t[i][ 3] * ad +
(double) napl_t[i][ 4] * aom +
(double) napl_t[i][ 5] * alme +
(double) napl_t[i][ 6] * alve +
(double) napl_t[i][ 7] * alea +
(double) napl_t[i][ 8] * alma +
(double) napl_t[i][ 9] * alju +
(double) napl_t[i][10] * alsa +
(double) napl_t[i][11] * alur +
(double) napl_t[i][12] * alne +
(double) napl_t[i][13] * apa, TWOPI);
sarg = sin (arg);
carg = cos (arg);
/*
Term.
*/
dp += cpl_t[i][0] * sarg + cpl_t[i][1] * carg;
de += cpl_t[i][2] * sarg + cpl_t[i][3] * carg;
}
dpsipl = dp * factor;
depspl = de * factor;
/*
Total: Add planetary and luni-solar components.
*/
*dpsi = dpsipl + dpsils;
*deps = depspl + depsls;
return;
}
/********iau2000b */
void iau2000b (double jd_high, double jd_low,
double *dpsi, double *deps)
/*
------------------------------------------------------------------------
PURPOSE:
To compute the forced nutation of the non-rigid Earth based on
the IAU 2000B precession/nutation model.
REFERENCES:
McCarthy, D. and Luzum, B. (2003). "An Abridged Model of the
Precession & Nutation of the Celestial Pole," Celestial
Mechanics and Dynamical Astronomy, Volume 85, Issue 1,
Jan. 2003, p. 37. (IAU 2000B)
IERS Conventions (2003), Chapter 5.
INPUT
ARGUMENTS:
jd_high (double)
High-order part of TT Julian date.
jd_low (double)
Low-order part of TT Julian date.
OUTPUT
ARGUMENTS:
*dpsi (double)
Nutation (luni-solar + planetary) in longitude, in radians.
*deps (double)
Nutation (luni-solar + planetary) in obliquity, in radians.
RETURNED
VALUE:
None.
GLOBALS
USED:
T0, ASEC2RAD, TWOPI
FUNCTIONS
CALLED:
fmod math.h
sin math.h
cos math.h
VER./DATE/
PROGRAMMER:
V1.0/09-03/JAB (USNO/AA)
V1.1/12-10/JAB (USNO/AA): Implement static storage class for const
arrays.
V1.2/03-11/WKP (USNO/AA): Added braces to 2-D array initialization
to quiet gcc warnings.
NOTES:
1. IAU 2000B reproduces the IAU 2000A model to a precision of
1 milliarcsecond in the interval 1995-2020.
------------------------------------------------------------------------
*/
{
short int i;
/*
Planetary nutation (arcsec). These fixed terms account for the
omission of the long-period planetary terms in the truncated model.
*/
double dpplan = -0.000135;
double deplan = 0.000388;
double t, el, elp, f, d, om, arg, dp, de, sarg, carg, factor, dpsils,
depsls, dpsipl, depspl;
/*
Luni-Solar argument multipliers:
L L' F D Om
*/
static const short int nals_t[77][5] = {
{ 0, 0, 0, 0, 1},
{ 0, 0, 2, -2, 2},
{ 0, 0, 2, 0, 2},
{ 0, 0, 0, 0, 2},
{ 0, 1, 0, 0, 0},
{ 0, 1, 2, -2, 2},
{ 1, 0, 0, 0, 0},
{ 0, 0, 2, 0, 1},
{ 1, 0, 2, 0, 2},
{ 0, -1, 2, -2, 2},
{ 0, 0, 2, -2, 1},
{-1, 0, 2, 0, 2},
{-1, 0, 0, 2, 0},
{ 1, 0, 0, 0, 1},
{-1, 0, 0, 0, 1},
{-1, 0, 2, 2, 2},
{ 1, 0, 2, 0, 1},
{-2, 0, 2, 0, 1},
{ 0, 0, 0, 2, 0},
{ 0, 0, 2, 2, 2},
{ 0, -2, 2, -2, 2},
{-2, 0, 0, 2, 0},
{ 2, 0, 2, 0, 2},
{ 1, 0, 2, -2, 2},
{-1, 0, 2, 0, 1},
{ 2, 0, 0, 0, 0},
{ 0, 0, 2, 0, 0},
{ 0, 1, 0, 0, 1},
{-1, 0, 0, 2, 1},
{ 0, 2, 2, -2, 2},
{ 0, 0, -2, 2, 0},
{ 1, 0, 0, -2, 1},
{ 0, -1, 0, 0, 1},
{-1, 0, 2, 2, 1},
{ 0, 2, 0, 0, 0},
{ 1, 0, 2, 2, 2},
{-2, 0, 2, 0, 0},
{ 0, 1, 2, 0, 2},
{ 0, 0, 2, 2, 1},
{ 0, -1, 2, 0, 2},
{ 0, 0, 0, 2, 1},
{ 1, 0, 2, -2, 1},
{ 2, 0, 2, -2, 2},
{-2, 0, 0, 2, 1},
{ 2, 0, 2, 0, 1},
{ 0, -1, 2, -2, 1},
{ 0, 0, 0, -2, 1},
{-1, -1, 0, 2, 0},
{ 2, 0, 0, -2, 1},
{ 1, 0, 0, 2, 0},
{ 0, 1, 2, -2, 1},
{ 1, -1, 0, 0, 0},
{-2, 0, 2, 0, 2},
{ 3, 0, 2, 0, 2},
{ 0, -1, 0, 2, 0},
{ 1, -1, 2, 0, 2},
{ 0, 0, 0, 1, 0},
{-1, -1, 2, 2, 2},
{-1, 0, 2, 0, 0},
{ 0, -1, 2, 2, 2},
{-2, 0, 0, 0, 1},
{ 1, 1, 2, 0, 2},
{ 2, 0, 0, 0, 1},
{-1, 1, 0, 1, 0},
{ 1, 1, 0, 0, 0},
{ 1, 0, 2, 0, 0},
{-1, 0, 2, -2, 1},
{ 1, 0, 0, 0, 2},
{-1, 0, 0, 1, 0},
{ 0, 0, 2, 1, 2},
{-1, 0, 2, 4, 2},
{-1, 1, 0, 1, 1},
{ 0, -2, 2, -2, 1},
{ 1, 0, 2, 2, 1},
{-2, 0, 2, 2, 2},
{-1, 0, 0, 0, 2},
{ 1, 1, 2, -2, 2}};
/*
Luni-Solar nutation coefficients, unit 1e-7 arcsec:
longitude (sin, t*sin, cos), obliquity (cos, t*cos, sin)
Each row of coefficients in 'cls_t' belongs with the corresponding
row of fundamental-argument multipliers in 'nals_t'.
*/
static const double cls_t[77][6] = {
{-172064161.0, -174666.0, 33386.0, 92052331.0, 9086.0, 15377.0},
{ -13170906.0, -1675.0, -13696.0, 5730336.0, -3015.0, -4587.0},
{ -2276413.0, -234.0, 2796.0, 978459.0, -485.0, 1374.0},
{ 2074554.0, 207.0, -698.0, -897492.0, 470.0, -291.0},
{ 1475877.0, -3633.0, 11817.0, 73871.0, -184.0, -1924.0},
{ -516821.0, 1226.0, -524.0, 224386.0, -677.0, -174.0},
{ 711159.0, 73.0, -872.0, -6750.0, 0.0, 358.0},
{ -387298.0, -367.0, 380.0, 200728.0, 18.0, 318.0},
{ -301461.0, -36.0, 816.0, 129025.0, -63.0, 367.0},
{ 215829.0, -494.0, 111.0, -95929.0, 299.0, 132.0},
{ 128227.0, 137.0, 181.0, -68982.0, -9.0, 39.0},
{ 123457.0, 11.0, 19.0, -53311.0, 32.0, -4.0},
{ 156994.0, 10.0, -168.0, -1235.0, 0.0, 82.0},
{ 63110.0, 63.0, 27.0, -33228.0, 0.0, -9.0},
{ -57976.0, -63.0, -189.0, 31429.0, 0.0, -75.0},
{ -59641.0, -11.0, 149.0, 25543.0, -11.0, 66.0},
{ -51613.0, -42.0, 129.0, 26366.0, 0.0, 78.0},
{ 45893.0, 50.0, 31.0, -24236.0, -10.0, 20.0},
{ 63384.0, 11.0, -150.0, -1220.0, 0.0, 29.0},
{ -38571.0, -1.0, 158.0, 16452.0, -11.0, 68.0},
{ 32481.0, 0.0, 0.0, -13870.0, 0.0, 0.0},
{ -47722.0, 0.0, -18.0, 477.0, 0.0, -25.0},
{ -31046.0, -1.0, 131.0, 13238.0, -11.0, 59.0},
{ 28593.0, 0.0, -1.0, -12338.0, 10.0, -3.0},
{ 20441.0, 21.0, 10.0, -10758.0, 0.0, -3.0},
{ 29243.0, 0.0, -74.0, -609.0, 0.0, 13.0},
{ 25887.0, 0.0, -66.0, -550.0, 0.0, 11.0},
{ -14053.0, -25.0, 79.0, 8551.0, -2.0, -45.0},
{ 15164.0, 10.0, 11.0, -8001.0, 0.0, -1.0},
{ -15794.0, 72.0, -16.0, 6850.0, -42.0, -5.0},
{ 21783.0, 0.0, 13.0, -167.0, 0.0, 13.0},
{ -12873.0, -10.0, -37.0, 6953.0, 0.0, -14.0},
{ -12654.0, 11.0, 63.0, 6415.0, 0.0, 26.0},
{ -10204.0, 0.0, 25.0, 5222.0, 0.0, 15.0},
{ 16707.0, -85.0, -10.0, 168.0, -1.0, 10.0},
{ -7691.0, 0.0, 44.0, 3268.0, 0.0, 19.0},
{ -11024.0, 0.0, -14.0, 104.0, 0.0, 2.0},
{ 7566.0, -21.0, -11.0, -3250.0, 0.0, -5.0},
{ -6637.0, -11.0, 25.0, 3353.0, 0.0, 14.0},
{ -7141.0, 21.0, 8.0, 3070.0, 0.0, 4.0},
{ -6302.0, -11.0, 2.0, 3272.0, 0.0, 4.0},
{ 5800.0, 10.0, 2.0, -3045.0, 0.0, -1.0},
{ 6443.0, 0.0, -7.0, -2768.0, 0.0, -4.0},
{ -5774.0, -11.0, -15.0, 3041.0, 0.0, -5.0},
{ -5350.0, 0.0, 21.0, 2695.0, 0.0, 12.0},
{ -4752.0, -11.0, -3.0, 2719.0, 0.0, -3.0},
{ -4940.0, -11.0, -21.0, 2720.0, 0.0, -9.0},
{ 7350.0, 0.0, -8.0, -51.0, 0.0, 4.0},
{ 4065.0, 0.0, 6.0, -2206.0, 0.0, 1.0},
{ 6579.0, 0.0, -24.0, -199.0, 0.0, 2.0},
{ 3579.0, 0.0, 5.0, -1900.0, 0.0, 1.0},
{ 4725.0, 0.0, -6.0, -41.0, 0.0, 3.0},
{ -3075.0, 0.0, -2.0, 1313.0, 0.0, -1.0},
{ -2904.0, 0.0, 15.0, 1233.0, 0.0, 7.0},
{ 4348.0, 0.0, -10.0, -81.0, 0.0, 2.0},
{ -2878.0, 0.0, 8.0, 1232.0, 0.0, 4.0},
{ -4230.0, 0.0, 5.0, -20.0, 0.0, -2.0},
{ -2819.0, 0.0, 7.0, 1207.0, 0.0, 3.0},
{ -4056.0, 0.0, 5.0, 40.0, 0.0, -2.0},
{ -2647.0, 0.0, 11.0, 1129.0, 0.0, 5.0},
{ -2294.0, 0.0, -10.0, 1266.0, 0.0, -4.0},
{ 2481.0, 0.0, -7.0, -1062.0, 0.0, -3.0},
{ 2179.0, 0.0, -2.0, -1129.0, 0.0, -2.0},
{ 3276.0, 0.0, 1.0, -9.0, 0.0, 0.0},
{ -3389.0, 0.0, 5.0, 35.0, 0.0, -2.0},
{ 3339.0, 0.0, -13.0, -107.0, 0.0, 1.0},
{ -1987.0, 0.0, -6.0, 1073.0, 0.0, -2.0},
{ -1981.0, 0.0, 0.0, 854.0, 0.0, 0.0},
{ 4026.0, 0.0, -353.0, -553.0, 0.0, -139.0},
{ 1660.0, 0.0, -5.0, -710.0, 0.0, -2.0},
{ -1521.0, 0.0, 9.0, 647.0, 0.0, 4.0},
{ 1314.0, 0.0, 0.0, -700.0, 0.0, 0.0},
{ -1283.0, 0.0, 0.0, 672.0, 0.0, 0.0},
{ -1331.0, 0.0, 8.0, 663.0, 0.0, 4.0},
{ 1383.0, 0.0, -2.0, -594.0, 0.0, -2.0},
{ 1405.0, 0.0, 4.0, -610.0, 0.0, 2.0},
{ 1290.0, 0.0, 0.0, -556.0, 0.0, 0.0}};
/*
Interval between fundamental epoch J2000.0 and given date.
*/
t = ((jd_high - T0) + jd_low) / 36525.0;
/*
** Luni-solar nutation. **
Fundamental (Delaunay) arguments from Simon et al. (1994),
in radians.
*/
/*
Mean anomaly of the Moon.
*/
el = fmod (485868.249036 +
t * 1717915923.2178, ASEC360) * ASEC2RAD;
/*
Mean anomaly of the Sun.
*/
elp = fmod (1287104.79305 +
t * 129596581.0481, ASEC360) * ASEC2RAD;
/*
Mean argument of the latitude of the Moon.
*/
f = fmod (335779.526232 +
t * 1739527262.8478, ASEC360) * ASEC2RAD;
/*
Mean elongation of the Moon from the Sun.
*/
d = fmod (1072260.70369 +
t * 1602961601.2090, ASEC360) * ASEC2RAD;
/*
Mean longitude of the ascending node of the Moon.
*/
om = fmod (450160.398036 -
t * 6962890.5431, ASEC360) * ASEC2RAD;
/*
Initialize the nutation values.
*/
dp = 0.0;
de = 0.0;
/*
Summation of luni-solar nutation series (in reverse order).
*/
for (i = 76; i >= 0; i--)
{
/*
Argument and functions.
*/
arg = fmod ((double) nals_t[i][0] * el +
(double) nals_t[i][1] * elp +
(double) nals_t[i][2] * f +
(double) nals_t[i][3] * d +
(double) nals_t[i][4] * om, TWOPI);
sarg = sin (arg);
carg = cos (arg);
/*
Term.
*/
dp += (cls_t[i][0] + cls_t[i][1] * t) * sarg
+ cls_t[i][2] * carg;
de += (cls_t[i][3] + cls_t[i][4] * t) * carg
+ cls_t[i][5] * sarg;
}
/*
Convert from 0.1 microarcsec units to radians.
*/
factor = 1.0e-7 * ASEC2RAD;
dpsils = dp * factor;
depsls = de * factor;
/*
** Planetary nutation. **
Fixed terms to allow for long-period nutation, in radians.
*/
dpsipl = dpplan * ASEC2RAD;
depspl = deplan * ASEC2RAD;
/*
Total: Add planetary and luni-solar components.
*/
*dpsi = dpsipl + dpsils;
*deps = depspl + depsls;
return;
}
/********nu2000k */
void nu2000k (double jd_high, double jd_low,
double *dpsi, double *deps)
/*
------------------------------------------------------------------------
PURPOSE:
To compute the forced nutation of the non-rigid Earth:
Model NU2000K. This model is a modified version of IAU 2000A,
which has been truncated for speed of execution, and uses Simon
et al. (1994) fundamental arguments throughout. NU2000K agrees
with IAU 2000A at the 0.1 milliarcsecond level from 1700 to
2300.
REFERENCES:
IERS Conventions (2003), Chapter 5.
Simon et al. (1994) Astronomy and Astrophysics 282, 663-683,
esp. Sections 3.4-3.5.
INPUT
ARGUMENTS:
jd_high (double)
High-order part of TT Julian date.
jd_low (double)
Low-order part of TT Julian date.
OUTPUT
ARGUMENTS:
*dpsi (double)
Nutation (luni-solar + planetary) in longitude, in radians.
*deps (double)
Nutation (luni-solar + planetary) in obliquity, in radians.
RETURNED
VALUE:
None.
GLOBALS
USED:
T0, ASEC2RAD, TWOPI
FUNCTIONS
CALLED:
fund_args novas.c
fmod math.h
sin math.h
cos math.h
VER./DATE/
PROGRAMMER:
V1.0/03-04/JAB (USNO/AA)
V1.1/12-10/JAB (USNO/AA): Implement static storage class for const
arrays.
V1.2/03-11/WKP (USNO/AA): Added braces to 2-D array initialization
to quiet gcc warnings.
NOTES:
1. NU2000K was compared to IAU 2000A over six centuries (1700-
2300). The average error in dpsi is 20 microarcseconds, with 98%
of the errors < 60 microarcseconds; the average error in deleps
is 8 microarcseconds, with 100% of the errors < 60
microarcseconds.
2. NU2000K was developed by G. Kaplan (USNO) in March 2004.
3. This function is the "C" version of NOVAS Fortran routine
'nu2000k'.
------------------------------------------------------------------------
*/
{
short int i;
double t, a[5], dp, de, arg, sarg, carg, factor, dpsils,
depsls, alme, alve, alea, alma, alju, alsa, alur, alne, apa,
dpsipl, depspl;
/*
Luni-Solar argument multipliers:
L L' F D Om
*/
static const short int nals_t[323][5] = {
{ 0, 0, 0, 0, 1},
{ 0, 0, 2, -2, 2},
{ 0, 0, 2, 0, 2},
{ 0, 0, 0, 0, 2},
{ 0, 1, 0, 0, 0},
{ 0, 1, 2, -2, 2},
{ 1, 0, 0, 0, 0},
{ 0, 0, 2, 0, 1},
{ 1, 0, 2, 0, 2},
{ 0, -1, 2, -2, 2},
{ 0, 0, 2, -2, 1},
{-1, 0, 2, 0, 2},
{-1, 0, 0, 2, 0},
{ 1, 0, 0, 0, 1},
{-1, 0, 0, 0, 1},
{-1, 0, 2, 2, 2},
{ 1, 0, 2, 0, 1},
{-2, 0, 2, 0, 1},
{ 0, 0, 0, 2, 0},
{ 0, 0, 2, 2, 2},
{ 0, -2, 2, -2, 2},
{-2, 0, 0, 2, 0},
{ 2, 0, 2, 0, 2},
{ 1, 0, 2, -2, 2},
{-1, 0, 2, 0, 1},
{ 2, 0, 0, 0, 0},
{ 0, 0, 2, 0, 0},
{ 0, 1, 0, 0, 1},
{-1, 0, 0, 2, 1},
{ 0, 2, 2, -2, 2},
{ 0, 0, -2, 2, 0},
{ 1, 0, 0, -2, 1},
{ 0, -1, 0, 0, 1},
{-1, 0, 2, 2, 1},
{ 0, 2, 0, 0, 0},
{ 1, 0, 2, 2, 2},
{-2, 0, 2, 0, 0},
{ 0, 1, 2, 0, 2},
{ 0, 0, 2, 2, 1},
{ 0, -1, 2, 0, 2},
{ 0, 0, 0, 2, 1},
{ 1, 0, 2, -2, 1},
{ 2, 0, 2, -2, 2},
{-2, 0, 0, 2, 1},
{ 2, 0, 2, 0, 1},
{ 0, -1, 2, -2, 1},
{ 0, 0, 0, -2, 1},
{-1, -1, 0, 2, 0},
{ 2, 0, 0, -2, 1},
{ 1, 0, 0, 2, 0},
{ 0, 1, 2, -2, 1},
{ 1, -1, 0, 0, 0},
{-2, 0, 2, 0, 2},
{ 3, 0, 2, 0, 2},
{ 0, -1, 0, 2, 0},
{ 1, -1, 2, 0, 2},
{ 0, 0, 0, 1, 0},
{-1, -1, 2, 2, 2},
{-1, 0, 2, 0, 0},
{ 0, -1, 2, 2, 2},
{-2, 0, 0, 0, 1},
{ 1, 1, 2, 0, 2},
{ 2, 0, 0, 0, 1},
{-1, 1, 0, 1, 0},
{ 1, 1, 0, 0, 0},
{ 1, 0, 2, 0, 0},
{-1, 0, 2, -2, 1},
{ 1, 0, 0, 0, 2},
{-1, 0, 0, 1, 0},
{ 0, 0, 2, 1, 2},
{-1, 0, 2, 4, 2},
{-1, 1, 0, 1, 1},
{ 0, -2, 2, -2, 1},
{ 1, 0, 2, 2, 1},
{-2, 0, 2, 2, 2},
{-1, 0, 0, 0, 2},
{ 1, 1, 2, -2, 2},
{-2, 0, 2, 4, 2},
{-1, 0, 4, 0, 2},
{ 2, 0, 2, -2, 1},
{ 2, 0, 2, 2, 2},
{ 1, 0, 0, 2, 1},
{ 3, 0, 0, 0, 0},
{ 3, 0, 2, -2, 2},
{ 0, 0, 4, -2, 2},
{ 0, 1, 2, 0, 1},
{ 0, 0, -2, 2, 1},
{ 0, 0, 2, -2, 3},
{-1, 0, 0, 4, 0},
{ 2, 0, -2, 0, 1},
{-2, 0, 0, 4, 0},
{-1, -1, 0, 2, 1},
{-1, 0, 0, 1, 1},
{ 0, 1, 0, 0, 2},
{ 0, 0, -2, 0, 1},
{ 0, -1, 2, 0, 1},
{ 0, 0, 2, -1, 2},
{ 0, 0, 2, 4, 2},
{-2, -1, 0, 2, 0},
{ 1, 1, 0, -2, 1},
{-1, 1, 0, 2, 0},
{-1, 1, 0, 1, 2},
{ 1, -1, 0, 0, 1},
{ 1, -1, 2, 2, 2},
{-1, 1, 2, 2, 2},
{ 3, 0, 2, 0, 1},
{ 0, 1, -2, 2, 0},
{-1, 0, 0, -2, 1},
{ 0, 1, 2, 2, 2},
{-1, -1, 2, 2, 1},
{ 0, -1, 0, 0, 2},
{ 1, 0, 2, -4, 1},
{-1, 0, -2, 2, 0},
{ 0, -1, 2, 2, 1},
{ 2, -1, 2, 0, 2},
{ 0, 0, 0, 2, 2},
{ 1, -1, 2, 0, 1},
{-1, 1, 2, 0, 2},
{ 0, 1, 0, 2, 0},
{ 0, -1, -2, 2, 0},
{ 0, 3, 2, -2, 2},
{ 0, 0, 0, 1, 1},
{-1, 0, 2, 2, 0},
{ 2, 1, 2, 0, 2},
{ 1, 1, 0, 0, 1},
{ 1, 1, 2, 0, 1},
{ 2, 0, 0, 2, 0},
{ 1, 0, -2, 2, 0},
{-1, 0, 0, 2, 2},
{ 0, 1, 0, 1, 0},
{ 0, 1, 0, -2, 1},
{-1, 0, 2, -2, 2},
{ 0, 0, 0, -1, 1},
{-1, 1, 0, 0, 1},
{ 1, 0, 2, -1, 2},
{ 1, -1, 0, 2, 0},
{ 0, 0, 0, 4, 0},
{ 1, 0, 2, 1, 2},
{ 0, 0, 2, 1, 1},
{ 1, 0, 0, -2, 2},
{-1, 0, 2, 4, 1},
{ 1, 0, -2, 0, 1},
{ 1, 1, 2, -2, 1},
{ 0, 0, 2, 2, 0},
{-1, 0, 2, -1, 1},
{-2, 0, 2, 2, 1},
{ 4, 0, 2, 0, 2},
{ 2, -1, 0, 0, 0},
{ 2, 1, 2, -2, 2},
{ 0, 1, 2, 1, 2},
{ 1, 0, 4, -2, 2},
{-1, -1, 0, 0, 1},
{ 0, 1, 0, 2, 1},
{-2, 0, 2, 4, 1},
{ 2, 0, 2, 0, 0},
{ 1, 0, 0, 1, 0},
{-1, 0, 0, 4, 1},
{-1, 0, 4, 0, 1},
{ 2, 0, 2, 2, 1},
{ 0, 0, 2, -3, 2},
{-1, -2, 0, 2, 0},
{ 2, 1, 0, 0, 0},
{ 0, 0, 4, 0, 2},
{ 0, 0, 0, 0, 3},
{ 0, 3, 0, 0, 0},
{ 0, 0, 2, -4, 1},
{ 0, -1, 0, 2, 1},
{ 0, 0, 0, 4, 1},
{-1, -1, 2, 4, 2},
{ 1, 0, 2, 4, 2},
{-2, 2, 0, 2, 0},
{-2, -1, 2, 0, 1},
{-2, 0, 0, 2, 2},
{-1, -1, 2, 0, 2},
{ 0, 0, 4, -2, 1},
{ 3, 0, 2, -2, 1},
{-2, -1, 0, 2, 1},
{ 1, 0, 0, -1, 1},
{ 0, -2, 0, 2, 0},
{-2, 0, 0, 4, 1},
{-3, 0, 0, 0, 1},
{ 1, 1, 2, 2, 2},
{ 0, 0, 2, 4, 1},
{ 3, 0, 2, 2, 2},
{-1, 1, 2, -2, 1},
{ 2, 0, 0, -4, 1},
{ 0, 0, 0, -2, 2},
{ 2, 0, 2, -4, 1},
{-1, 1, 0, 2, 1},
{ 0, 0, 2, -1, 1},
{ 0, -2, 2, 2, 2},
{ 2, 0, 0, 2, 1},
{ 4, 0, 2, -2, 2},
{ 2, 0, 0, -2, 2},
{ 0, 2, 0, 0, 1},
{ 1, 0, 0, -4, 1},
{ 0, 2, 2, -2, 1},
{-3, 0, 0, 4, 0},
{-1, 1, 2, 0, 1},
{-1, -1, 0, 4, 0},
{-1, -2, 2, 2, 2},
{-2, -1, 2, 4, 2},
{ 1, -1, 2, 2, 1},
{-2, 1, 0, 2, 0},
{-2, 1, 2, 0, 1},
{ 2, 1, 0, -2, 1},
{-3, 0, 2, 0, 1},
{-2, 0, 2, -2, 1},
{-1, 1, 0, 2, 2},
{ 0, -1, 2, -1, 2},
{-1, 0, 4, -2, 2},
{ 0, -2, 2, 0, 2},
{-1, 0, 2, 1, 2},
{ 2, 0, 0, 0, 2},
{ 0, 0, 2, 0, 3},
{-2, 0, 4, 0, 2},
{-1, 0, -2, 0, 1},
{-1, 1, 2, 2, 1},
{ 3, 0, 0, 0, 1},
{-1, 0, 2, 3, 2},
{ 2, -1, 2, 0, 1},
{ 0, 1, 2, 2, 1},
{ 0, -1, 2, 4, 2},
{ 2, -1, 2, 2, 2},
{ 0, 2, -2, 2, 0},
{-1, -1, 2, -1, 1},
{ 0, -2, 0, 0, 1},
{ 1, 0, 2, -4, 2},
{ 1, -1, 0, -2, 1},
{-1, -1, 2, 0, 1},
{ 1, -1, 2, -2, 2},
{-2, -1, 0, 4, 0},
{-1, 0, 0, 3, 0},
{-2, -1, 2, 2, 2},
{ 0, 2, 2, 0, 2},
{ 1, 1, 0, 2, 0},
{ 2, 0, 2, -1, 2},
{ 1, 0, 2, 1, 1},
{ 4, 0, 0, 0, 0},
{ 2, 1, 2, 0, 1},
{ 3, -1, 2, 0, 2},
{-2, 2, 0, 2, 1},
{ 1, 0, 2, -3, 1},
{ 1, 1, 2, -4, 1},
{-1, -1, 2, -2, 1},
{ 0, -1, 0, -1, 1},
{ 0, -1, 0, -2, 1},
{-2, 0, 0, 0, 2},
{-2, 0, -2, 2, 0},
{-1, 0, -2, 4, 0},
{ 1, -2, 0, 0, 0},
{ 0, 1, 0, 1, 1},
{-1, 2, 0, 2, 0},
{ 1, -1, 2, -2, 1},
{ 1, 2, 2, -2, 2},
{ 2, -1, 2, -2, 2},
{ 1, 0, 2, -1, 1},
{ 2, 1, 2, -2, 1},
{-2, 0, 0, -2, 1},
{ 1, -2, 2, 0, 2},
{ 0, 1, 2, 1, 1},
{ 1, 0, 4, -2, 1},
{-2, 0, 4, 2, 2},
{ 1, 1, 2, 1, 2},
{ 1, 0, 0, 4, 0},
{ 1, 0, 2, 2, 0},
{ 2, 0, 2, 1, 2},
{ 3, 1, 2, 0, 2},
{ 4, 0, 2, 0, 1},
{-2, -1, 2, 0, 0},
{ 0, 1, -2, 2, 1},
{ 1, 0, -2, 1, 0},
{ 2, -1, 0, -2, 1},
{-1, 0, 2, -1, 2},
{ 1, 0, 2, -3, 2},
{ 0, 1, 2, -2, 3},
{-1, 0, -2, 2, 1},
{ 0, 0, 2, -4, 2},
{ 2, 0, 2, -4, 2},
{ 0, 0, 4, -4, 4},
{ 0, 0, 4, -4, 2},
{-2, 0, 0, 3, 0},
{ 1, 0, -2, 2, 1},
{-3, 0, 2, 2, 2},
{-2, 0, 2, 2, 0},
{ 2, -1, 0, 0, 1},
{ 1, 1, 0, 1, 0},
{ 0, 1, 4, -2, 2},
{-1, 1, 0, -2, 1},
{ 0, 0, 0, -4, 1},
{ 1, -1, 0, 2, 1},
{ 1, 1, 0, 2, 1},
{-1, 2, 2, 2, 2},
{ 3, 1, 2, -2, 2},
{ 0, -1, 0, 4, 0},
{ 2, -1, 0, 2, 0},
{ 0, 0, 4, 0, 1},
{ 2, 0, 4, -2, 2},
{-1, -1, 2, 4, 1},
{ 1, 0, 0, 4, 1},
{ 1, -2, 2, 2, 2},
{ 0, 0, 2, 3, 2},
{-1, 1, 2, 4, 2},
{ 3, 0, 0, 2, 0},
{-1, 0, 4, 2, 2},
{-2, 0, 2, 6, 2},
{-1, 0, 2, 6, 2},
{ 1, 1, -2, 1, 0},
{-1, 0, 0, 1, 2},
{-1, -1, 0, 1, 0},
{-2, 0, 0, 1, 0},
{ 0, 0, -2, 1, 0},
{ 1, -1, -2, 2, 0},
{ 1, 2, 0, 0, 0},
{ 3, 0, 2, 0, 0},
{ 0, -1, 1, -1, 1},
{-1, 0, 1, 0, 3},
{-1, 0, 1, 0, 2},
{-1, 0, 1, 0, 1},
{-1, 0, 1, 0, 0},
{ 0, 0, 1, 0, 2},
{ 0, 0, 1, 0, 1},
{ 0, 0, 1, 0, 0}};
/*
Luni-Solar nutation coefficients, unit 1e-7 arcsec:
longitude (sin, t*sin, cos), obliquity (cos, t*cos, sin)
Each row of coefficients in 'cls_t' belongs with the corresponding
row of fundamental-argument multipliers in 'nals_t'.
*/
static const double cls_t[323][6] = {
{-172064161.0,-174666.0, 33386.0, 92052331.0, 9086.0,15377.0},
{ -13170906.0, -1675.0,-13696.0, 5730336.0,-3015.0,-4587.0},
{ -2276413.0, -234.0, 2796.0, 978459.0, -485.0, 1374.0},
{ 2074554.0, 207.0, -698.0, -897492.0, 470.0, -291.0},
{ 1475877.0, -3633.0, 11817.0, 73871.0, -184.0,-1924.0},
{ -516821.0, 1226.0, -524.0, 224386.0, -677.0, -174.0},
{ 711159.0, 73.0, -872.0, -6750.0, 0.0, 358.0},
{ -387298.0, -367.0, 380.0, 200728.0, 18.0, 318.0},
{ -301461.0, -36.0, 816.0, 129025.0, -63.0, 367.0},
{ 215829.0, -494.0, 111.0, -95929.0, 299.0, 132.0},
{ 128227.0, 137.0, 181.0, -68982.0, -9.0, 39.0},
{ 123457.0, 11.0, 19.0, -53311.0, 32.0, -4.0},
{ 156994.0, 10.0, -168.0, -1235.0, 0.0, 82.0},
{ 63110.0, 63.0, 27.0, -33228.0, 0.0, -9.0},
{ -57976.0, -63.0, -189.0, 31429.0, 0.0, -75.0},
{ -59641.0, -11.0, 149.0, 25543.0, -11.0, 66.0},
{ -51613.0, -42.0, 129.0, 26366.0, 0.0, 78.0},
{ 45893.0, 50.0, 31.0, -24236.0, -10.0, 20.0},
{ 63384.0, 11.0, -150.0, -1220.0, 0.0, 29.0},
{ -38571.0, -1.0, 158.0, 16452.0, -11.0, 68.0},
{ 32481.0, 0.0, 0.0, -13870.0, 0.0, 0.0},
{ -47722.0, 0.0, -18.0, 477.0, 0.0, -25.0},
{ -31046.0, -1.0, 131.0, 13238.0, -11.0, 59.0},
{ 28593.0, 0.0, -1.0, -12338.0, 10.0, -3.0},
{ 20441.0, 21.0, 10.0, -10758.0, 0.0, -3.0},
{ 29243.0, 0.0, -74.0, -609.0, 0.0, 13.0},
{ 25887.0, 0.0, -66.0, -550.0, 0.0, 11.0},
{ -14053.0, -25.0, 79.0, 8551.0, -2.0, -45.0},
{ 15164.0, 10.0, 11.0, -8001.0, 0.0, -1.0},
{ -15794.0, 72.0, -16.0, 6850.0, -42.0, -5.0},
{ 21783.0, 0.0, 13.0, -167.0, 0.0, 13.0},
{ -12873.0, -10.0, -37.0, 6953.0, 0.0, -14.0},
{ -12654.0, 11.0, 63.0, 6415.0, 0.0, 26.0},
{ -10204.0, 0.0, 25.0, 5222.0, 0.0, 15.0},
{ 16707.0, -85.0, -10.0, 168.0, -1.0, 10.0},
{ -7691.0, 0.0, 44.0, 3268.0, 0.0, 19.0},
{ -11024.0, 0.0, -14.0, 104.0, 0.0, 2.0},
{ 7566.0, -21.0, -11.0, -3250.0, 0.0, -5.0},
{ -6637.0, -11.0, 25.0, 3353.0, 0.0, 14.0},
{ -7141.0, 21.0, 8.0, 3070.0, 0.0, 4.0},
{ -6302.0, -11.0, 2.0, 3272.0, 0.0, 4.0},
{ 5800.0, 10.0, 2.0, -3045.0, 0.0, -1.0},
{ 6443.0, 0.0, -7.0, -2768.0, 0.0, -4.0},
{ -5774.0, -11.0, -15.0, 3041.0, 0.0, -5.0},
{ -5350.0, 0.0, 21.0, 2695.0, 0.0, 12.0},
{ -4752.0, -11.0, -3.0, 2719.0, 0.0, -3.0},
{ -4940.0, -11.0, -21.0, 2720.0, 0.0, -9.0},
{ 7350.0, 0.0, -8.0, -51.0, 0.0, 4.0},
{ 4065.0, 0.0, 6.0, -2206.0, 0.0, 1.0},
{ 6579.0, 0.0, -24.0, -199.0, 0.0, 2.0},
{ 3579.0, 0.0, 5.0, -1900.0, 0.0, 1.0},
{ 4725.0, 0.0, -6.0, -41.0, 0.0, 3.0},
{ -3075.0, 0.0, -2.0, 1313.0, 0.0, -1.0},
{ -2904.0, 0.0, 15.0, 1233.0, 0.0, 7.0},
{ 4348.0, 0.0, -10.0, -81.0, 0.0, 2.0},
{ -2878.0, 0.0, 8.0, 1232.0, 0.0, 4.0},
{ -4230.0, 0.0, 5.0, -20.0, 0.0, -2.0},
{ -2819.0, 0.0, 7.0, 1207.0, 0.0, 3.0},
{ -4056.0, 0.0, 5.0, 40.0, 0.0, -2.0},
{ -2647.0, 0.0, 11.0, 1129.0, 0.0, 5.0},
{ -2294.0, 0.0, -10.0, 1266.0, 0.0, -4.0},
{ 2481.0, 0.0, -7.0, -1062.0, 0.0, -3.0},
{ 2179.0, 0.0, -2.0, -1129.0, 0.0, -2.0},
{ 3276.0, 0.0, 1.0, -9.0, 0.0, 0.0},
{ -3389.0, 0.0, 5.0, 35.0, 0.0, -2.0},
{ 3339.0, 0.0, -13.0, -107.0, 0.0, 1.0},
{ -1987.0, 0.0, -6.0, 1073.0, 0.0, -2.0},
{ -1981.0, 0.0, 0.0, 854.0, 0.0, 0.0},
{ 4026.0, 0.0, -353.0, -553.0, 0.0, -139.0},
{ 1660.0, 0.0, -5.0, -710.0, 0.0, -2.0},
{ -1521.0, 0.0, 9.0, 647.0, 0.0, 4.0},
{ 1314.0, 0.0, 0.0, -700.0, 0.0, 0.0},
{ -1283.0, 0.0, 0.0, 672.0, 0.0, 0.0},
{ -1331.0, 0.0, 8.0, 663.0, 0.0, 4.0},
{ 1383.0, 0.0, -2.0, -594.0, 0.0, -2.0},
{ 1405.0, 0.0, 4.0, -610.0, 0.0, 2.0},
{ 1290.0, 0.0, 0.0, -556.0, 0.0, 0.0},
{ -1214.0, 0.0, 5.0, 518.0, 0.0, 2.0},
{ 1146.0, 0.0, -3.0, -490.0, 0.0, -1.0},
{ 1019.0, 0.0, -1.0, -527.0, 0.0, -1.0},
{ -1100.0, 0.0, 9.0, 465.0, 0.0, 4.0},
{ -970.0, 0.0, 2.0, 496.0, 0.0, 1.0},
{ 1575.0, 0.0, -6.0, -50.0, 0.0, 0.0},
{ 934.0, 0.0, -3.0, -399.0, 0.0, -1.0},
{ 922.0, 0.0, -1.0, -395.0, 0.0, -1.0},
{ 815.0, 0.0, -1.0, -422.0, 0.0, -1.0},
{ 834.0, 0.0, 2.0, -440.0, 0.0, 1.0},
{ 1248.0, 0.0, 0.0, -170.0, 0.0, 1.0},
{ 1338.0, 0.0, -5.0, -39.0, 0.0, 0.0},
{ 716.0, 0.0, -2.0, -389.0, 0.0, -1.0},
{ 1282.0, 0.0, -3.0, -23.0, 0.0, 1.0},
{ 742.0, 0.0, 1.0, -391.0, 0.0, 0.0},
{ 1020.0, 0.0, -25.0, -495.0, 0.0, -10.0},
{ 715.0, 0.0, -4.0, -326.0, 0.0, 2.0},
{ -666.0, 0.0, -3.0, 369.0, 0.0, -1.0},
{ -667.0, 0.0, 1.0, 346.0, 0.0, 1.0},
{ -704.0, 0.0, 0.0, 304.0, 0.0, 0.0},
{ -694.0, 0.0, 5.0, 294.0, 0.0, 2.0},
{ -1014.0, 0.0, -1.0, 4.0, 0.0, -1.0},
{ -585.0, 0.0, -2.0, 316.0, 0.0, -1.0},
{ -949.0, 0.0, 1.0, 8.0, 0.0, -1.0},
{ -595.0, 0.0, 0.0, 258.0, 0.0, 0.0},
{ 528.0, 0.0, 0.0, -279.0, 0.0, 0.0},
{ -590.0, 0.0, 4.0, 252.0, 0.0, 2.0},
{ 570.0, 0.0, -2.0, -244.0, 0.0, -1.0},
{ -502.0, 0.0, 3.0, 250.0, 0.0, 2.0},
{ -875.0, 0.0, 1.0, 29.0, 0.0, 0.0},
{ -492.0, 0.0, -3.0, 275.0, 0.0, -1.0},
{ 535.0, 0.0, -2.0, -228.0, 0.0, -1.0},
{ -467.0, 0.0, 1.0, 240.0, 0.0, 1.0},
{ 591.0, 0.0, 0.0, -253.0, 0.0, 0.0},
{ -453.0, 0.0, -1.0, 244.0, 0.0, -1.0},
{ 766.0, 0.0, 1.0, 9.0, 0.0, 0.0},
{ -446.0, 0.0, 2.0, 225.0, 0.0, 1.0},
{ -488.0, 0.0, 2.0, 207.0, 0.0, 1.0},
{ -468.0, 0.0, 0.0, 201.0, 0.0, 0.0},
{ -421.0, 0.0, 1.0, 216.0, 0.0, 1.0},
{ 463.0, 0.0, 0.0, -200.0, 0.0, 0.0},
{ -673.0, 0.0, 2.0, 14.0, 0.0, 0.0},
{ 658.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -438.0, 0.0, 0.0, 188.0, 0.0, 0.0},
{ -390.0, 0.0, 0.0, 205.0, 0.0, 0.0},
{ 639.0, -11.0, -2.0, -19.0, 0.0, 0.0},
{ 412.0, 0.0, -2.0, -176.0, 0.0, -1.0},
{ -361.0, 0.0, 0.0, 189.0, 0.0, 0.0},
{ 360.0, 0.0, -1.0, -185.0, 0.0, -1.0},
{ 588.0, 0.0, -3.0, -24.0, 0.0, 0.0},
{ -578.0, 0.0, 1.0, 5.0, 0.0, 0.0},
{ -396.0, 0.0, 0.0, 171.0, 0.0, 0.0},
{ 565.0, 0.0, -1.0, -6.0, 0.0, 0.0},
{ -335.0, 0.0, -1.0, 184.0, 0.0, -1.0},
{ 357.0, 0.0, 1.0, -154.0, 0.0, 0.0},
{ 321.0, 0.0, 1.0, -174.0, 0.0, 0.0},
{ -301.0, 0.0, -1.0, 162.0, 0.0, 0.0},
{ -334.0, 0.0, 0.0, 144.0, 0.0, 0.0},
{ 493.0, 0.0, -2.0, -15.0, 0.0, 0.0},
{ 494.0, 0.0, -2.0, -19.0, 0.0, 0.0},
{ 337.0, 0.0, -1.0, -143.0, 0.0, -1.0},
{ 280.0, 0.0, -1.0, -144.0, 0.0, 0.0},
{ 309.0, 0.0, 1.0, -134.0, 0.0, 0.0},
{ -263.0, 0.0, 2.0, 131.0, 0.0, 1.0},
{ 253.0, 0.0, 1.0, -138.0, 0.0, 0.0},
{ 245.0, 0.0, 0.0, -128.0, 0.0, 0.0},
{ 416.0, 0.0, -2.0, -17.0, 0.0, 0.0},
{ -229.0, 0.0, 0.0, 128.0, 0.0, 0.0},
{ 231.0, 0.0, 0.0, -120.0, 0.0, 0.0},
{ -259.0, 0.0, 2.0, 109.0, 0.0, 1.0},
{ 375.0, 0.0, -1.0, -8.0, 0.0, 0.0},
{ 252.0, 0.0, 0.0, -108.0, 0.0, 0.0},
{ -245.0, 0.0, 1.0, 104.0, 0.0, 0.0},
{ 243.0, 0.0, -1.0, -104.0, 0.0, 0.0},
{ 208.0, 0.0, 1.0, -112.0, 0.0, 0.0},
{ 199.0, 0.0, 0.0, -102.0, 0.0, 0.0},
{ -208.0, 0.0, 1.0, 105.0, 0.0, 0.0},
{ 335.0, 0.0, -2.0, -14.0, 0.0, 0.0},
{ -325.0, 0.0, 1.0, 7.0, 0.0, 0.0},
{ -187.0, 0.0, 0.0, 96.0, 0.0, 0.0},
{ 197.0, 0.0, -1.0, -100.0, 0.0, 0.0},
{ -192.0, 0.0, 2.0, 94.0, 0.0, 1.0},
{ -188.0, 0.0, 0.0, 83.0, 0.0, 0.0},
{ 276.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -286.0, 0.0, 1.0, 6.0, 0.0, 0.0},
{ 186.0, 0.0, -1.0, -79.0, 0.0, 0.0},
{ -219.0, 0.0, 0.0, 43.0, 0.0, 0.0},
{ 276.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -153.0, 0.0, -1.0, 84.0, 0.0, 0.0},
{ -156.0, 0.0, 0.0, 81.0, 0.0, 0.0},
{ -154.0, 0.0, 1.0, 78.0, 0.0, 0.0},
{ -174.0, 0.0, 1.0, 75.0, 0.0, 0.0},
{ -163.0, 0.0, 2.0, 69.0, 0.0, 1.0},
{ -228.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ 91.0, 0.0, -4.0, -54.0, 0.0, -2.0},
{ 175.0, 0.0, 0.0, -75.0, 0.0, 0.0},
{ -159.0, 0.0, 0.0, 69.0, 0.0, 0.0},
{ 141.0, 0.0, 0.0, -72.0, 0.0, 0.0},
{ 147.0, 0.0, 0.0, -75.0, 0.0, 0.0},
{ -132.0, 0.0, 0.0, 69.0, 0.0, 0.0},
{ 159.0, 0.0, -28.0, -54.0, 0.0, 11.0},
{ 213.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 123.0, 0.0, 0.0, -64.0, 0.0, 0.0},
{ -118.0, 0.0, -1.0, 66.0, 0.0, 0.0},
{ 144.0, 0.0, -1.0, -61.0, 0.0, 0.0},
{ -121.0, 0.0, 1.0, 60.0, 0.0, 0.0},
{ -134.0, 0.0, 1.0, 56.0, 0.0, 1.0},
{ -105.0, 0.0, 0.0, 57.0, 0.0, 0.0},
{ -102.0, 0.0, 0.0, 56.0, 0.0, 0.0},
{ 120.0, 0.0, 0.0, -52.0, 0.0, 0.0},
{ 101.0, 0.0, 0.0, -54.0, 0.0, 0.0},
{ -113.0, 0.0, 0.0, 59.0, 0.0, 0.0},
{ -106.0, 0.0, 0.0, 61.0, 0.0, 0.0},
{ -129.0, 0.0, 1.0, 55.0, 0.0, 0.0},
{ -114.0, 0.0, 0.0, 57.0, 0.0, 0.0},
{ 113.0, 0.0, -1.0, -49.0, 0.0, 0.0},
{ -102.0, 0.0, 0.0, 44.0, 0.0, 0.0},
{ -94.0, 0.0, 0.0, 51.0, 0.0, 0.0},
{ -100.0, 0.0, -1.0, 56.0, 0.0, 0.0},
{ 87.0, 0.0, 0.0, -47.0, 0.0, 0.0},
{ 161.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 96.0, 0.0, 0.0, -50.0, 0.0, 0.0},
{ 151.0, 0.0, -1.0, -5.0, 0.0, 0.0},
{ -104.0, 0.0, 0.0, 44.0, 0.0, 0.0},
{ -110.0, 0.0, 0.0, 48.0, 0.0, 0.0},
{ -100.0, 0.0, 1.0, 50.0, 0.0, 0.0},
{ 92.0, 0.0, -5.0, 12.0, 0.0, -2.0},
{ 82.0, 0.0, 0.0, -45.0, 0.0, 0.0},
{ 82.0, 0.0, 0.0, -45.0, 0.0, 0.0},
{ -78.0, 0.0, 0.0, 41.0, 0.0, 0.0},
{ -77.0, 0.0, 0.0, 43.0, 0.0, 0.0},
{ 2.0, 0.0, 0.0, 54.0, 0.0, 0.0},
{ 94.0, 0.0, 0.0, -40.0, 0.0, 0.0},
{ -93.0, 0.0, 0.0, 40.0, 0.0, 0.0},
{ -83.0, 0.0, 10.0, 40.0, 0.0, -2.0},
{ 83.0, 0.0, 0.0, -36.0, 0.0, 0.0},
{ -91.0, 0.0, 0.0, 39.0, 0.0, 0.0},
{ 128.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ -79.0, 0.0, 0.0, 34.0, 0.0, 0.0},
{ -83.0, 0.0, 0.0, 47.0, 0.0, 0.0},
{ 84.0, 0.0, 0.0, -44.0, 0.0, 0.0},
{ 83.0, 0.0, 0.0, -43.0, 0.0, 0.0},
{ 91.0, 0.0, 0.0, -39.0, 0.0, 0.0},
{ -77.0, 0.0, 0.0, 39.0, 0.0, 0.0},
{ 84.0, 0.0, 0.0, -43.0, 0.0, 0.0},
{ -92.0, 0.0, 1.0, 39.0, 0.0, 0.0},
{ -92.0, 0.0, 1.0, 39.0, 0.0, 0.0},
{ -94.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 68.0, 0.0, 0.0, -36.0, 0.0, 0.0},
{ -61.0, 0.0, 0.0, 32.0, 0.0, 0.0},
{ 71.0, 0.0, 0.0, -31.0, 0.0, 0.0},
{ 62.0, 0.0, 0.0, -34.0, 0.0, 0.0},
{ -63.0, 0.0, 0.0, 33.0, 0.0, 0.0},
{ -73.0, 0.0, 0.0, 32.0, 0.0, 0.0},
{ 115.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -103.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 63.0, 0.0, 0.0, -28.0, 0.0, 0.0},
{ 74.0, 0.0, 0.0, -32.0, 0.0, 0.0},
{ -103.0, 0.0, -3.0, 3.0, 0.0, -1.0},
{ -69.0, 0.0, 0.0, 30.0, 0.0, 0.0},
{ 57.0, 0.0, 0.0, -29.0, 0.0, 0.0},
{ 94.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 64.0, 0.0, 0.0, -33.0, 0.0, 0.0},
{ -63.0, 0.0, 0.0, 26.0, 0.0, 0.0},
{ -38.0, 0.0, 0.0, 20.0, 0.0, 0.0},
{ -43.0, 0.0, 0.0, 24.0, 0.0, 0.0},
{ -45.0, 0.0, 0.0, 23.0, 0.0, 0.0},
{ 47.0, 0.0, 0.0, -24.0, 0.0, 0.0},
{ -48.0, 0.0, 0.0, 25.0, 0.0, 0.0},
{ 45.0, 0.0, 0.0, -26.0, 0.0, 0.0},
{ 56.0, 0.0, 0.0, -25.0, 0.0, 0.0},
{ 88.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ -75.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 85.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 49.0, 0.0, 0.0, -26.0, 0.0, 0.0},
{ -74.0, 0.0, -3.0, -1.0, 0.0, -1.0},
{ -39.0, 0.0, 0.0, 21.0, 0.0, 0.0},
{ 45.0, 0.0, 0.0, -20.0, 0.0, 0.0},
{ 51.0, 0.0, 0.0, -22.0, 0.0, 0.0},
{ -40.0, 0.0, 0.0, 21.0, 0.0, 0.0},
{ 41.0, 0.0, 0.0, -21.0, 0.0, 0.0},
{ -42.0, 0.0, 0.0, 24.0, 0.0, 0.0},
{ -51.0, 0.0, 0.0, 22.0, 0.0, 0.0},
{ -42.0, 0.0, 0.0, 22.0, 0.0, 0.0},
{ 39.0, 0.0, 0.0, -21.0, 0.0, 0.0},
{ 46.0, 0.0, 0.0, -18.0, 0.0, 0.0},
{ -53.0, 0.0, 0.0, 22.0, 0.0, 0.0},
{ 82.0, 0.0, 0.0, -4.0, 0.0, 0.0},
{ 81.0, 0.0, -1.0, -4.0, 0.0, 0.0},
{ 47.0, 0.0, 0.0, -19.0, 0.0, 0.0},
{ 53.0, 0.0, 0.0, -23.0, 0.0, 0.0},
{ -45.0, 0.0, 0.0, 22.0, 0.0, 0.0},
{ -44.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ -33.0, 0.0, 0.0, 16.0, 0.0, 0.0},
{ -61.0, 0.0, 0.0, 1.0, 0.0, 0.0},
{ -38.0, 0.0, 0.0, 19.0, 0.0, 0.0},
{ -33.0, 0.0, 0.0, 21.0, 0.0, 0.0},
{ -60.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 48.0, 0.0, 0.0, -10.0, 0.0, 0.0},
{ 38.0, 0.0, 0.0, -20.0, 0.0, 0.0},
{ 31.0, 0.0, 0.0, -13.0, 0.0, 0.0},
{ -32.0, 0.0, 0.0, 15.0, 0.0, 0.0},
{ 45.0, 0.0, 0.0, -8.0, 0.0, 0.0},
{ -44.0, 0.0, 0.0, 19.0, 0.0, 0.0},
{ -51.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -36.0, 0.0, 0.0, 20.0, 0.0, 0.0},
{ 44.0, 0.0, 0.0, -19.0, 0.0, 0.0},
{ -60.0, 0.0, 0.0, 2.0, 0.0, 0.0},
{ 35.0, 0.0, 0.0, -18.0, 0.0, 0.0},
{ 47.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 36.0, 0.0, 0.0, -15.0, 0.0, 0.0},
{ -36.0, 0.0, 0.0, 20.0, 0.0, 0.0},
{ -35.0, 0.0, 0.0, 19.0, 0.0, 0.0},
{ -37.0, 0.0, 0.0, 19.0, 0.0, 0.0},
{ 32.0, 0.0, 0.0, -16.0, 0.0, 0.0},
{ 35.0, 0.0, 0.0, -14.0, 0.0, 0.0},
{ 32.0, 0.0, 0.0, -13.0, 0.0, 0.0},
{ 65.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 47.0, 0.0, 0.0, -1.0, 0.0, 0.0},
{ 32.0, 0.0, 0.0, -16.0, 0.0, 0.0},
{ 37.0, 0.0, 0.0, -16.0, 0.0, 0.0},
{ -30.0, 0.0, 0.0, 15.0, 0.0, 0.0},
{ -32.0, 0.0, 0.0, 16.0, 0.0, 0.0},
{ -31.0, 0.0, 0.0, 13.0, 0.0, 0.0},
{ 37.0, 0.0, 0.0, -16.0, 0.0, 0.0},
{ 31.0, 0.0, 0.0, -13.0, 0.0, 0.0},
{ 49.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 32.0, 0.0, 0.0, -13.0, 0.0, 0.0},
{ -43.0, 0.0, 0.0, 18.0, 0.0, 0.0},
{ -32.0, 0.0, 0.0, 14.0, 0.0, 0.0},
{ 30.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -34.0, 0.0, 0.0, 15.0, 0.0, 0.0},
{ -36.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -38.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -31.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -34.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ -35.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{ 30.0, 0.0, 0.0, -2.0, 0.0, 0.0},
{ 0.0, 0.0, -1988.0, 0.0, 0.0,-1679.0},
{ 0.0, 0.0, -63.0, 0.0, 0.0, -27.0},
{ 0.0, 0.0, 364.0, 0.0, 0.0, 176.0},
{ 0.0, 0.0, -1044.0, 0.0, 0.0, -891.0},
{ 0.0, 0.0, 330.0, 0.0, 0.0, 0.0},
{ 0.0, 0.0, 30.0, 0.0, 0.0, 14.0},
{ 0.0, 0.0, -162.0, 0.0, 0.0, -138.0},
{ 0.0, 0.0, 75.0, 0.0, 0.0, 0.0}};
/*
Planetary argument multipliers:
L L' F D Om Me Ve E Ma Ju Sa Ur Ne pre
*/
static const short int napl_t[165][14] = {
{ 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -8, 16, -4, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 2},
{ 0, 0, 1, -1, 1, 0, 0, 3, -8, 3, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -5, 8, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, -5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, -2, 5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 1},
{ 1, 0, 0, -2, 0, 0, 19,-21, 3, 0, 0, 0, 0, 0},
{ 1, 0, 0, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 18,-16, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -8, 12, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -1, 2, 0, 0, 0, 0, 0},
{-1, 0, 0, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
{ 0, 0, -2, 2, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0},
{ 2, 0, 0, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{-1, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 1, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1},
{ 0, 0, 0, 0, 1, 0, 8,-13, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 0, 1, 0, 18,-16, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, -2, 5, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, -5, 0, 0, 0},
{-2, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 1, 0, 0, 0, 1, 0,-18, 16, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, -8, 13, 0, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, 0, -2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 2, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2},
{ 0, 0, 2, -2, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0},
{ 0, 0, -1, 1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0},
{-2, 0, 0, 2, 1, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2},
{-2, 0, 0, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{ 2, 0, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 0, 1, -2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 1, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, -5, 7, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1},
{ 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2},
{ 0, 0, 2, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 2, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 4, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 6, -8, 3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -6, 16, -4, -5, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, -2, 8, -3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -3, 7, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, -9, 11, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 2},
{ 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 2},
{-1, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0},
{ 1, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{-1, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0}};
/*
Planetary nutation coefficients, unit 1e-7 arcsec:
longitude (sin, cos), obliquity (sin, cos)
Each row of coefficients in 'cpl_t' belongs with the corresponding
row of fundamental-argument multipliers in 'napl_t'.
*/
static const double cpl_t[165][4] = {
{ 1440.0, 0.0, 0.0, 0.0},
{ 56.0, -117.0, -42.0, -40.0},
{ 125.0, -43.0, 0.0, -54.0},
{ -114.0, 0.0, 0.0, 61.0},
{ -219.0, 89.0, 0.0, 0.0},
{ -462.0, 1604.0, 0.0, 0.0},
{ 99.0, 0.0, 0.0, -53.0},
{ 14.0, -218.0, 117.0, 8.0},
{ 31.0, -481.0, -257.0, -17.0},
{ -491.0, 128.0, 0.0, 0.0},
{-3084.0, 5123.0, 2735.0, 1647.0},
{-1444.0, 2409.0, -1286.0, -771.0},
{ 103.0, -60.0, 0.0, 0.0},
{ -26.0, -29.0, -16.0, 14.0},
{ 284.0, 0.0, 0.0, -151.0},
{ 226.0, 101.0, 0.0, 0.0},
{ -41.0, 175.0, 76.0, 17.0},
{ 425.0, 212.0, -133.0, 269.0},
{ 1200.0, 598.0, 319.0, -641.0},
{ 235.0, 334.0, 0.0, 0.0},
{ 266.0, -78.0, 0.0, 0.0},
{ -460.0, -435.0, -232.0, 246.0},
{ 0.0, 131.0, 0.0, 0.0},
{ -42.0, 20.0, 0.0, 0.0},
{ -10.0, 233.0, 0.0, 0.0},
{ 78.0, -18.0, 0.0, 0.0},
{ 45.0, -22.0, 0.0, 0.0},
{ 89.0, -16.0, -9.0, -48.0},
{ -349.0, -62.0, 0.0, 0.0},
{ -53.0, 0.0, 0.0, 0.0},
{ -21.0, -78.0, 0.0, 0.0},
{ 20.0, -70.0, -37.0, -11.0},
{ 32.0, 15.0, -8.0, 17.0},
{ 174.0, 84.0, 45.0, -93.0},
{ 11.0, 56.0, 0.0, 0.0},
{ -66.0, -12.0, -6.0, 35.0},
{ 47.0, 8.0, 4.0, -25.0},
{ 46.0, 66.0, 35.0, -25.0},
{ -68.0, -34.0, -18.0, 36.0},
{ 76.0, 17.0, 9.0, -41.0},
{ 84.0, 298.0, 159.0, -45.0},
{ -82.0, 292.0, 156.0, 44.0},
{ -73.0, 17.0, 9.0, 39.0},
{ -439.0, 0.0, 0.0, 0.0},
{ 57.0, -28.0, -15.0, -30.0},
{ -40.0, 57.0, 30.0, 21.0},
{ 273.0, 80.0, 43.0, -146.0},
{ -449.0, 430.0, 0.0, 0.0},
{ -8.0, -47.0, -25.0, 4.0},
{ 6.0, 47.0, 25.0, -3.0},
{ -48.0, -110.0, -59.0, 26.0},
{ 51.0, 114.0, 61.0, -27.0},
{ -133.0, 0.0, 0.0, 57.0},
{ -18.0, -436.0, -233.0, 9.0},
{ 35.0, -7.0, 0.0, 0.0},
{ -53.0, -9.0, -5.0, 28.0},
{ -50.0, 194.0, 103.0, 27.0},
{ -13.0, 52.0, 28.0, 7.0},
{ -91.0, 248.0, 0.0, 0.0},
{ 6.0, 49.0, 26.0, -3.0},
{ -6.0, -47.0, -25.0, 3.0},
{ 52.0, 23.0, 10.0, -23.0},
{ -138.0, 0.0, 0.0, 0.0},
{ 54.0, 0.0, 0.0, -29.0},
{ -37.0, 35.0, 19.0, 20.0},
{ -145.0, 47.0, 0.0, 0.0},
{ -10.0, 40.0, 21.0, 5.0},
{ 11.0, -49.0, -26.0, -7.0},
{-2150.0, 0.0, 0.0, 932.0},
{ 85.0, 0.0, 0.0, -37.0},
{ -86.0, 153.0, 0.0, 0.0},
{ -51.0, 0.0, 0.0, 22.0},
{ -11.0, -268.0, -116.0, 5.0},
{ 31.0, 6.0, 3.0, -17.0},
{ 140.0, 27.0, 14.0, -75.0},
{ 57.0, 11.0, 6.0, -30.0},
{ -14.0, -39.0, 0.0, 0.0},
{ -25.0, 22.0, 0.0, 0.0},
{ 42.0, 223.0, 119.0, -22.0},
{ -27.0, -143.0, -77.0, 14.0},
{ 9.0, 49.0, 26.0, -5.0},
{-1166.0, 0.0, 0.0, 505.0},
{ 117.0, 0.0, 0.0, -63.0},
{ 0.0, 31.0, 0.0, 0.0},
{ 0.0, -32.0, -17.0, 0.0},
{ 50.0, 0.0, 0.0, -27.0},
{ 30.0, -3.0, -2.0, -16.0},
{ 8.0, 614.0, 0.0, 0.0},
{ -127.0, 21.0, 9.0, 55.0},
{ -20.0, 34.0, 0.0, 0.0},
{ 22.0, -87.0, 0.0, 0.0},
{ -68.0, 39.0, 0.0, 0.0},
{ 3.0, 66.0, 29.0, -1.0},
{ 490.0, 0.0, 0.0, -213.0},
{ -22.0, 93.0, 49.0, 12.0},
{ -46.0, 14.0, 0.0, 0.0},
{ 25.0, 106.0, 57.0, -13.0},
{ 1485.0, 0.0, 0.0, 0.0},
{ -7.0, -32.0, -17.0, 4.0},
{ 30.0, -6.0, -2.0, -13.0},
{ 118.0, 0.0, 0.0, -52.0},
{ -28.0, 36.0, 0.0, 0.0},
{ 14.0, -59.0, -31.0, -8.0},
{ -458.0, 0.0, 0.0, 198.0},
{ 0.0, -45.0, -20.0, 0.0},
{ -166.0, 269.0, 0.0, 0.0},
{ -78.0, 45.0, 0.0, 0.0},
{ -5.0, 328.0, 0.0, 0.0},
{-1223.0, -26.0, 0.0, 0.0},
{ -368.0, 0.0, 0.0, 0.0},
{ -75.0, 0.0, 0.0, 0.0},
{ -13.0, -30.0, 0.0, 0.0},
{ -74.0, 0.0, 0.0, 32.0},
{ -262.0, 0.0, 0.0, 114.0},
{ 202.0, 0.0, 0.0, -87.0},
{ -8.0, 35.0, 19.0, 5.0},
{ -35.0, -48.0, -21.0, 15.0},
{ 12.0, 55.0, 29.0, -6.0},
{ -598.0, 0.0, 0.0, 0.0},
{ 8.0, -31.0, -16.0, -4.0},
{ 113.0, 0.0, 0.0, -49.0},
{ 83.0, 15.0, 0.0, 0.0},
{ 0.0, -114.0, -49.0, 0.0},
{ 117.0, 0.0, 0.0, -51.0},
{ 393.0, 3.0, 0.0, 0.0},
{ 18.0, -29.0, -13.0, -8.0},
{ 8.0, 34.0, 18.0, -4.0},
{ 89.0, 0.0, 0.0, 0.0},
{ 54.0, -15.0, -7.0, -24.0},
{ 0.0, 35.0, 0.0, 0.0},
{ -154.0, -30.0, -13.0, 67.0},
{ 80.0, -71.0, -31.0, -35.0},
{ 61.0, -96.0, -42.0, -27.0},
{ 123.0, -415.0, -180.0, -53.0},
{ 0.0, 0.0, 0.0, -35.0},
{ 7.0, -32.0, -17.0, -4.0},
{ -89.0, 0.0, 0.0, 38.0},
{ 0.0, -86.0, -19.0, -6.0},
{ -123.0, -416.0, -180.0, 53.0},
{ -62.0, -97.0, -42.0, 27.0},
{ -85.0, -70.0, -31.0, 37.0},
{ 163.0, -12.0, -5.0, -72.0},
{ -63.0, -16.0, -7.0, 28.0},
{ -21.0, -32.0, -14.0, 9.0},
{ 5.0, -173.0, -75.0, -2.0},
{ 74.0, 0.0, 0.0, -32.0},
{ 83.0, 0.0, 0.0, 0.0},
{ -339.0, 0.0, 0.0, 147.0},
{ 67.0, -91.0, -39.0, -29.0},
{ 30.0, -18.0, -8.0, -13.0},
{ 0.0, -114.0, -50.0, 0.0},
{ 517.0, 16.0, 7.0, -224.0},
{ 143.0, -3.0, -1.0, -62.0},
{ 50.0, 0.0, 0.0, -22.0},
{ 59.0, 0.0, 0.0, 0.0},
{ 370.0, -8.0, 0.0, -160.0},
{ 34.0, 0.0, 0.0, -15.0},
{ -37.0, -7.0, -3.0, 16.0},
{ 40.0, 0.0, 0.0, 0.0},
{ -184.0, -3.0, -1.0, 80.0},
{ 31.0, -6.0, 0.0, -13.0},
{ -3.0, -32.0, -14.0, 1.0},
{ -34.0, 0.0, 0.0, 0.0},
{ 126.0, -63.0, -27.0, -55.0},
{ -126.0, -63.0, -27.0, 55.0}};
/*
Interval between fundamental epoch J2000.0 and given date.
*/
t = ((jd_high - T0) + jd_low) / 36525.0;
/*
Compute fundamental arguments from Simon et al. (1994),
in radians.
*/
fund_args (t, a);
/*
** Luni-solar nutation. **
*/
/*
Initialize the nutation values.
*/
dp = 0.0;
de = 0.0;
/*
Summation of luni-solar nutation series (in reverse order).
*/
for (i = 322; i >= 0; i--)
{
/*
Argument and functions.
*/
arg = fmod ((double) nals_t[i][0] * a[0] +
(double) nals_t[i][1] * a[1] +
(double) nals_t[i][2] * a[2] +
(double) nals_t[i][3] * a[3] +
(double) nals_t[i][4] * a[4], TWOPI);
sarg = sin (arg);
carg = cos (arg);
/*
Term.
*/
dp += (cls_t[i][0] + cls_t[i][1] * t) * sarg
+ cls_t[i][2] * carg;
de += (cls_t[i][3] + cls_t[i][4] * t) * carg
+ cls_t[i][5] * sarg;
}
/*
Convert from 0.1 microarcsec units to radians.
*/
factor = 1.0e-7 * ASEC2RAD;
dpsils = dp * factor;
depsls = de * factor;
/*
** Planetary nutation. **
*/
/*
Planetary longitudes, Mercury through Neptune, wrt mean dynamical
ecliptic and equinox of J2000, with high order terms omitted
(Simon et al. 1994, 5.8.1-5.8.8).
*/
alme = fmod (4.402608842461 + 2608.790314157421 * t, TWOPI);
alve = fmod (3.176146696956 + 1021.328554621099 * t, TWOPI);
alea = fmod (1.753470459496 + 628.307584999142 * t, TWOPI);
alma = fmod (6.203476112911 + 334.061242669982 * t, TWOPI);
alju = fmod (0.599547105074 + 52.969096264064 * t, TWOPI);
alsa = fmod (0.874016284019 + 21.329910496032 * t, TWOPI);
alur = fmod (5.481293871537 + 7.478159856729 * t, TWOPI);
alne = fmod (5.311886286677 + 3.813303563778 * t, TWOPI);
/*
General precession in longitude (Simon et al. 1994), equivalent
to 5028.8200 arcsec/cy at J2000.
*/
apa = (0.024380407358 + 0.000005391235 * t) * t;
/*
Initialize the nutation values.
*/
dp = 0.0;
de = 0.0;
/*
Summation of planetary nutation series (in reverse order).
*/
for (i = 164; i >= 0; i--)
{
/*
Argument and functions.
*/
arg = fmod ((double) napl_t[i][ 0] * a[0] +
(double) napl_t[i][ 1] * a[1] +
(double) napl_t[i][ 2] * a[2] +
(double) napl_t[i][ 3] * a[3] +
(double) napl_t[i][ 4] * a[4] +
(double) napl_t[i][ 5] * alme +
(double) napl_t[i][ 6] * alve +
(double) napl_t[i][ 7] * alea +
(double) napl_t[i][ 8] * alma +
(double) napl_t[i][ 9] * alju +
(double) napl_t[i][10] * alsa +
(double) napl_t[i][11] * alur +
(double) napl_t[i][12] * alne +
(double) napl_t[i][13] * apa, TWOPI);
sarg = sin (arg);
carg = cos (arg);
/*
Term.
*/
dp += cpl_t[i][0] * sarg + cpl_t[i][1] * carg;
de += cpl_t[i][2] * sarg + cpl_t[i][3] * carg;
}
dpsipl = dp * factor;
depspl = de * factor;
/*
Total: Add planetary and luni-solar components.
*/
*dpsi = dpsipl + dpsils;
*deps = depspl + depsls;
return;
}