~ubuntu-branches/ubuntu/natty/python-cogent/natty

« back to all changes in this revision

Viewing changes to tests/test_cluster/test_approximate_mds.py

  • Committer: Bazaar Package Importer
  • Author(s): Steffen Moeller
  • Date: 2010-12-04 22:30:35 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20101204223035-j11kinhcrrdgg2p2
Tags: 1.5-1
* Bumped standard to 3.9.1, no changes required.
* New upstream version.
  - major additions to Cookbook
  - added AlleleFreqs attribute to ensembl Variation objects.
  - added getGeneByStableId method to genome objects.
  - added Introns attribute to Transcript objects and an Intron class.
  - added Mann-Whitney test and a Monte-Carlo version
  - exploratory and confirmatory period estimation techniques (suitable for
    symbolic and continuous data)
  - Information theoretic measures (AIC and BIC) added
  - drawing of trees with collapsed nodes
  - progress display indicator support for terminal and GUI apps
  - added parser for illumina HiSeq2000 and GAiix sequence files as 
    cogent.parse.illumina_sequence.MinimalIlluminaSequenceParser.
  - added parser to FASTQ files, one of the output options for illumina's
    workflow, also added cookbook demo.
  - added functionality for parsing of SFF files without the Roche tools in
    cogent.parse.binary_sff
  - thousand fold performance improvement to nmds
  - >10-fold performance improvements to some Table operations

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!usr/bin/env python
 
2
"""Unit tests for fast metric scaling functions"""
 
3
 
 
4
from cogent.util.unit_test import TestCase, main
 
5
from cogent.cluster import goodness_of_fit
 
6
from cogent.cluster.approximate_mds \
 
7
    import nystrom
 
8
from cogent.cluster.approximate_mds \
 
9
    import calc_matrix_a, calc_matrix_b, build_seed_matrix
 
10
from cogent.cluster.approximate_mds import rowmeans, \
 
11
    affine_mapping, adjust_mds_to_ref, recenter, combine_mds, \
 
12
    cmds_tzeng, CombineMds
 
13
from numpy import array, matrix, random, argsort
 
14
 
 
15
__author__ = "Andreas Wilm"
 
16
__copyright__ = "FIXME"
 
17
__credits__ = ["Andreas Wilm"]
 
18
__license__ = "GPL"
 
19
__version__ = "1.5.0"
 
20
__maintainer__ = "Andreas Wilm"
 
21
__email__ = "andreas.wilm@ucd.ie"
 
22
__status__ = "FIXME"
 
23
 
 
24
PRINT_STRESS = False
 
25
 
 
26
 
 
27
# Bigish symmetrical matrix for testing: The following is a distance
 
28
# matrix of 100 points making up a 16-dimensional spiral. Idea was
 
29
# copied from Tzeng et al. 2008 (PMID 18394154).
 
30
#
 
31
# Note: the objects are ordered, i.e. permuting the distances will
 
32
# give better MDS approximations
 
33
#
 
34
FULL_SYM_MATRIX =  array([
 
35
        [  0.     ,   9.94319,   7.11402,   7.30016,   9.1998 ,   7.52661,
 
36
           10.1122 ,  11.71544,  11.72171,  12.23729,  16.55706,  15.07764,
 
37
           17.41182,  19.23286,  22.03428,  20.37969,  21.79021,  23.31804,
 
38
           25.27884,  25.33384,  25.51721,  25.23346,  27.13757,  27.77099,
 
39
           31.89744,  30.12906,  30.853  ,  31.25053,  32.01368,  32.92915,
 
40
           34.80687,  34.67094,  34.61157,  33.95445,  36.09099,  34.39821,
 
41
           35.29278,  33.43954,  35.50327,  34.96861,  34.61776,  31.52205,
 
42
           31.5479 ,  31.86234,  30.85453,  29.69611,  29.41756,  28.83014,
 
43
           30.11403,  28.76504,  23.7291 ,  25.6983 ,  25.97412,  25.13513,
 
44
           24.45972,  21.55045,  21.69278,  19.95303,  16.26348,  17.11013,
 
45
           14.32254,  17.62265,  15.44168,  17.37134,  13.90914,  11.73735,
 
46
           12.23879,  12.84236,  16.11693,  14.78883,  14.85241,  16.81082,
 
47
           15.84987,  19.49531,  19.10495,  20.82333,  22.2353 ,  24.10629,
 
48
           25.58022,  26.94421,  29.15922,  29.35633,  30.44926,  33.44155,
 
49
           33.20634,  35.10944,  37.58041,  36.97612,  37.4974 ,  39.19126,
 
50
           41.96371,  39.49224,  44.24451,  44.49713,  46.20998,  45.17665,
 
51
           43.34276,  45.20143,  42.75318,  46.74111],
 
52
        [  9.94319,   0.     ,   9.15502,   9.50864,   4.67066,   8.73786,
 
53
           10.65396,   7.07033,   7.65245,  11.7303 ,  13.97535,  14.44678,
 
54
           14.4366 ,  17.67632,  17.78924,  17.34483,  20.92378,  19.64563,
 
55
           22.37953,  22.50652,  22.59182,  23.16428,  25.36422,  24.53657,
 
56
           28.53754,  28.8102 ,  28.67001,  29.99149,  29.0992 ,  30.78134,
 
57
           32.60362,  33.06432,  32.35053,  31.31204,  33.96212,  32.70361,
 
58
           34.0075 ,  31.79899,  34.1394 ,  34.08447,  34.40636,  32.09843,
 
59
           31.55098,  32.21933,  29.68935,  30.64989,  29.84656,  30.31266,
 
60
           30.95073,  29.50086,  25.13342,  26.92125,  26.77764,  25.45479,
 
61
           26.64139,  24.28835,  23.54393,  21.14658,  19.0042 ,  19.69926,
 
62
           17.01569,  17.70308,  16.76036,  18.85088,  15.67933,  13.11373,
 
63
           14.57384,  14.49709,  13.93834,  13.97627,  15.28133,  15.43603,
 
64
           15.38908,  19.14731,  18.0164 ,  19.25691,  20.79821,  21.17772,
 
65
           23.34925,  24.69467,  25.91663,  26.0043 ,  27.48027,  31.09767,
 
66
           29.88905,  31.87226,  35.07482,  34.08161,  34.96767,  36.59085,
 
67
           39.56174,  37.35437,  42.00158,  42.65467,  44.21824,  42.7808 ,
 
68
           41.49634,  42.89946,  41.51576,  45.2993 ],
 
69
        [  7.11402,   9.15502,   0.     ,   6.86568,   9.13056,   6.40397,
 
70
           9.71158,   8.69917,   8.75907,   9.94964,  12.60852,  10.83371,
 
71
           13.24922,  15.56278,  18.00935,  17.28358,  18.64376,  18.74751,
 
72
           21.30424,  20.79329,  22.52019,  21.17382,  24.35227,  24.04257,
 
73
           27.79547,  27.14583,  27.9384 ,  28.31876,  29.19352,  30.31387,
 
74
           32.49497,  32.53298,  32.54342,  31.6677 ,  34.4333 ,  33.06171,
 
75
           33.8104 ,  32.32825,  34.54666,  33.66703,  34.21985,  31.60984,
 
76
           31.44096,  32.23245,  30.68488,  30.737  ,  30.20034,  30.13288,
 
77
           31.62192,  30.13293,  25.84322,  27.91135,  28.12311,  27.30813,
 
78
           27.01853,  24.69093,  24.94734,  23.21836,  20.37644,  20.92257,
 
79
           17.85377,  20.91217,  19.36837,  20.86528,  17.38101,  14.14065,
 
80
           15.49992,  14.33989,  17.43602,  15.89444,  14.88863,  15.37154,
 
81
           15.57648,  18.73803,  17.66276,  19.14902,  19.51857,  21.56308,
 
82
           22.21288,  23.47894,  25.86362,  25.36028,  26.33286,  29.98075,
 
83
           29.33639,  31.30981,  33.73965,  33.6759 ,  34.04663,  35.63369,
 
84
           38.24726,  36.06871,  40.78921,  41.34813,  43.00012,  42.36618,
 
85
           40.24461,  42.30763,  40.55066,  44.09355],
 
86
        [  7.30016,   9.50864,   6.86568,   0.     ,   7.99096,   7.60197,
 
87
           10.10639,   9.22165,   8.8801 ,   9.49238,  13.66406,  12.57744,
 
88
           13.13858,  15.46775,  17.73952,  16.56614,  18.40617,  19.64056,
 
89
           21.45177,  22.03097,  21.88416,  22.61383,  24.92398,  25.28642,
 
90
           29.08492,  27.8259 ,  29.18638,  29.3961 ,  30.42798,  31.81182,
 
91
           33.20848,  33.36339,  34.03547,  33.03364,  35.82444,  34.7116 ,
 
92
           35.8487 ,  33.89059,  36.02136,  35.60052,  36.08047,  33.37669,
 
93
           33.34017,  33.79942,  32.42774,  31.97527,  31.72587,  31.85386,
 
94
           33.66607,  32.0357 ,  26.92882,  29.3656 ,  29.6113 ,  28.77098,
 
95
           27.98344,  25.49869,  26.08835,  24.3511 ,  21.22304,  21.25266,
 
96
           18.87943,  21.25316,  19.09945,  20.88305,  16.98734,  14.43121,
 
97
           14.87293,  12.60412,  16.25858,  14.52592,  14.10743,  13.84321,
 
98
           13.02127,  16.58691,  15.13994,  17.45726,  18.68005,  20.17601,
 
99
           21.41715,  23.0355 ,  25.07801,  24.73817,  26.67714,  29.31584,
 
100
           29.02044,  31.28387,  33.55744,  33.39091,  34.49413,  36.29427,
 
101
           39.09789,  36.46602,  41.84873,  41.95262,  44.21519,  43.15904,
 
102
           41.86844,  43.70448,  41.85398,  45.9426 ],
 
103
        [  9.1998 ,   4.67066,   9.13056,   7.99096,   0.     ,   8.10903,
 
104
           8.12191,   6.68991,   6.01745,   8.81851,  12.76517,  13.05449,
 
105
           13.25358,  16.08166,  16.85701,  14.96082,  18.58137,  18.78881,
 
106
           21.03104,  21.37792,  20.97864,  22.24007,  23.27987,  23.47925,
 
107
           27.51623,  27.08492,  27.63842,  28.49791,  28.08892,  29.94971,
 
108
           31.60411,  32.35099,  31.64065,  30.7586 ,  33.58783,  32.51966,
 
109
           33.71852,  31.59205,  34.09468,  34.22325,  34.16007,  32.3283 ,
 
110
           31.89116,  32.43132,  30.52192,  31.02961,  30.1106 ,  31.0687 ,
 
111
           31.53677,  30.2114 ,  25.7518 ,  27.6139 ,  28.20037,  27.20175,
 
112
           27.57982,  25.10337,  25.22312,  22.84998,  20.28434,  20.93006,
 
113
           18.50018,  19.27925,  17.75401,  20.49716,  16.24356,  13.95706,
 
114
           14.68697,  14.86848,  14.61363,  14.13096,  14.51717,  15.68778,
 
115
           14.51018,  17.43174,  16.76305,  18.13449,  19.68793,  19.75357,
 
116
           21.78947,  23.32496,  24.54554,  24.18059,  26.19812,  29.52194,
 
117
           28.20267,  30.01717,  33.36934,  32.26088,  33.40864,  34.83176,
 
118
           38.18059,  35.81903,  40.65885,  41.40321,  43.17206,  41.53149,
 
119
           40.71829,  42.49124,  40.79031,  44.66045],
 
120
        [  7.52661,   8.73786,   6.40397,   7.60197,   8.10903,   0.     ,
 
121
           6.16569,   7.32563,   7.75387,   7.69682,  10.69552,   9.88725,
 
122
           11.3961 ,  14.00163,  16.23874,  15.6289 ,  16.73334,  17.44048,
 
123
           19.99725,  19.9533 ,  20.46002,  19.84823,  22.72976,  23.22363,
 
124
           27.33355,  26.83688,  27.09796,  28.27618,  28.3494 ,  29.75656,
 
125
           31.77772,  32.50386,  32.5482 ,  31.99727,  34.67355,  33.19062,
 
126
           34.46902,  33.13995,  35.80184,  35.25591,  35.33808,  33.38177,
 
127
           33.04059,  33.91149,  32.75336,  32.5993 ,  32.43664,  32.23116,
 
128
           33.38874,  32.62237,  28.36209,  30.55605,  30.3347 ,  29.56765,
 
129
           29.58556,  27.53405,  26.86667,  25.00712,  21.74171,  23.02809,
 
130
           19.62897,  22.0497 ,  20.71073,  20.89719,  18.9401 ,  14.67542,
 
131
           15.87359,  14.84921,  15.9765 ,  14.6316 ,  13.43337,  14.09887,
 
132
           13.393  ,  15.35339,  15.15473,  15.57783,  16.38066,  18.12999,
 
133
           19.33544,  20.47957,  22.53012,  23.41117,  23.94749,  27.14785,
 
134
           27.12172,  29.01223,  32.1432 ,  31.53822,  31.97442,  34.20046,
 
135
           36.96213,  35.11644,  39.86917,  40.59916,  42.25278,  42.35218,
 
136
           40.45489,  42.53407,  40.64863,  44.57547],
 
137
        [ 10.1122 ,  10.65396,   9.71158,  10.10639,   8.12191,   6.16569,
 
138
          0.     ,   8.95464,   7.95483,   6.96854,  10.2321 ,   9.1072 ,
 
139
          11.40191,  13.88653,  16.49484,  12.77356,  14.76539,  17.37815,
 
140
          19.05223,  19.09134,  19.48543,  19.25793,  20.07018,  21.44923,
 
141
          26.16354,  24.71872,  25.7368 ,  26.60446,  26.8787 ,  27.97926,
 
142
          30.01728,  31.59176,  31.2204 ,  30.74726,  33.36662,  32.19782,
 
143
          33.24557,  32.26498,  35.20755,  35.27066,  34.3224 ,  33.45572,
 
144
          33.21501,  33.77282,  32.98931,  33.29691,  32.48639,  32.89237,
 
145
          33.31269,  33.17576,  29.06571,  31.25932,  31.50259,  31.19405,
 
146
          31.33608,  28.94501,  28.98748,  26.83509,  23.67883,  25.4293 ,
 
147
          22.19619,  23.92894,  22.48331,  23.70778,  20.61034,  16.80414,
 
148
          17.54135,  17.64634,  18.13698,  16.73796,  15.0992 ,  16.73965,
 
149
          15.39915,  15.3146 ,  16.21818,  15.90665,  16.80116,  17.15962,
 
150
          18.1004 ,  20.22697,  21.04317,  22.01882,  23.10616,  25.70386,
 
151
          25.33855,  26.90823,  30.27089,  29.34631,  29.92087,  31.66778,
 
152
          35.17056,  33.31352,  37.56416,  39.27059,  40.62456,  40.2062 ,
 
153
          39.40489,  41.81369,  39.33236,  43.20546],
 
154
        [ 11.71544,   7.07033,   8.69917,   9.22165,   6.68991,   7.32563,
 
155
          8.95464,   0.     ,   3.7505 ,   6.85568,   7.69523,   9.7299 ,
 
156
          8.8292 ,  12.08808,  12.84075,  12.41397,  15.7665 ,  13.80821,
 
157
          17.10528,  17.0151 ,  18.03523,  18.49492,  21.4005 ,  20.91953,
 
158
          24.56468,  24.98275,  25.20224,  26.47583,  26.01966,  28.37676,
 
159
          30.43507,  31.12544,  31.08021,  29.96861,  33.06401,  32.57304,
 
160
          33.997  ,  32.11079,  34.68809,  34.12659,  35.42161,  33.62916,
 
161
          33.16394,  34.14988,  31.96731,  33.13473,  32.68089,  33.34788,
 
162
          34.37908,  32.97516,  29.38917,  31.30679,  31.86587,  30.67301,
 
163
          31.14565,  29.06828,  29.04268,  27.11562,  24.63125,  25.08637,
 
164
          22.31814,  23.71491,  22.41495,  23.87865,  20.79483,  17.13811,
 
165
          18.05839,  16.67094,  16.67337,  15.59013,  15.29917,  14.46026,
 
166
          14.31921,  16.68845,  14.41634,  16.10611,  16.76691,  16.68857,
 
167
          18.02822,  19.23566,  20.91886,  19.93191,  21.22647,  25.60087,
 
168
          24.01222,  26.23519,  29.55426,  29.01695,  29.67471,  31.85062,
 
169
          34.7836 ,  32.77038,  38.06911,  38.63774,  40.78472,  39.75408,
 
170
          38.43139,  40.51321,  39.43324,  43.19846],
 
171
        [ 11.72171,   7.65245,   8.75907,   8.8801 ,   6.01745,   7.75387,
 
172
          7.95483,   3.7505 ,   0.     ,   6.25554,   7.94184,   9.40809,
 
173
          9.37058,  12.64537,  13.25671,  11.69312,  15.73247,  14.29708,
 
174
          17.17558,  17.07269,  18.18613,  18.66698,  20.99351,  20.83302,
 
175
          24.42795,  24.65435,  25.16361,  26.40833,  26.00333,  28.48816,
 
176
          30.39505,  31.12778,  31.04052,  30.02038,  33.06101,  32.51077,
 
177
          33.91746,  32.16109,  34.72522,  34.26106,  35.29431,  33.7662 ,
 
178
          33.40285,  34.11146,  32.13639,  33.33042,  32.66608,  33.38514,
 
179
          34.29769,  32.89254,  29.26526,  31.06269,  32.01605,  30.75263,
 
180
          31.17672,  28.89607,  29.20958,  27.32181,  24.53975,  25.21252,
 
181
          22.16274,  23.60181,  22.19147,  23.8951 ,  20.57865,  17.20223,
 
182
          17.67657,  16.61788,  17.05001,  15.68349,  15.30447,  14.95815,
 
183
          14.4235 ,  16.70277,  14.6234 ,  16.24885,  16.87216,  16.49137,
 
184
          17.85663,  19.18505,  20.91421,  19.70914,  21.64589,  25.6927 ,
 
185
          24.18448,  26.08005,  29.35354,  29.00965,  29.70327,  31.74665,
 
186
          34.68077,  32.64932,  37.91062,  38.78521,  40.83826,  39.61926,
 
187
          38.5705 ,  40.69567,  39.56802,  43.04025],
 
188
        [ 12.23729,  11.7303 ,   9.94964,   9.49238,   8.81851,   7.69682,
 
189
          6.96854,   6.85568,   6.25554,   0.     ,   7.3016 ,   8.07212,
 
190
          8.2089 ,   9.98656,  12.42781,  10.62705,  12.28722,  13.48977,
 
191
          16.04661,  16.19534,  16.3577 ,  17.32154,  19.0178 ,  20.5046 ,
 
192
          23.95953,  23.43756,  24.50878,  25.26128,  25.60517,  28.0269 ,
 
193
          30.02525,  31.11886,  31.15891,  30.49865,  33.86459,  33.37975,
 
194
          34.65544,  33.14589,  36.03802,  35.51766,  36.24468,  35.04257,
 
195
          34.67094,  35.65553,  34.59658,  34.79422,  34.36677,  35.45895,
 
196
          36.3779 ,  35.3327 ,  31.54706,  33.65312,  34.74652,  33.95725,
 
197
          33.40518,  31.44167,  31.93944,  30.05815,  26.96615,  27.64338,
 
198
          24.84473,  26.74278,  24.89471,  26.39705,  22.80323,  19.30856,
 
199
          19.43576,  18.22819,  18.64491,  17.05169,  14.82973,  15.51568,
 
200
          14.01205,  14.33961,  13.3435 ,  14.52817,  14.70497,  14.77414,
 
201
          15.56051,  16.74031,  18.93591,  17.75143,  19.27456,  22.94456,
 
202
          21.91537,  23.84675,  27.42168,  26.76934,  27.66108,  29.75946,
 
203
          33.0935 ,  30.98471,  36.65424,  37.30058,  39.65202,  39.12975,
 
204
          38.02632,  40.69416,  39.21815,  43.02089],
 
205
        [ 16.55706,  13.97535,  12.60852,  13.66406,  12.76517,  10.69552,
 
206
          10.2321 ,   7.69523,   7.94184,   7.3016 ,   0.     ,   6.34024,
 
207
          6.29442,   9.31874,  10.60831,   9.48152,  11.679  ,   9.86008,
 
208
          12.78319,  12.47705,  15.20036,  14.79868,  18.06249,  17.95878,
 
209
          21.80304,  21.94482,  22.94088,  24.29869,  24.32754,  26.55776,
 
210
          29.0597 ,  30.47032,  31.03937,  29.92437,  33.13454,  33.19895,
 
211
          34.69406,  33.79095,  36.57048,  36.01451,  37.16413,  36.42303,
 
212
          36.18591,  37.09342,  35.61312,  37.27428,  36.78719,  37.18274,
 
213
          38.417  ,  37.62287,  34.72634,  36.87088,  37.5226 ,  36.63014,
 
214
          37.07125,  35.13839,  35.36933,  33.57977,  30.77296,  31.75893,
 
215
          28.54674,  30.22502,  28.99081,  29.49656,  27.01958,  22.64011,
 
216
          23.11653,  21.4745 ,  21.88627,  19.79573,  18.19257,  16.9958 ,
 
217
          16.94848,  16.33478,  14.10467,  14.58976,  14.07395,  12.99207,
 
218
          12.74353,  13.92433,  15.69868,  14.25548,  15.27649,  19.74988,
 
219
          18.25877,  20.80091,  23.91183,  24.08524,  24.27307,  27.16596,
 
220
          30.02343,  28.55089,  33.83448,  35.47091,  37.51809,  37.42083,
 
221
          36.17692,  39.05643,  38.09928,  41.43184],
 
222
        [ 15.07764,  14.44678,  10.83371,  12.57744,  13.05449,   9.88725,
 
223
          9.1072 ,   9.7299 ,   9.40809,   8.07212,   6.34024,   0.     ,
 
224
          6.9511 ,   8.1817 ,  12.01962,   9.83166,  10.03616,  10.82597,
 
225
          12.22157,  12.42638,  14.81562,  13.24075,  15.91179,  16.17176,
 
226
          20.81994,  19.82228,  21.65753,  22.19242,  23.10866,  24.91478,
 
227
          26.51025,  27.84524,  28.94428,  28.23706,  31.0608 ,  30.49635,
 
228
          31.58452,  31.13131,  34.00834,  33.61703,  34.00148,  33.33828,
 
229
          33.20841,  33.84176,  33.36215,  34.29352,  34.00194,  34.24137,
 
230
          35.53305,  35.23732,  32.32311,  34.68689,  34.89579,  34.4585 ,
 
231
          34.33839,  33.07445,  33.23999,  31.99141,  28.83607,  30.27728,
 
232
          27.08538,  29.42086,  28.13654,  28.78396,  26.43445,  22.12388,
 
233
          23.17097,  21.90119,  23.31711,  21.43302,  19.21266,  18.09438,
 
234
          18.37291,  17.67573,  16.69031,  16.42476,  15.74665,  15.65608,
 
235
          14.72969,  16.18704,  17.54084,  16.84414,  17.82539,  20.46911,
 
236
          20.57828,  21.7296 ,  24.02904,  24.20871,  24.33682,  26.71437,
 
237
          29.08875,  27.8246 ,  32.39523,  33.86684,  35.84499,  36.03478,
 
238
          34.76023,  37.39742,  35.57779,  39.06011],
 
239
        [ 17.41182,  14.4366 ,  13.24922,  13.13858,  13.25358,  11.3961 ,
 
240
          11.40191,   8.8292 ,   9.37058,   8.2089 ,   6.29442,   6.9511 ,
 
241
          0.     ,   5.80269,   7.34823,   7.61967,   8.88048,   8.03171,
 
242
          10.84203,  11.15163,  12.21275,  12.34706,  16.11929,  16.0975 ,
 
243
          19.45663,  20.33958,  21.24043,  22.37157,  22.50594,  24.89152,
 
244
          26.47231,  28.19409,  29.03612,  28.11855,  31.78424,  31.68759,
 
245
          33.16023,  32.00993,  35.12134,  34.61314,  36.07251,  35.37259,
 
246
          34.85009,  36.19004,  34.77939,  36.03767,  35.84771,  37.05029,
 
247
          38.33912,  37.71305,  34.34605,  36.90215,  37.11372,  36.56462,
 
248
          36.48557,  35.26936,  35.32999,  33.72941,  31.33676,  32.09544,
 
249
          29.33582,  31.07569,  29.78355,  30.69899,  27.88792,  23.6909 ,
 
250
          24.95077,  22.44497,  22.73515,  21.53386,  19.39791,  17.15086,
 
251
          17.26961,  16.50911,  14.97885,  14.84698,  14.0348 ,  13.16584,
 
252
          12.28025,  14.13143,  14.59832,  13.82806,  14.44424,  17.8433 ,
 
253
          16.98162,  19.04357,  22.24141,  22.05366,  22.98183,  25.33998,
 
254
          28.35413,  26.6982 ,  32.11611,  32.88203,  35.32819,  35.61998,
 
255
          34.74136,  37.0847 ,  36.06984,  40.03816],
 
256
        [ 19.23286,  17.67632,  15.56278,  15.46775,  16.08166,  14.00163,
 
257
          13.88653,  12.08808,  12.64537,   9.98656,   9.31874,   8.1817 ,
 
258
          5.80269,   0.     ,   7.38877,   8.41906,   6.8504 ,   7.29774,
 
259
          9.2088 ,  10.31162,   9.70575,  10.45564,  13.73927,  14.84133,
 
260
          17.61261,  18.12427,  19.27123,  19.82935,  20.31297,  23.84286,
 
261
          24.56468,  25.91998,  27.59428,  26.89288,  30.55842,  30.76624,
 
262
          32.23747,  30.8686 ,  34.10976,  33.50914,  35.42056,  34.64547,
 
263
          34.19767,  35.53408,  35.0925 ,  35.58014,  35.82126,  37.49003,
 
264
          38.6495 ,  38.10808,  35.42106,  37.82413,  38.53678,  38.03388,
 
265
          37.13566,  36.62481,  36.8622 ,  35.93997,  33.1206 ,  33.81829,
 
266
          31.46152,  33.72103,  32.12859,  33.34453,  30.4796 ,  26.68134,
 
267
          27.47971,  25.54979,  25.74229,  24.75989,  22.16485,  20.06477,
 
268
          20.06272,  19.02226,  17.40359,  17.54345,  16.56831,  15.07742,
 
269
          13.83543,  14.50581,  15.50799,  13.55086,  13.77702,  16.34443,
 
270
          16.4955 ,  17.40327,  20.09447,  19.53993,  20.64083,  23.14301,
 
271
          25.73473,  23.91935,  30.1514 ,  29.62866,  33.12758,  33.46496,
 
272
          32.47884,  35.00942,  33.91675,  38.06303],
 
273
        [ 22.03428,  17.78924,  18.00935,  17.73952,  16.85701,  16.23874,
 
274
          16.49484,  12.84075,  13.25671,  12.42781,  10.60831,  12.01962,
 
275
          7.34823,   7.38877,   0.     ,   9.98466,  10.45042,   7.01399,
 
276
          9.5126 ,  10.22698,   8.29332,  10.75866,  15.09764,  14.55   ,
 
277
          16.07545,  19.17678,  18.69286,  20.74564,  19.36248,  23.2144 ,
 
278
          24.62428,  26.05861,  27.01352,  25.91131,  30.18725,  30.6706 ,
 
279
          32.78994,  31.0901 ,  34.2731 ,  33.85408,  36.35145,  35.76726,
 
280
          35.06246,  36.69763,  35.34281,  36.84744,  36.8362 ,  38.82735,
 
281
          39.99487,  39.19622,  36.6623 ,  39.10442,  39.88191,  38.95773,
 
282
          38.89602,  38.43435,  38.31651,  37.10258,  34.93565,  35.54241,
 
283
          33.22748,  34.83971,  33.64244,  34.72378,  32.11209,  28.69735,
 
284
          29.37637,  27.27617,  26.28932,  25.69016,  23.88593,  21.52732,
 
285
          21.55272,  20.82185,  18.79088,  18.59526,  17.84671,  15.16618,
 
286
          14.82818,  14.49505,  15.15638,  12.82821,  12.71296,  15.97897,
 
287
          14.73869,  16.7043 ,  19.42872,  18.50832,  20.11721,  22.55747,
 
288
          25.22857,  23.0396 ,  29.71055,  29.41731,  32.39176,  32.91178,
 
289
          31.62541,  33.79263,  34.18837,  37.85652],
 
290
        [ 20.37969,  17.34483,  17.28358,  16.56614,  14.96082,  15.6289 ,
 
291
          12.77356,  12.41397,  11.69312,  10.62705,   9.48152,   9.83166,
 
292
          7.61967,   8.41906,   9.98466,   0.     ,   7.63615,   9.92392,
 
293
          10.04376,  10.49189,  11.12076,  12.59852,  12.42193,  13.54166,
 
294
          17.25956,  16.80266,  18.81578,  19.22611,  19.70099,  22.40398,
 
295
          23.49591,  25.94766,  26.54727,  25.58126,  29.12877,  29.7836 ,
 
296
          31.07416,  29.98562,  33.17048,  33.35028,  34.18506,  34.59722,
 
297
          34.20947,  35.18721,  34.12158,  35.88742,  35.13336,  37.20982,
 
298
          37.74652,  37.47408,  34.70021,  37.06721,  38.15456,  37.88232,
 
299
          37.77484,  36.36806,  37.32521,  35.80232,  33.52616,  34.40962,
 
300
          32.12772,  33.40582,  31.97045,  34.19075,  30.2786 ,  26.83978,
 
301
          27.6592 ,  26.30551,  26.20587,  25.12388,  23.22648,  22.09752,
 
302
          21.38396,  19.8089 ,  18.83186,  18.86371,  18.34015,  15.42575,
 
303
          14.24007,  16.84456,  15.52977,  13.17945,  15.12571,  17.63489,
 
304
          15.48099,  16.55105,  19.58731,  18.96449,  20.24747,  21.6386 ,
 
305
          25.58849,  23.63285,  28.70622,  30.21742,  32.68447,  31.55284,
 
306
          32.34425,  35.03969,  33.47656,  37.35049],
 
307
        [ 21.79021,  20.92378,  18.64376,  18.40617,  18.58137,  16.73334,
 
308
          14.76539,  15.7665 ,  15.73247,  12.28722,  11.679  ,  10.03616,
 
309
          8.88048,   6.8504 ,  10.45042,   7.63615,   0.     ,  10.17132,
 
310
          8.68748,   9.45034,   8.94115,   9.44003,   9.64568,  12.4589 ,
 
311
          15.94741,  14.65608,  17.17587,  17.02335,  18.67632,  20.67866,
 
312
          21.7796 ,  24.38931,  25.59948,  25.17219,  28.8489 ,  29.1434 ,
 
313
          30.36341,  29.95065,  33.33854,  33.29967,  33.88558,  34.48264,
 
314
          34.10065,  35.42542,  35.45233,  36.19829,  36.03964,  37.86692,
 
315
          38.88208,  39.07201,  36.40368,  39.23049,  39.92573,  40.05261,
 
316
          39.20976,  38.61636,  39.27939,  38.1003 ,  35.6578 ,  36.74788,
 
317
          34.53888,  36.56434,  35.07799,  36.59537,  33.28937,  29.56233,
 
318
          30.64956,  29.02811,  29.40351,  28.14274,  25.25644,  24.3272 ,
 
319
          23.56296,  20.85461,  20.80185,  19.89348,  18.69289,  17.03854,
 
320
          14.62848,  16.26612,  15.56155,  13.83998,  13.72169,  14.82471,
 
321
          14.34678,  15.01213,  17.11687,  16.34701,  17.47794,  19.00668,
 
322
          22.61177,  20.87814,  25.97138,  27.04819,  29.54295,  30.34684,
 
323
          30.10012,  33.17501,  31.31277,  35.47796],
 
324
        [ 23.31804,  19.64563,  18.74751,  19.64056,  18.78881,  17.44048,
 
325
          17.37815,  13.80821,  14.29708,  13.48977,   9.86008,  10.82597,
 
326
          8.03171,   7.29774,   7.01399,   9.92392,  10.17132,   0.     ,
 
327
          6.48226,   6.68   ,   9.57466,   9.48408,  13.97397,  13.15679,
 
328
          15.03983,  17.80094,  18.12113,  19.85319,  18.97979,  23.36183,
 
329
          24.33233,  25.80959,  27.19217,  26.53318,  30.11932,  30.64921,
 
330
          32.34859,  31.49555,  34.6749 ,  33.71667,  36.43731,  36.39199,
 
331
          35.67965,  37.13664,  35.96695,  37.67898,  37.95828,  39.3333 ,
 
332
          40.59642,  39.92405,  37.99061,  40.17349,  40.90994,  39.98119,
 
333
          39.92003,  39.6808 ,  39.62528,  38.71391,  36.21198,  37.08048,
 
334
          34.29651,  36.10593,  34.99984,  35.8496 ,  33.74472,  29.52144,
 
335
          30.75883,  28.63502,  28.32294,  27.26777,  25.1948 ,  22.50728,
 
336
          23.05361,  22.12662,  19.74132,  19.63274,  17.89876,  15.79792,
 
337
          14.13342,  14.08034,  14.92898,  11.06895,  11.02782,  15.65033,
 
338
          14.30857,  14.46629,  17.74227,  17.97385,  18.06633,  21.34884,
 
339
          22.96009,  22.50932,  28.30391,  28.4628 ,  31.64773,  32.1907 ,
 
340
          31.04573,  33.47638,  33.5043 ,  36.83706],
 
341
        [ 25.27884,  22.37953,  21.30424,  21.45177,  21.03104,  19.99725,
 
342
          19.05223,  17.10528,  17.17558,  16.04661,  12.78319,  12.22157,
 
343
          10.84203,   9.2088 ,   9.5126 ,  10.04376,   8.68748,   6.48226,
 
344
          0.     ,   5.22655,   6.84299,   8.01445,  10.22964,   9.35169,
 
345
          12.50172,  13.03384,  15.11671,  16.15319,  16.32212,  20.01859,
 
346
          20.19876,  22.03234,  24.49275,  23.76956,  26.89441,  27.73295,
 
347
          29.57591,  29.31235,  32.28865,  31.99324,  33.95671,  34.64837,
 
348
          34.25079,  35.22869,  34.85416,  36.69074,  37.04425,  38.1781 ,
 
349
          39.77615,  39.60791,  38.021  ,  40.62842,  41.3098 ,  40.72945,
 
350
          40.56478,  40.68159,  40.97394,  40.4026 ,  37.91905,  39.08311,
 
351
          36.66186,  38.48701,  37.36496,  38.4644 ,  36.32379,  32.42384,
 
352
          33.65172,  31.82761,  32.1881 ,  30.80285,  28.93245,  26.4393 ,
 
353
          26.65776,  25.03495,  23.12291,  22.70202,  21.31299,  18.64901,
 
354
          16.46835,  16.81846,  16.44223,  12.42447,  12.98025,  14.62265,
 
355
          13.85173,  13.32047,  13.81794,  14.45423,  14.59398,  17.7774 ,
 
356
          18.83897,  18.33698,  23.71274,  24.45456,  27.512  ,  27.97503,
 
357
          27.44909,  29.9473 ,  29.47687,  32.87905],
 
358
        [ 25.33384,  22.50652,  20.79329,  22.03097,  21.37792,  19.9533 ,
 
359
          19.09134,  17.0151 ,  17.07269,  16.19534,  12.47705,  12.42638,
 
360
          11.15163,  10.31162,  10.22698,  10.49189,   9.45034,   6.68   ,
 
361
          5.22655,   0.     ,   9.1845 ,   6.24097,  10.68858,   8.9892 ,
 
362
          10.75227,  12.5549 ,  13.42965,  14.83639,  15.19843,  18.37361,
 
363
          20.11514,  21.80086,  23.21553,  22.42534,  25.94406,  26.90792,
 
364
          28.49847,  28.38986,  31.34822,  30.44753,  32.95536,  33.76841,
 
365
          33.23805,  34.76968,  33.79277,  36.13666,  36.16784,  37.57777,
 
366
          39.01639,  38.73035,  37.37737,  39.86314,  40.9369 ,  40.37831,
 
367
          40.3905 ,  40.18733,  40.75477,  40.04084,  38.03854,  39.0819 ,
 
368
          36.62329,  38.68787,  37.66226,  39.09107,  36.48663,  32.61225,
 
369
          34.05121,  32.23   ,  32.67538,  31.35308,  29.36674,  27.44256,
 
370
          27.60226,  26.2458 ,  24.4287 ,  24.17496,  22.32386,  20.26882,
 
371
          17.63621,  18.1981 ,  18.06242,  13.71252,  12.60611,  16.39878,
 
372
          13.84417,  13.90252,  14.58239,  15.61773,  14.72379,  17.00739,
 
373
          18.61744,  17.9266 ,  22.92496,  24.15302,  26.40181,  27.03924,
 
374
          25.82034,  28.7832 ,  28.60458,  31.58328],
 
375
        [ 25.51721,  22.59182,  22.52019,  21.88416,  20.97864,  20.46002,
 
376
          19.48543,  18.03523,  18.18613,  16.3577 ,  15.20036,  14.81562,
 
377
          12.21275,   9.70575,   8.29332,  11.12076,   8.94115,   9.57466,
 
378
          6.84299,   9.1845 ,   0.     ,   8.42136,   9.37678,  10.39484,
 
379
          12.03637,  13.28049,  13.52418,  15.33503,  14.2314 ,  18.60678,
 
380
          18.65654,  20.52313,  22.48976,  21.9616 ,  25.69566,  26.5576 ,
 
381
          28.88904,  27.73913,  31.08385,  31.06195,  33.13063,  33.66469,
 
382
          33.0211 ,  34.43139,  34.32978,  35.45315,  35.945  ,  38.07486,
 
383
          39.28353,  39.22602,  37.42741,  40.16763,  41.16595,  40.59288,
 
384
          40.07303,  40.5409 ,  40.65161,  40.1262 ,  37.85329,  38.93651,
 
385
          37.02688,  38.83153,  37.52198,  39.07799,  36.60449,  33.43265,
 
386
          34.30145,  32.81646,  32.20425,  31.53711,  29.60455,  27.68888,
 
387
          27.2861 ,  25.60395,  24.28611,  23.68602,  22.83922,  19.6321 ,
 
388
          18.43043,  18.32631,  17.7009 ,  14.75941,  14.24738,  14.81143,
 
389
          14.39659,  14.09233,  14.84183,  13.11227,  14.67681,  17.10835,
 
390
          19.10648,  17.05555,  23.72982,  22.93954,  26.36839,  26.99544,
 
391
          26.43948,  28.60162,  28.39343,  32.42605],
 
392
        [ 25.23346,  23.16428,  21.17382,  22.61383,  22.24007,  19.84823,
 
393
          19.25793,  18.49492,  18.66698,  17.32154,  14.79868,  13.24075,
 
394
          12.34706,  10.45564,  10.75866,  12.59852,   9.44003,   9.48408,
 
395
          8.01445,   6.24097,   8.42136,   0.     ,   9.19567,   8.28483,
 
396
          9.68535,  11.98782,  11.05565,  13.27899,  12.97288,  15.95134,
 
397
          17.47779,  19.26536,  20.81256,  20.47412,  24.07951,  24.48853,
 
398
          26.31214,  26.12805,  29.5516 ,  28.71938,  30.9913 ,  31.6734 ,
 
399
          31.05312,  32.90775,  32.68055,  34.31807,  34.6565 ,  36.33305,
 
400
          37.55324,  37.84719,  36.54117,  39.18647,  39.96285,  39.6461 ,
 
401
          39.38249,  39.77171,  39.84257,  39.44919,  37.48819,  38.87541,
 
402
          36.52095,  39.03388,  38.04894,  39.2854 ,  37.05129,  33.33446,
 
403
          34.86519,  33.37436,  33.51843,  32.6792 ,  30.40374,  28.64096,
 
404
          28.81112,  27.30426,  26.30338,  25.2772 ,  23.65439,  21.82505,
 
405
          19.44844,  19.69742,  19.3097 ,  17.16471,  14.47088,  16.52024,
 
406
          15.93936,  15.41702,  15.60782,  15.3568 ,  14.63636,  16.4597 ,
 
407
          17.9459 ,  16.78672,  21.70309,  21.98327,  24.07691,  26.11801,
 
408
          24.12467,  26.69992,  26.15777,  29.63547],
 
409
        [ 27.13757,  25.36422,  24.35227,  24.92398,  23.27987,  22.72976,
 
410
          20.07018,  21.4005 ,  20.99351,  19.0178 ,  18.06249,  15.91179,
 
411
          16.11929,  13.73927,  15.09764,  12.42193,   9.64568,  13.97397,
 
412
          10.22964,  10.68858,   9.37678,   9.19567,   0.     ,   6.87271,
 
413
          10.56088,   8.63342,  11.01072,  10.93865,  11.45914,  14.5144 ,
 
414
          14.09155,  17.70246,  18.65296,  19.02075,  22.11715,  22.68976,
 
415
          23.99425,  24.33084,  28.06753,  28.67934,  28.75474,  31.08502,
 
416
          30.53155,  31.69899,  32.62122,  33.92971,  33.80767,  36.2285 ,
 
417
          36.50334,  37.53278,  36.5014 ,  39.07491,  40.15724,  40.40674,
 
418
          39.85148,  40.40163,  40.9679 ,  40.5153 ,  38.42327,  40.1212 ,
 
419
          38.22838,  40.08247,  38.99665,  41.12947,  38.17204,  34.9892 ,
 
420
          36.38785,  35.95878,  35.6227 ,  34.90092,  32.5457 ,  31.91806,
 
421
          31.28384,  28.86779,  28.98518,  27.6702 ,  26.58669,  23.92989,
 
422
          21.86083,  22.75265,  21.11808,  18.7693 ,  18.18955,  18.2176 ,
 
423
          17.45544,  15.00264,  15.51133,  13.46033,  13.79958,  13.68436,
 
424
          16.58338,  15.70851,  18.99807,  20.56008,  22.44251,  22.97965,
 
425
          23.45606,  26.30876,  24.09575,  27.8713 ],
 
426
        [ 27.77099,  24.53657,  24.04257,  25.28642,  23.47925,  23.22363,
 
427
          21.44923,  20.91953,  20.83302,  20.5046 ,  17.95878,  16.17176,
 
428
          16.0975 ,  14.84133,  14.55   ,  13.54166,  12.4589 ,  13.15679,
 
429
          9.35169,   8.9892 ,  10.39484,   8.28483,   6.87271,   0.     ,
 
430
          7.72073,   8.27576,   9.50557,  10.31176,   9.92433,  12.30625,
 
431
          12.50632,  15.65258,  16.85322,  16.28059,  19.40831,  20.28063,
 
432
          21.80124,  22.2785 ,  25.59015,  26.20645,  27.03954,  29.20724,
 
433
          28.64062,  29.85524,  29.8061 ,  32.57415,  32.29469,  34.31277,
 
434
          34.99807,  35.82   ,  35.31492,  37.94267,  38.60944,  38.67121,
 
435
          38.95962,  39.63135,  39.99892,  39.64319,  38.13686,  39.73796,
 
436
          37.88513,  39.57072,  38.9161 ,  40.94059,  38.2891 ,  35.07866,
 
437
          36.89862,  36.20281,  36.05376,  35.34433,  33.67934,  32.25061,
 
438
          32.36628,  30.7808 ,  30.11484,  29.01616,  27.92706,  25.32419,
 
439
          23.29639,  24.12436,  22.42396,  19.7537 ,  19.01006,  19.94131,
 
440
          18.33339,  16.81857,  15.99741,  15.0617 ,  14.77595,  14.59106,
 
441
          16.3054 ,  15.56181,  17.98122,  20.15022,  21.20001,  21.39029,
 
442
          21.13788,  23.4717 ,  22.23873,  25.49112],
 
443
        [ 31.89744,  28.53754,  27.79547,  29.08492,  27.51623,  27.33355,
 
444
          26.16354,  24.56468,  24.42795,  23.95953,  21.80304,  20.81994,
 
445
          19.45663,  17.61261,  16.07545,  17.25956,  15.94741,  15.03983,
 
446
          12.50172,  10.75227,  12.03637,   9.68535,  10.56088,   7.72073,
 
447
          0.     ,   9.87641,   7.6598 ,   9.49731,   7.49547,  12.71031,
 
448
          13.12007,  15.09318,  15.76199,  15.39935,  19.70394,  21.41588,
 
449
          23.13548,  22.85749,  26.18616,  25.68635,  28.9516 ,  30.93716,
 
450
          30.0345 ,  32.15204,  31.65812,  34.38793,  34.38638,  37.50663,
 
451
          38.17473,  38.39304,  38.36668,  40.71544,  42.31539,  42.04724,
 
452
          41.86037,  42.90939,  43.56974,  43.4618 ,  42.34263,  43.41177,
 
453
          41.79768,  43.79152,  42.99372,  45.43309,  42.39361,  39.51926,
 
454
          41.2064 ,  40.11474,  39.74911,  39.34168,  37.45432,  35.8801 ,
 
455
          35.90349,  34.72309,  33.54021,  32.87432,  31.3026 ,  28.63784,
 
456
          26.36769,  26.4844 ,  25.34082,  21.25983,  19.4387 ,  21.35453,
 
457
          18.66931,  16.58331,  15.29044,  14.5311 ,  14.07159,  12.69685,
 
458
          13.75561,  12.45704,  16.48731,  16.18279,  18.19724,  18.82112,
 
459
          17.69826,  20.07196,  20.9814 ,  23.64271],
 
460
        [ 30.12906,  28.8102 ,  27.14583,  27.8259 ,  27.08492,  26.83688,
 
461
          24.71872,  24.98275,  24.65435,  23.43756,  21.94482,  19.82228,
 
462
          20.33958,  18.12427,  19.17678,  16.80266,  14.65608,  17.80094,
 
463
          13.03384,  12.5549 ,  13.28049,  11.98782,   8.63342,   8.27576,
 
464
          9.87641,   0.     ,   7.98874,   5.38369,   9.95786,  10.82054,
 
465
          11.0462 ,  12.89802,  15.44491,  14.85573,  17.38129,  19.47045,
 
466
          20.77089,  21.32264,  24.07172,  24.28534,  25.596  ,  27.93375,
 
467
          27.86256,  28.87872,  29.7082 ,  31.88982,  31.87346,  34.12199,
 
468
          35.33819,  36.0731 ,  35.88703,  38.71968,  40.48097,  40.65492,
 
469
          40.04445,  40.78432,  42.24041,  42.36186,  40.86445,  42.22587,
 
470
          40.89454,  43.17864,  41.97252,  44.85097,  41.45324,  38.91288,
 
471
          40.27944,  39.6453 ,  40.59724,  39.49418,  37.70761,  36.65188,
 
472
          36.33936,  34.78051,  33.80123,  33.49258,  32.35566,  29.75799,
 
473
          27.30116,  28.38011,  27.09472,  23.18208,  22.41711,  22.75371,
 
474
          20.88887,  19.50611,  15.96133,  15.86852,  14.98222,  13.66391,
 
475
          14.86599,  12.41707,  15.52539,  16.68747,  18.30724,  16.95519,
 
476
          17.37892,  20.49274,  18.30611,  21.75684],
 
477
        [ 30.853  ,  28.67001,  27.9384 ,  29.18638,  27.63842,  27.09796,
 
478
          25.7368 ,  25.20224,  25.16361,  24.50878,  22.94088,  21.65753,
 
479
          21.24043,  19.27123,  18.69286,  18.81578,  17.17587,  18.12113,
 
480
          15.11671,  13.42965,  13.52418,  11.05565,  11.01072,   9.50557,
 
481
          7.6598 ,   7.98874,   0.     ,   6.64528,   4.59801,   8.21652,
 
482
          10.31466,  11.16178,  12.08679,  11.83932,  15.09664,  17.18703,
 
483
          19.54388,  19.20711,  22.42597,  21.78585,  24.86467,  26.82595,
 
484
          26.17402,  28.22608,  28.33647,  30.77347,  31.09911,  33.82732,
 
485
          34.63993,  35.32224,  35.64687,  38.19558,  40.17273,  39.9043 ,
 
486
          39.71271,  40.82968,  41.59044,  41.89523,  40.82556,  42.24267,
 
487
          40.88634,  43.2909 ,  42.33337,  45.05862,  42.17539,  39.71804,
 
488
          41.17056,  40.67256,  40.65653,  40.19097,  38.65435,  37.60561,
 
489
          37.35235,  36.34129,  35.23204,  34.77337,  33.6225 ,  30.92734,
 
490
          29.00015,  29.40958,  28.36382,  25.0391 ,  22.59333,  24.07796,
 
491
          21.93502,  20.62995,  18.16191,  17.02272,  15.54819,  14.56199,
 
492
          15.3057 ,  12.64367,  16.45475,  15.71403,  16.86429,  16.85299,
 
493
          15.00269,  17.43522,  17.0517 ,  20.42138],
 
494
        [ 31.25053,  29.99149,  28.31876,  29.3961 ,  28.49791,  28.27618,
 
495
          26.60446,  26.47583,  26.40833,  25.26128,  24.29869,  22.19242,
 
496
          22.37157,  19.82935,  20.74564,  19.22611,  17.02335,  19.85319,
 
497
          16.15319,  14.83639,  15.33503,  13.27899,  10.93865,  10.31176,
 
498
          9.49731,   5.38369,   6.64528,   0.     ,   7.92917,   9.13679,
 
499
          9.53346,  10.47996,  12.16654,  11.7129 ,  15.01867,  17.3945 ,
 
500
          18.42663,  18.36001,  21.25014,  21.14056,  23.39958,  25.64935,
 
501
          25.29954,  27.11021,  27.88541,  29.88329,  29.87818,  33.15122,
 
502
          33.91166,  34.60562,  34.9862 ,  37.6223 ,  39.74094,  40.05704,
 
503
          39.15768,  40.26411,  41.81453,  42.1735 ,  41.17397,  42.24356,
 
504
          41.4135 ,  43.87194,  42.72225,  46.08496,  42.30557,  40.15065,
 
505
          41.69059,  41.24556,  41.85591,  41.23647,  39.41798,  38.64347,
 
506
          38.26693,  37.14527,  36.28322,  36.14132,  34.9677 ,  32.65462,
 
507
          30.32245,  31.15585,  30.05495,  26.14201,  24.6254 ,  25.64368,
 
508
          23.38049,  21.94394,  18.90934,  18.07516,  17.34202,  14.70928,
 
509
          16.17006,  13.04202,  15.86513,  15.06125,  16.67207,  15.02326,
 
510
          14.43571,  17.62774,  15.52057,  19.39125],
 
511
        [ 32.01368,  29.0992 ,  29.19352,  30.42798,  28.08892,  28.3494 ,
 
512
          26.8787 ,  26.01966,  26.00333,  25.60517,  24.32754,  23.10866,
 
513
          22.50594,  20.31297,  19.36248,  19.70099,  18.67632,  18.97979,
 
514
          16.32212,  15.19843,  14.2314 ,  12.97288,  11.45914,   9.92433,
 
515
          7.49547,   9.95786,   4.59801,   7.92917,   0.     ,   9.46759,
 
516
          9.53989,  10.77149,  10.67123,  10.77957,  14.38107,  16.55356,
 
517
          18.86377,  17.93757,  21.53923,  21.5    ,  24.50229,  26.72856,
 
518
          25.8231 ,  27.87236,  28.08681,  30.54159,  30.74741,  34.21383,
 
519
          34.31615,  35.0456 ,  35.81848,  38.00399,  40.05607,  39.79457,
 
520
          39.61693,  41.10429,  41.69482,  42.04974,  41.08039,  42.4485 ,
 
521
          41.31527,  43.35611,  42.53551,  45.50379,  42.54538,  40.30517,
 
522
          41.79641,  41.68827,  40.95449,  40.88777,  39.44077,  38.47113,
 
523
          38.21591,  37.33843,  36.35944,  35.80693,  34.8564 ,  31.85679,
 
524
          30.32951,  30.47848,  29.27892,  25.8884 ,  23.90214,  25.36182,
 
525
          23.14462,  21.09032,  19.56871,  17.40934,  16.72036,  15.08113,
 
526
          16.01239,  13.78221,  17.09382,  15.61569,  17.24015,  16.33925,
 
527
          15.18723,  17.0286 ,  16.96968,  20.31666],
 
528
        [ 32.92915,  30.78134,  30.31387,  31.81182,  29.94971,  29.75656,
 
529
          27.97926,  28.37676,  28.48816,  28.0269 ,  26.55776,  24.91478,
 
530
          24.89152,  23.84286,  23.2144 ,  22.40398,  20.67866,  23.36183,
 
531
          20.01859,  18.37361,  18.60678,  15.95134,  14.5144 ,  12.30625,
 
532
          12.71031,  10.82054,   8.21652,   9.13679,   9.46759,   0.     ,
 
533
          8.89237,  11.56402,   9.66796,   8.7428 ,  11.95979,  14.08575,
 
534
          15.80045,  16.65181,  19.74296,  20.61442,  21.15351,  24.45494,
 
535
          23.9113 ,  26.09147,  26.17295,  29.57049,  28.96665,  31.93696,
 
536
          32.42409,  34.06939,  34.49619,  37.51745,  38.87821,  39.44799,
 
537
          39.80638,  40.83166,  41.71964,  41.67128,  41.61213,  43.2428 ,
 
538
          42.36568,  44.39476,  43.77865,  46.84558,  43.53456,  41.47749,
 
539
          43.3667 ,  43.24129,  43.27906,  42.89426,  41.53307,  41.05796,
 
540
          40.77052,  39.41463,  39.1773 ,  38.1895 ,  37.36602,  34.97812,
 
541
          33.00745,  34.10653,  32.18818,  29.92886,  27.45379,  28.27133,
 
542
          25.75202,  25.34647,  22.44188,  20.82485,  19.82573,  16.70077,
 
543
          18.83691,  15.85836,  15.60841,  17.8028 ,  15.28365,  15.19425,
 
544
          13.84108,  16.11862,  13.96013,  17.63429],
 
545
        [ 34.80687,  32.60362,  32.49497,  33.20848,  31.60411,  31.77772,
 
546
          30.01728,  30.43507,  30.39505,  30.02525,  29.0597 ,  26.51025,
 
547
          26.47231,  24.56468,  24.62428,  23.49591,  21.7796 ,  24.33233,
 
548
          20.19876,  20.11514,  18.65654,  17.47779,  14.09155,  12.50632,
 
549
          13.12007,  11.0462 ,  10.31466,   9.53346,   9.53989,   8.89237,
 
550
          0.     ,   7.18087,   9.42639,  10.38858,  11.58877,  12.91252,
 
551
          14.59769,  15.59285,  18.95488,  20.67684,  20.8958 ,  24.70048,
 
552
          24.0165 ,  25.43853,  26.95084,  29.21772,  29.55268,  32.62558,
 
553
          32.93689,  34.88785,  35.60229,  38.44528,  39.2932 ,  39.98048,
 
554
          39.73092,  41.86321,  42.40135,  43.0919 ,  42.45519,  44.1862 ,
 
555
          43.47623,  45.37599,  44.76722,  47.773  ,  44.99764,  42.85482,
 
556
          45.0001 ,  44.84355,  44.80852,  44.71783,  43.31817,  42.17357,
 
557
          42.00564,  40.73932,  40.54667,  39.4803 ,  38.72058,  36.16405,
 
558
          34.29426,  35.27955,  33.02234,  30.89456,  29.48465,  28.8475 ,
 
559
          27.86781,  25.48297,  22.56247,  20.68579,  20.34994,  17.57016,
 
560
          17.81885,  16.39775,  15.34486,  15.15469,  14.83316,  14.19401,
 
561
          15.20368,  15.44059,  11.80224,  16.78251],
 
562
        [ 34.67094,  33.06432,  32.53298,  33.36339,  32.35099,  32.50386,
 
563
          31.59176,  31.12544,  31.12778,  31.11886,  30.47032,  27.84524,
 
564
          28.19409,  25.91998,  26.05861,  25.94766,  24.38931,  25.80959,
 
565
          22.03234,  21.80086,  20.52313,  19.26536,  17.70246,  15.65258,
 
566
          15.09318,  12.89802,  11.16178,  10.47996,  10.77149,  11.56402,
 
567
          7.18087,   0.     ,   8.74195,   9.19296,   8.9676 ,  10.89087,
 
568
          13.36331,  12.96807,  15.25494,  15.85912,  18.74728,  20.99385,
 
569
          20.58536,  21.90675,  23.7641 ,  25.59202,  26.79648,  29.58366,
 
570
          30.67949,  31.89102,  33.4665 ,  36.09133,  37.70993,  37.82863,
 
571
          37.1605 ,  39.86674,  40.65224,  42.17263,  41.48734,  42.91311,
 
572
          42.56542,  45.03955,  44.26307,  47.54766,  44.95504,  43.36693,
 
573
          45.22628,  45.15693,  45.74134,  45.58144,  44.57787,  43.24457,
 
574
          43.23535,  43.03554,  41.97252,  41.7482 ,  41.05749,  38.72517,
 
575
          37.14338,  37.61494,  36.50124,  33.46255,  32.11582,  32.19497,
 
576
          31.24603,  29.25163,  25.58682,  24.49213,  23.73966,  21.92186,
 
577
          20.66609,  18.42641,  19.3634 ,  16.24486,  17.24548,  15.15315,
 
578
          13.59916,  12.73676,  10.23459,  14.84621],
 
579
        [ 34.61157,  32.35053,  32.54342,  34.03547,  31.64065,  32.5482 ,
 
580
          31.2204 ,  31.08021,  31.04052,  31.15891,  31.03937,  28.94428,
 
581
          29.03612,  27.59428,  27.01352,  26.54727,  25.59948,  27.19217,
 
582
          24.49275,  23.21553,  22.48976,  20.81256,  18.65296,  16.85322,
 
583
          15.76199,  15.44491,  12.08679,  12.16654,  10.67123,   9.66796,
 
584
          9.42639,   8.74195,   0.     ,   4.97625,   7.39172,   8.51026,
 
585
          10.14648,   9.50175,  13.1454 ,  14.11243,  15.8578 ,  19.62747,
 
586
          18.29823,  20.97263,  21.55663,  24.21139,  24.16038,  28.57247,
 
587
          28.2877 ,  29.74339,  31.3773 ,  33.75635,  35.79133,  36.21335,
 
588
          36.02599,  38.43108,  39.29054,  40.11502,  40.44974,  41.86014,
 
589
          41.7082 ,  43.69002,  43.19493,  47.14492,  43.81483,  42.6301 ,
 
590
          44.81877,  45.24839,  44.99179,  45.27901,  44.24326,  44.00885,
 
591
          43.62399,  43.42716,  43.097  ,  42.57723,  41.90128,  39.82617,
 
592
          38.47462,  39.17248,  37.86386,  34.99443,  33.29005,  34.59372,
 
593
          32.25062,  30.55199,  28.63669,  26.61145,  26.02174,  22.74625,
 
594
          23.58481,  21.28107,  21.00584,  19.89187,  18.45627,  16.11799,
 
595
          14.52011,  14.22711,  12.12231,  15.73701],
 
596
        [ 33.95445,  31.31204,  31.6677 ,  33.03364,  30.7586 ,  31.99727,
 
597
          30.74726,  29.96861,  30.02038,  30.49865,  29.92437,  28.23706,
 
598
          28.11855,  26.89288,  25.91131,  25.58126,  25.17219,  26.53318,
 
599
          23.76956,  22.42534,  21.9616 ,  20.47412,  19.02075,  16.28059,
 
600
          15.39935,  14.85573,  11.83932,  11.7129 ,  10.77957,   8.7428 ,
 
601
          10.38858,   9.19296,   4.97625,   0.     ,   6.72148,  10.12496,
 
602
          12.00924,  10.13169,  12.83076,  14.2167 ,  16.72792,  19.37301,
 
603
          18.59613,  21.00058,  20.66568,  24.48285,  23.84352,  28.26891,
 
604
          28.32281,  29.3094 ,  30.90888,  33.39326,  35.6437 ,  35.93431,
 
605
          36.08269,  37.85734,  39.11931,  39.73362,  40.26473,  41.36942,
 
606
          41.39021,  43.28881,  42.72848,  46.85017,  43.10439,  42.13604,
 
607
          43.99537,  44.34038,  44.26734,  44.39004,  43.65807,  43.18833,
 
608
          42.95227,  42.93121,  42.14583,  41.96176,  41.49189,  39.07646,
 
609
          37.79461,  38.59134,  37.2521 ,  34.09993,  32.53784,  33.99566,
 
610
          31.15287,  30.43379,  27.85509,  26.08889,  25.78955,  22.49509,
 
611
          23.83891,  20.37192,  20.98593,  20.20119,  18.99761,  15.27863,
 
612
          13.7462 ,  13.92431,  12.80535,  16.20137],
 
613
        [ 36.09099,  33.96212,  34.4333 ,  35.82444,  33.58783,  34.67355,
 
614
          33.36662,  33.06401,  33.06101,  33.86459,  33.13454,  31.0608 ,
 
615
          31.78424,  30.55842,  30.18725,  29.12877,  28.8489 ,  30.11932,
 
616
          26.89441,  25.94406,  25.69566,  24.07951,  22.11715,  19.40831,
 
617
          19.70394,  17.38129,  15.09664,  15.01867,  14.38107,  11.95979,
 
618
          11.58877,   8.9676 ,   7.39172,   6.72148,   0.     ,   6.43367,
 
619
          8.98397,   8.67729,  10.0527 ,  12.31282,  13.61151,  17.29523,
 
620
          16.952  ,  18.20422,  19.0518 ,  23.06074,  23.05218,  26.13901,
 
621
          26.38234,  28.09777,  30.76486,  33.11761,  35.1361 ,  35.41829,
 
622
          35.86916,  38.17342,  39.25199,  40.55388,  40.93513,  42.5099 ,
 
623
          42.56349,  44.52465,  44.12784,  48.09543,  45.13455,  44.19635,
 
624
          46.17291,  46.91914,  47.23808,  47.21417,  46.86937,  46.30617,
 
625
          46.18952,  46.3353 ,  45.46555,  45.29483,  44.96068,  42.56432,
 
626
          41.36339,  42.23577,  40.86225,  37.9703 ,  36.62617,  37.63698,
 
627
          35.45185,  34.21791,  31.08457,  29.69294,  28.68309,  26.09517,
 
628
          26.05857,  23.59887,  22.7285 ,  22.24654,  20.53253,  16.26812,
 
629
          15.10008,  13.99427,  10.96839,  13.95765],
 
630
        [ 34.39821,  32.70361,  33.06171,  34.7116 ,  32.51966,  33.19062,
 
631
          32.19782,  32.57304,  32.51077,  33.37975,  33.19895,  30.49635,
 
632
          31.68759,  30.76624,  30.6706 ,  29.7836 ,  29.1434 ,  30.64921,
 
633
          27.73295,  26.90792,  26.5576 ,  24.48853,  22.68976,  20.28063,
 
634
          21.41588,  19.47045,  17.18703,  17.3945 ,  16.55356,  14.08575,
 
635
          12.91252,  10.89087,   8.51026,  10.12496,   6.43367,   0.     ,
 
636
          5.13455,   7.19981,   9.26742,  11.82888,  10.17125,  14.78769,
 
637
          13.87506,  15.22203,  17.04526,  19.97496,  20.45104,  22.81966,
 
638
          22.94849,  25.40346,  27.90575,  30.36558,  31.45698,  32.01961,
 
639
          32.50931,  35.50764,  35.83888,  37.37873,  37.77828,  39.79016,
 
640
          39.73051,  41.74234,  41.66611,  45.21051,  42.9827 ,  41.96344,
 
641
          44.45906,  45.37185,  45.70899,  45.86452,  45.49593,  45.23056,
 
642
          45.08133,  45.40294,  45.13354,  44.55667,  44.24469,  42.6187 ,
 
643
          41.59934,  42.40437,  41.24915,  39.18714,  37.89513,  38.80147,
 
644
          37.34563,  35.75256,  33.50089,  31.99846,  30.98915,  28.78806,
 
645
          28.57053,  27.01304,  25.56683,  25.4267 ,  23.23683,  21.19257,
 
646
          19.15064,  17.6646 ,  13.95903,  16.88417],
 
647
        [ 35.29278,  34.0075 ,  33.8104 ,  35.8487 ,  33.71852,  34.46902,
 
648
          33.24557,  33.997  ,  33.91746,  34.65544,  34.69406,  31.58452,
 
649
          33.16023,  32.23747,  32.78994,  31.07416,  30.36341,  32.34859,
 
650
          29.57591,  28.49847,  28.88904,  26.31214,  23.99425,  21.80124,
 
651
          23.13548,  20.77089,  19.54388,  18.42663,  18.86377,  15.80045,
 
652
          14.59769,  13.36331,  10.14648,  12.00924,   8.98397,   5.13455,
 
653
          0.     ,   7.16407,   9.04734,  11.89485,   7.77198,  14.16043,
 
654
          13.10023,  14.59801,  16.76365,  19.57846,  19.38376,  22.39702,
 
655
          21.86462,  24.72382,  27.4199 ,  29.752  ,  30.72862,  31.93212,
 
656
          32.14663,  35.16599,  35.88763,  37.34873,  38.05632,  39.9811 ,
 
657
          40.13104,  42.11747,  42.08783,  46.05367,  43.28691,  42.38342,
 
658
          45.19904,  46.24403,  46.80226,  47.00371,  46.37995,  46.44777,
 
659
          46.32251,  46.58154,  46.66496,  46.07288,  45.61367,  44.385  ,
 
660
          43.10472,  44.24015,  42.9754 ,  40.85532,  39.73088,  40.79164,
 
661
          39.14055,  37.3534 ,  35.4027 ,  33.98145,  32.97956,  30.08218,
 
662
          30.29887,  29.00976,  26.63001,  27.03646,  24.48703,  22.05865,
 
663
          20.62081,  19.57784,  14.73243,  17.36648],
 
664
        [ 33.43954,  31.79899,  32.32825,  33.89059,  31.59205,  33.13995,
 
665
          32.26498,  32.11079,  32.16109,  33.14589,  33.79095,  31.13131,
 
666
          32.00993,  30.8686 ,  31.0901 ,  29.98562,  29.95065,  31.49555,
 
667
          29.31235,  28.38986,  27.73913,  26.12805,  24.33084,  22.2785 ,
 
668
          22.85749,  21.32264,  19.20711,  18.36001,  17.93757,  16.65181,
 
669
          15.59285,  12.96807,   9.50175,  10.13169,   8.67729,   7.19981,
 
670
          7.16407,   0.     ,   5.29396,   8.67893,   9.00802,  11.50156,
 
671
          10.13767,  12.58519,  13.75226,  16.33162,  16.16096,  21.27586,
 
672
          20.36335,  22.08521,  24.78172,  26.80699,  28.87533,  29.58085,
 
673
          29.35632,  32.37612,  33.42273,  35.02844,  35.98014,  37.25958,
 
674
          38.02517,  40.01821,  39.69333,  44.39596,  40.98925,  40.81211,
 
675
          43.15676,  44.3192 ,  44.52264,  45.11777,  44.80329,  44.7664 ,
 
676
          44.57585,  45.54288,  45.13382,  45.13769,  45.036  ,  43.45157,
 
677
          42.69738,  43.68518,  42.70208,  40.23943,  39.23902,  40.71097,
 
678
          38.75821,  37.46691,  35.83383,  33.96711,  33.65132,  30.88072,
 
679
          31.70992,  29.12309,  28.97938,  27.45576,  26.55069,  22.69609,
 
680
          21.31464,  19.94906,  16.52504,  20.00963],
 
681
        [ 35.50327,  34.1394 ,  34.54666,  36.02136,  34.09468,  35.80184,
 
682
          35.20755,  34.68809,  34.72522,  36.03802,  36.57048,  34.00834,
 
683
          35.12134,  34.10976,  34.2731 ,  33.17048,  33.33854,  34.6749 ,
 
684
          32.28865,  31.34822,  31.08385,  29.5516 ,  28.06753,  25.59015,
 
685
          26.18616,  24.07172,  22.42597,  21.25014,  21.53923,  19.74296,
 
686
          18.95488,  15.25494,  13.1454 ,  12.83076,  10.0527 ,   9.26742,
 
687
          9.04734,   5.29396,   0.     ,   7.02491,   7.91346,   9.49832,
 
688
          8.97779,  10.53213,  11.64105,  15.08541,  14.93272,  19.4389 ,
 
689
          19.22241,  20.51852,  24.28367,  26.21266,  28.62454,  29.21067,
 
690
          29.13434,  32.23565,  33.74681,  35.77881,  37.02082,  38.04921,
 
691
          39.25933,  41.2876 ,  41.02127,  45.92867,  42.53998,  42.80247,
 
692
          45.02922,  46.2601 ,  46.99824,  47.39798,  47.50405,  47.43771,
 
693
          47.28364,  48.66654,  47.8922 ,  48.31191,  48.29145,  46.78708,
 
694
          46.0658 ,  47.00178,  46.27576,  43.40774,  42.66151,  44.23342,
 
695
          42.09818,  41.14137,  38.8066 ,  37.42541,  36.96229,  34.28354,
 
696
          34.64723,  31.85059,  31.58249,  30.04064,  28.92462,  24.27898,
 
697
          22.53438,  20.85881,  17.8264 ,  20.38759],
 
698
        [ 34.96861,  34.08447,  33.66703,  35.60052,  34.22325,  35.25591,
 
699
          35.27066,  34.12659,  34.26106,  35.51766,  36.01451,  33.61703,
 
700
          34.61314,  33.50914,  33.85408,  33.35028,  33.29967,  33.71667,
 
701
          31.99324,  30.44753,  31.06195,  28.71938,  28.67934,  26.20645,
 
702
          25.68635,  24.28534,  21.78585,  21.14056,  21.5    ,  20.61442,
 
703
          20.67684,  15.85912,  14.11243,  14.2167 ,  12.31282,  11.82888,
 
704
          11.89485,   8.67893,   7.02491,   0.     ,  11.6549 ,  10.73557,
 
705
          9.71187,  12.80952,  12.4755 ,  15.06586,  16.27814,  20.16314,
 
706
          21.00477,  21.04933,  24.7121 ,  26.38835,  29.5294 ,  29.42525,
 
707
          28.82948,  32.05309,  33.66472,  36.01266,  37.14096,  37.87527,
 
708
          38.78613,  41.51105,  41.02762,  45.8564 ,  42.62709,  42.66475,
 
709
          44.95803,  45.70734,  46.90492,  47.20804,  47.14969,  46.86   ,
 
710
          46.8637 ,  48.70376,  47.41032,  48.23058,  47.81376,  46.72845,
 
711
          45.78045,  46.55168,  46.44799,  43.06789,  41.80521,  44.2389 ,
 
712
          41.92408,  40.96925,  38.73615,  37.92498,  36.83463,  34.6773 ,
 
713
          34.46336,  31.84197,  32.48614,  29.86623,  29.37943,  25.34313,
 
714
          22.18623,  20.58748,  18.68724,  20.88898],
 
715
        [ 34.61776,  34.40636,  34.21985,  36.08047,  34.16007,  35.33808,
 
716
          34.3224 ,  35.42161,  35.29431,  36.24468,  37.16413,  34.00148,
 
717
          36.07251,  35.42056,  36.35145,  34.18506,  33.88558,  36.43731,
 
718
          33.95671,  32.95536,  33.13063,  30.9913 ,  28.75474,  27.03954,
 
719
          28.9516 ,  25.596  ,  24.86467,  23.39958,  24.50229,  21.15351,
 
720
          20.8958 ,  18.74728,  15.8578 ,  16.72792,  13.61151,  10.17125,
 
721
          7.77198,   9.00802,   7.91346,  11.6549 ,   0.     ,   8.82796,
 
722
          8.51924,   8.99769,  12.41161,  14.38248,  13.54233,  16.59245,
 
723
          15.72496,  18.98626,  22.36856,  24.60879,  26.09397,  27.63374,
 
724
          27.67937,  30.67328,  31.99623,  33.83917,  35.09395,  36.84287,
 
725
          37.83474,  39.87093,  39.81846,  44.45979,  41.3634 ,  41.50962,
 
726
          44.11761,  45.79608,  46.84759,  47.06841,  46.96281,  47.70312,
 
727
          47.32522,  48.293  ,  48.42568,  48.33951,  48.32094,  47.48303,
 
728
          46.66074,  47.9282 ,  47.12264,  45.05578,  44.3409 ,  45.66062,
 
729
          43.92436,  42.83903,  40.98259,  39.58649,  38.84249,  36.13211,
 
730
          36.84814,  34.73249,  33.17741,  33.3556 ,  31.06652,  27.70613,
 
731
          26.09503,  25.22437,  20.37247,  22.75393],
 
732
        [ 31.52205,  32.09843,  31.60984,  33.37669,  32.3283 ,  33.38177,
 
733
          33.45572,  33.62916,  33.7662 ,  35.04257,  36.42303,  33.33828,
 
734
          35.37259,  34.64547,  35.76726,  34.59722,  34.48264,  36.39199,
 
735
          34.64837,  33.76841,  33.66469,  31.6734 ,  31.08502,  29.20724,
 
736
          30.93716,  27.93375,  26.82595,  25.64935,  26.72856,  24.45494,
 
737
          24.70048,  20.99385,  19.62747,  19.37301,  17.29523,  14.78769,
 
738
          14.16043,  11.50156,   9.49832,  10.73557,   8.82796,   0.     ,
 
739
          3.87115,   4.46637,   8.17529,   8.09024,   8.56917,  11.67969,
 
740
          12.43841,  13.85593,  17.57202,  19.71272,  21.99594,  22.85153,
 
741
          22.16445,  25.45666,  27.04794,  29.67531,  31.04348,  32.13853,
 
742
          33.7628 ,  36.48198,  36.14058,  41.01457,  37.91637,  38.79497,
 
743
          40.96397,  42.64609,  44.26794,  44.55381,  44.89301,  45.34457,
 
744
          45.22525,  47.30472,  46.71893,  47.3816 ,  47.69802,  47.15203,
 
745
          46.77432,  47.78838,  47.81124,  45.64705,  44.93698,  46.70672,
 
746
          45.20662,  44.90814,  43.03585,  41.8455 ,  41.35057,  39.45815,
 
747
          40.11168,  37.08534,  37.64673,  36.20666,  35.37051,  31.85248,
 
748
          29.10527,  28.10747,  24.43796,  27.26505],
 
749
        [ 31.5479 ,  31.55098,  31.44096,  33.34017,  31.89116,  33.04059,
 
750
          33.21501,  33.16394,  33.40285,  34.67094,  36.18591,  33.20841,
 
751
          34.85009,  34.19767,  35.06246,  34.20947,  34.10065,  35.67965,
 
752
          34.25079,  33.23805,  33.0211 ,  31.05312,  30.53155,  28.64062,
 
753
          30.0345 ,  27.86256,  26.17402,  25.29954,  25.8231 ,  23.9113 ,
 
754
          24.0165 ,  20.58536,  18.29823,  18.59613,  16.952  ,  13.87506,
 
755
          13.10023,  10.13767,   8.97779,   9.71187,   8.51924,   3.87115,
 
756
          0.     ,   6.12594,   7.96356,   7.57526,   8.45868,  12.97798,
 
757
          12.90918,  14.31407,  17.64249,  19.73502,  21.71174,  22.56943,
 
758
          21.94117,  25.69766,  26.75678,  29.24043,  30.87281,  31.9451 ,
 
759
          33.52238,  36.04839,  35.83875,  40.75469,  37.69173,  38.4327 ,
 
760
          40.95094,  42.4804 ,  43.60742,  44.22534,  44.42682,  44.91905,
 
761
          44.77389,  46.85295,  46.45624,  46.96242,  47.13319,  46.71132,
 
762
          46.36086,  47.34189,  47.27088,  45.18382,  44.30438,  46.30564,
 
763
          44.68842,  44.1482 ,  42.80237,  41.36941,  40.89437,  38.88697,
 
764
          39.62182,  36.88549,  37.35607,  35.71787,  34.81861,  31.64177,
 
765
          28.85684,  27.61326,  24.23459,  27.25467],
 
766
        [ 31.86234,  32.21933,  32.23245,  33.79942,  32.43132,  33.91149,
 
767
          33.77282,  34.14988,  34.11146,  35.65553,  37.09342,  33.84176,
 
768
          36.19004,  35.53408,  36.69763,  35.18721,  35.42542,  37.13664,
 
769
          35.22869,  34.76968,  34.43139,  32.90775,  31.69899,  29.85524,
 
770
          32.15204,  28.87872,  28.22608,  27.11021,  27.87236,  26.09147,
 
771
          25.43853,  21.90675,  20.97263,  21.00058,  18.20422,  15.22203,
 
772
          14.59801,  12.58519,  10.53213,  12.80952,   8.99769,   4.46637,
 
773
          6.12594,   0.     ,   8.44401,   7.97982,   8.83251,  10.38464,
 
774
          10.82867,  12.8995 ,  17.10962,  18.97275,  20.8149 ,  21.56576,
 
775
          21.19765,  24.98392,  26.22855,  29.18584,  30.1669 ,  31.64604,
 
776
          33.19261,  35.58516,  35.3853 ,  40.18287,  37.57579,  38.53515,
 
777
          40.71094,  42.71524,  44.28372,  44.57255,  45.13821,  45.55069,
 
778
          45.47875,  47.62256,  47.08008,  47.68002,  48.15121,  47.49823,
 
779
          47.35146,  48.3686 ,  48.33511,  46.28713,  46.10429,  47.57535,
 
780
          46.38933,  45.72293,  43.99917,  42.7842 ,  42.32976,  40.70953,
 
781
          41.06713,  38.47232,  38.78739,  37.64475,  36.9269 ,  33.11543,
 
782
          30.98764,  29.72708,  25.83973,  28.4507 ],
 
783
        [ 30.85453,  29.68935,  30.68488,  32.42774,  30.52192,  32.75336,
 
784
          32.98931,  31.96731,  32.13639,  34.59658,  35.61312,  33.36215,
 
785
          34.77939,  35.0925 ,  35.34281,  34.12158,  35.45233,  35.96695,
 
786
          34.85416,  33.79277,  34.32978,  32.68055,  32.62122,  29.8061 ,
 
787
          31.65812,  29.7082 ,  28.33647,  27.88541,  28.08681,  26.17295,
 
788
          26.95084,  23.7641 ,  21.55663,  20.66568,  19.0518 ,  17.04526,
 
789
          16.76365,  13.75226,  11.64105,  12.4755 ,  12.41161,   8.17529,
 
790
          7.96356,   8.44401,   0.     ,   9.43444,   8.12104,  10.99449,
 
791
          11.78021,  11.37028,  14.90543,  16.80241,  19.058  ,  19.18607,
 
792
          20.42547,  22.96086,  24.54862,  26.69301,  29.07142,  29.81017,
 
793
          31.49645,  33.32921,  33.38918,  38.71385,  35.4746 ,  36.61224,
 
794
          39.11164,  40.61639,  42.02245,  42.49394,  43.59005,  43.80397,
 
795
          43.89376,  46.64783,  45.65345,  46.63616,  47.08335,  46.48834,
 
796
          46.45531,  47.75785,  47.61879,  45.29908,  45.03967,  47.61192,
 
797
          45.31081,  45.41523,  44.16385,  43.17606,  42.72795,  41.05225,
 
798
          42.00461,  39.14698,  39.86511,  39.12616,  38.19473,  33.86518,
 
799
          31.76617,  30.50207,  27.94986,  30.43803],
 
800
        [ 29.69611,  30.64989,  30.737  ,  31.97527,  31.02961,  32.5993 ,
 
801
          33.29691,  33.13473,  33.33042,  34.79422,  37.27428,  34.29352,
 
802
          36.03767,  35.58014,  36.84744,  35.88742,  36.19829,  37.67898,
 
803
          36.69074,  36.13666,  35.45315,  34.31807,  33.92971,  32.57415,
 
804
          34.38793,  31.88982,  30.77347,  29.88329,  30.54159,  29.57049,
 
805
          29.21772,  25.59202,  24.21139,  24.48285,  23.06074,  19.97496,
 
806
          19.57846,  16.33162,  15.08541,  15.06586,  14.38248,   8.09024,
 
807
          7.57526,   7.97982,   9.43444,   0.     ,   6.60121,   9.85696,
 
808
          10.89332,  10.39258,  12.86851,  14.75476,  17.21257,  17.61602,
 
809
          15.71376,  20.40996,  21.66767,  25.03361,  26.60748,  27.25091,
 
810
          29.58843,  32.22904,  31.80973,  37.16025,  34.28055,  35.884  ,
 
811
          38.25288,  39.99024,  41.63577,  42.34816,  43.03802,  43.69836,
 
812
          43.42436,  46.41609,  45.84523,  46.92581,  47.45754,  47.51112,
 
813
          47.68894,  48.68155,  49.1594 ,  47.14392,  46.92675,  49.05016,
 
814
          47.7489 ,  47.3948 ,  46.55753,  45.24034,  45.04445,  43.71142,
 
815
          44.46337,  41.62923,  43.11111,  40.95347,  40.97874,  37.50522,
 
816
          35.00647,  33.76313,  30.48797,  33.78487],
 
817
        [ 29.41756,  29.84656,  30.20034,  31.72587,  30.1106 ,  32.43664,
 
818
          32.48639,  32.68089,  32.66608,  34.36677,  36.78719,  34.00194,
 
819
          35.84771,  35.82126,  36.8362 ,  35.13336,  36.03964,  37.95828,
 
820
          37.04425,  36.16784,  35.945  ,  34.6565 ,  33.80767,  32.29469,
 
821
          34.38638,  31.87346,  31.09911,  29.87818,  30.74741,  28.96665,
 
822
          29.55268,  26.79648,  24.16038,  23.84352,  23.05218,  20.45104,
 
823
          19.38376,  16.16096,  14.93272,  16.27814,  13.54233,   8.56917,
 
824
          8.45868,   8.83251,   8.12104,   6.60121,   0.     ,  10.17757,
 
825
          8.53509,   8.32038,  10.85168,  12.70132,  15.99258,  17.25635,
 
826
          16.51621,  19.26168,  21.60589,  23.78436,  26.22532,  26.73652,
 
827
          29.27758,  31.33041,  31.04823,  37.12763,  32.98749,  35.06947,
 
828
          37.28719,  39.461  ,  40.85783,  41.59448,  42.32162,  43.57751,
 
829
          43.1737 ,  45.94993,  45.7186 ,  46.70514,  47.35142,  47.22145,
 
830
          47.41203,  48.74309,  48.88315,  46.89426,  46.8966 ,  49.20629,
 
831
          47.28112,  47.34997,  46.70348,  45.24956,  45.31637,  43.29447,
 
832
          44.9994 ,  41.76229,  42.8692 ,  41.88106,  41.23793,  37.14262,
 
833
          35.24283,  34.57233,  31.19456,  34.11927],
 
834
        [ 28.83014,  30.31266,  30.13288,  31.85386,  31.0687 ,  32.23116,
 
835
          32.89237,  33.34788,  33.38514,  35.45895,  37.18274,  34.24137,
 
836
          37.05029,  37.49003,  38.82735,  37.20982,  37.86692,  39.3333 ,
 
837
          38.1781 ,  37.57777,  38.07486,  36.33305,  36.2285 ,  34.31277,
 
838
          37.50663,  34.12199,  33.82732,  33.15122,  34.21383,  31.93696,
 
839
          32.62558,  29.58366,  28.57247,  28.26891,  26.13901,  22.81966,
 
840
          22.39702,  21.27586,  19.4389 ,  20.16314,  16.59245,  11.67969,
 
841
          12.97798,  10.38464,  10.99449,   9.85696,  10.17757,   0.     ,
 
842
          7.83858,   8.41089,  11.19326,  13.48331,  14.05563,  14.64482,
 
843
          15.51254,  18.33828,  19.49451,  22.64066,  24.21162,  25.72832,
 
844
          27.49107,  29.94017,  30.09775,  34.51412,  32.6424 ,  34.1041 ,
 
845
          36.48373,  38.65803,  41.22222,  41.17685,  42.52243,  43.43884,
 
846
          43.36506,  46.36946,  45.84661,  46.8006 ,  47.56391,  47.96634,
 
847
          48.21386,  49.40067,  49.99774,  48.4731 ,  48.58388,  50.70632,
 
848
          49.48718,  49.72993,  48.60454,  47.90274,  47.29044,  46.48555,
 
849
          47.1459 ,  44.6641 ,  45.39504,  45.2002 ,  44.23507,  41.08682,
 
850
          38.38866,  37.70556,  34.12645,  36.59337],
 
851
        [ 30.11403,  30.95073,  31.62192,  33.66607,  31.53677,  33.38874,
 
852
          33.31269,  34.37908,  34.29769,  36.3779 ,  38.417  ,  35.53305,
 
853
          38.33912,  38.6495 ,  39.99487,  37.74652,  38.88208,  40.59642,
 
854
          39.77615,  39.01639,  39.28353,  37.55324,  36.50334,  34.99807,
 
855
          38.17473,  35.33819,  34.63993,  33.91166,  34.31615,  32.42409,
 
856
          32.93689,  30.67949,  28.2877 ,  28.32281,  26.38234,  22.94849,
 
857
          21.86462,  20.36335,  19.22241,  21.00477,  15.72496,  12.43841,
 
858
          12.90918,  10.82867,  11.78021,  10.89332,   8.53509,   7.83858,
 
859
          0.     ,   6.82238,  11.4934 ,  11.88195,  13.2132 ,  14.82213,
 
860
          16.05954,  18.55392,  19.55994,  22.19041,  24.20944,  25.95339,
 
861
          27.98701,  29.72961,  30.14266,  35.2683 ,  32.68231,  34.49442,
 
862
          36.84283,  39.96906,  41.25252,  41.86267,  43.03579,  44.67317,
 
863
          44.36291,  47.1119 ,  47.23168,  47.84897,  48.73064,  48.82056,
 
864
          49.2878 ,  50.56509,  50.75426,  49.53957,  49.65108,  51.8766 ,
 
865
          50.44647,  50.26925,  49.99599,  48.57102,  48.20799,  46.79335,
 
866
          48.1779 ,  45.75658,  46.03133,  46.10588,  44.94675,  41.40908,
 
867
          39.40758,  38.86882,  34.90814,  37.3594 ],
 
868
        [ 28.76504,  29.50086,  30.13293,  32.0357 ,  30.2114 ,  32.62237,
 
869
          33.17576,  32.97516,  32.89254,  35.3327 ,  37.62287,  35.23732,
 
870
          37.71305,  38.10808,  39.19622,  37.47408,  39.07201,  39.92405,
 
871
          39.60791,  38.73035,  39.22602,  37.84719,  37.53278,  35.82   ,
 
872
          38.39304,  36.0731 ,  35.32224,  34.60562,  35.0456 ,  34.06939,
 
873
          34.88785,  31.89102,  29.74339,  29.3094 ,  28.09777,  25.40346,
 
874
          24.72382,  22.08521,  20.51852,  21.04933,  18.98626,  13.85593,
 
875
          14.31407,  12.8995 ,  11.37028,  10.39258,   8.32038,   8.41089,
 
876
          6.82238,   0.     ,   8.71731,   7.76443,  12.45335,  12.2652 ,
 
877
          12.90017,  15.09061,  17.41787,  20.38048,  22.61928,  23.14501,
 
878
          25.76323,  27.71115,  27.8258 ,  33.66319,  30.48156,  32.98226,
 
879
          34.95939,  37.85604,  39.53608,  40.08616,  41.63043,  43.15796,
 
880
          42.86376,  46.50258,  45.86231,  47.29211,  48.17182,  48.3848 ,
 
881
          49.04825,  50.09211,  50.93521,  48.90653,  49.34591,  52.28837,
 
882
          50.39015,  50.58997,  50.40001,  49.3039 ,  49.05992,  47.89894,
 
883
          49.234  ,  46.43048,  47.85874,  47.20917,  46.79585,  42.67964,
 
884
          40.30443,  39.8812 ,  36.95114,  39.24277],
 
885
        [ 23.7291 ,  25.13342,  25.84322,  26.92882,  25.7518 ,  28.36209,
 
886
          29.06571,  29.38917,  29.26526,  31.54706,  34.72634,  32.32311,
 
887
          34.34605,  35.42106,  36.6623 ,  34.70021,  36.40368,  37.99061,
 
888
          38.021  ,  37.37737,  37.42741,  36.54117,  36.5014 ,  35.31492,
 
889
          38.36668,  35.88703,  35.64687,  34.9862 ,  35.81848,  34.49619,
 
890
          35.60229,  33.4665 ,  31.3773 ,  30.90888,  30.76486,  27.90575,
 
891
          27.4199 ,  24.78172,  24.28367,  24.7121 ,  22.36856,  17.57202,
 
892
          17.64249,  17.10962,  14.90543,  12.86851,  10.85168,  11.19326,
 
893
          11.4934 ,   8.71731,   0.     ,   5.57175,   8.63071,   9.25549,
 
894
          9.12862,   9.36863,  12.44362,  14.25313,  17.25268,  17.45389,
 
895
          20.41051,  22.31093,  22.02977,  28.4554 ,  24.40348,  27.41917,
 
896
          29.65847,  32.03859,  34.25637,  34.87194,  36.40332,  38.15373,
 
897
          37.65245,  41.47684,  41.28355,  42.71965,  43.82151,  44.61234,
 
898
          45.47536,  47.05548,  47.78609,  46.48006,  47.17699,  49.92586,
 
899
          48.24647,  49.03127,  49.42958,  48.33632,  48.54484,  47.60107,
 
900
          49.68564,  46.61442,  48.6812 ,  48.31756,  48.12534,  44.56241,
 
901
          42.7187 ,  42.53511,  39.36061,  42.55081],
 
902
        [ 25.6983 ,  26.92125,  27.91135,  29.3656 ,  27.6139 ,  30.55605,
 
903
          31.25932,  31.30679,  31.06269,  33.65312,  36.87088,  34.68689,
 
904
          36.90215,  37.82413,  39.10442,  37.06721,  39.23049,  40.17349,
 
905
          40.62842,  39.86314,  40.16763,  39.18647,  39.07491,  37.94267,
 
906
          40.71544,  38.71968,  38.19558,  37.6223 ,  38.00399,  37.51745,
 
907
          38.44528,  36.09133,  33.75635,  33.39326,  33.11761,  30.36558,
 
908
          29.752  ,  26.80699,  26.21266,  26.38835,  24.60879,  19.71272,
 
909
          19.73502,  18.97275,  16.80241,  14.75476,  12.70132,  13.48331,
 
910
          11.88195,   7.76443,   5.57175,   0.     ,   9.15475,   8.56349,
 
911
          8.47478,   8.49044,  11.99477,  14.44966,  17.32829,  17.19026,
 
912
          20.41925,  22.11879,  22.02562,  28.80888,  24.85666,  28.34247,
 
913
          30.26402,  33.37055,  35.15239,  36.01863,  37.78748,  39.81268,
 
914
          39.32254,  43.59766,  43.22273,  44.89829,  46.04871,  46.77149,
 
915
          47.87025,  49.21038,  50.23529,  48.6807 ,  49.53981,  52.72328,
 
916
          50.9    ,  51.39158,  52.21003,  51.04052,  51.18106,  50.27656,
 
917
          52.28684,  49.36971,  51.53462,  50.93333,  50.99637,  47.03863,
 
918
          45.1501 ,  44.98107,  42.0262 ,  44.83658],
 
919
        [ 25.97412,  26.77764,  28.12311,  29.6113 ,  28.20037,  30.3347 ,
 
920
          31.50259,  31.86587,  32.01605,  34.74652,  37.5226 ,  34.89579,
 
921
          37.11372,  38.53678,  39.88191,  38.15456,  39.92573,  40.90994,
 
922
          41.3098 ,  40.9369 ,  41.16595,  39.96285,  40.15724,  38.60944,
 
923
          42.31539,  40.48097,  40.17273,  39.74094,  40.05607,  38.87821,
 
924
          39.2932 ,  37.70993,  35.79133,  35.6437 ,  35.1361 ,  31.45698,
 
925
          30.72862,  28.87533,  28.62454,  29.5294 ,  26.09397,  21.99594,
 
926
          21.71174,  20.8149 ,  19.058  ,  17.21257,  15.99258,  14.05563,
 
927
          13.2132 ,  12.45335,   8.63071,   9.15475,   0.     ,   5.69041,
 
928
          8.86444,  10.50088,   9.15299,  11.56439,  15.31776,  16.37099,
 
929
          19.20324,  20.11261,  21.17791,  26.23138,  24.1575 ,  26.74297,
 
930
          29.9642 ,  32.63265,  34.33692,  35.4078 ,  37.27436,  38.82324,
 
931
          38.79999,  42.81333,  43.14353,  44.0194 ,  45.29074,  46.65033,
 
932
          47.77203,  49.32322,  49.88537,  49.61055,  50.40164,  52.96687,
 
933
          51.90866,  52.35132,  53.40064,  52.18807,  52.39054,  51.76294,
 
934
          53.60591,  51.35824,  52.66349,  52.69263,  52.29538,  49.4784 ,
 
935
          47.59661,  47.05231,  43.63606,  46.86818],
 
936
        [ 25.13513,  25.45479,  27.30813,  28.77098,  27.20175,  29.56765,
 
937
          31.19405,  30.67301,  30.75263,  33.95725,  36.63014,  34.4585 ,
 
938
          36.56462,  38.03388,  38.95773,  37.88232,  40.05261,  39.98119,
 
939
          40.72945,  40.37831,  40.59288,  39.6461 ,  40.40674,  38.67121,
 
940
          42.04724,  40.65492,  39.9043 ,  40.05704,  39.79457,  39.44799,
 
941
          39.98048,  37.82863,  36.21335,  35.93431,  35.41829,  32.01961,
 
942
          31.93212,  29.58085,  29.21067,  29.42525,  27.63374,  22.85153,
 
943
          22.56943,  21.56576,  19.18607,  17.61602,  17.25635,  14.64482,
 
944
          14.82213,  12.2652 ,   9.25549,   8.56349,   5.69041,   0.     ,
 
945
          7.69056,   9.58872,   7.27847,  11.07301,  13.97117,  14.85007,
 
946
          17.3385 ,  18.54959,  19.51911,  24.47804,  23.22298,  25.99818,
 
947
          28.67918,  31.37243,  33.06567,  34.08613,  36.44189,  37.65905,
 
948
          37.7809 ,  42.43773,  42.01543,  43.33093,  44.64622,  45.80397,
 
949
          47.25139,  48.43046,  49.49756,  48.83554,  49.72558,  52.67093,
 
950
          51.57562,  52.08085,  53.1481 ,  52.11595,  52.16829,  52.09858,
 
951
          53.53316,  51.2622 ,  53.32599,  52.90649,  52.95174,  49.96028,
 
952
          47.72114,  47.06461,  44.40938,  47.37281],
 
953
        [ 24.45972,  26.64139,  27.01853,  27.98344,  27.57982,  29.58556,
 
954
          31.33608,  31.14565,  31.17672,  33.40518,  37.07125,  34.33839,
 
955
          36.48557,  37.13566,  38.89602,  37.77484,  39.20976,  39.92003,
 
956
          40.56478,  40.3905 ,  40.07303,  39.38249,  39.85148,  38.95962,
 
957
          41.86037,  40.04445,  39.71271,  39.15768,  39.61693,  39.80638,
 
958
          39.73092,  37.1605 ,  36.02599,  36.08269,  35.86916,  32.50931,
 
959
          32.14663,  29.35632,  29.13434,  28.82948,  27.67937,  22.16445,
 
960
          21.94117,  21.19765,  20.42547,  15.71376,  16.51621,  15.51254,
 
961
          16.05954,  12.90017,   9.12862,   8.47478,   8.86444,   7.69056,
 
962
          0.     ,   8.27573,   8.48397,  13.22617,  14.5959 ,  14.29243,
 
963
          17.74386,  20.29587,  20.04847,  25.72337,  23.44249,  26.57937,
 
964
          28.95484,  31.3744 ,  33.67799,  34.68713,  36.28302,  37.6514 ,
 
965
          37.46012,  42.17949,  41.8008 ,  43.46606,  44.62028,  46.06782,
 
966
          47.29764,  48.35452,  49.81537,  48.72589,  49.68722,  52.42257,
 
967
          51.63792,  51.8305 ,  52.84663,  51.78041,  52.05071,  51.83186,
 
968
          53.22438,  50.71905,  53.35513,  51.86422,  52.68216,  49.67751,
 
969
          47.40003,  46.87143,  43.90372,  47.26843],
 
970
        [ 21.55045,  24.28835,  24.69093,  25.49869,  25.10337,  27.53405,
 
971
          28.94501,  29.06828,  28.89607,  31.44167,  35.13839,  33.07445,
 
972
          35.26936,  36.62481,  38.43435,  36.36806,  38.61636,  39.6808 ,
 
973
          40.68159,  40.18733,  40.5409 ,  39.77171,  40.40163,  39.63135,
 
974
          42.90939,  40.78432,  40.82968,  40.26411,  41.10429,  40.83166,
 
975
          41.86321,  39.86674,  38.43108,  37.85734,  38.17342,  35.50764,
 
976
          35.16599,  32.37612,  32.23565,  32.05309,  30.67328,  25.45666,
 
977
          25.69766,  24.98392,  22.96086,  20.40996,  19.26168,  18.33828,
 
978
          18.55392,  15.09061,   9.36863,   8.49044,  10.50088,   9.58872,
 
979
          8.27573,   0.     ,   7.81203,   9.63841,  11.81341,  10.38626,
 
980
          14.34691,  16.65127,  16.01583,  22.86644,  18.67511,  22.78851,
 
981
          24.49932,  27.34599,  30.249  ,  30.89222,  32.98648,  35.07533,
 
982
          34.59757,  39.54874,  39.14111,  41.24033,  42.66911,  44.16304,
 
983
          45.54425,  47.06384,  48.51593,  47.55693,  48.77945,  51.948  ,
 
984
          50.60804,  51.67431,  52.94916,  52.10773,  52.46879,  52.27757,
 
985
          54.53359,  51.56906,  54.55259,  53.99784,  54.65517,  51.26881,
 
986
          49.40055,  49.64106,  46.62981,  49.95592],
 
987
        [ 21.69278,  23.54393,  24.94734,  26.08835,  25.22312,  26.86667,
 
988
          28.98748,  29.04268,  29.20958,  31.93944,  35.36933,  33.23999,
 
989
          35.32999,  36.8622 ,  38.31651,  37.32521,  39.27939,  39.62528,
 
990
          40.97394,  40.75477,  40.65161,  39.84257,  40.9679 ,  39.99892,
 
991
          43.56974,  42.24041,  41.59044,  41.81453,  41.69482,  41.71964,
 
992
          42.40135,  40.65224,  39.29054,  39.11931,  39.25199,  35.83888,
 
993
          35.88763,  33.42273,  33.74681,  33.66472,  31.99623,  27.04794,
 
994
          26.75678,  26.22855,  24.54862,  21.66767,  21.60589,  19.49451,
 
995
          19.55994,  17.41787,  12.44362,  11.99477,   9.15299,   7.27847,
 
996
          8.48397,   7.81203,   0.     ,   6.39087,   8.34311,   9.09498,
 
997
          12.01051,  14.03886,  14.66736,  19.35195,  18.37439,  21.53225,
 
998
          24.01021,  26.91727,  28.70851,  29.95311,  32.23778,  33.96847,
 
999
          33.87564,  38.86784,  38.83989,  40.22175,  41.76582,  43.56084,
 
1000
          45.32808,  46.48406,  47.93843,  47.98325,  48.86364,  51.79319,
 
1001
          51.20293,  51.97604,  53.74581,  52.60551,  52.8835 ,  53.24671,
 
1002
          55.09278,  52.73899,  55.52021,  54.91969,  55.45876,  53.12569,
 
1003
          50.8073 ,  50.61611,  47.78862,  51.26349],
 
1004
        [ 19.95303,  21.14658,  23.21836,  24.3511 ,  22.84998,  25.00712,
 
1005
          26.83509,  27.11562,  27.32181,  30.05815,  33.57977,  31.99141,
 
1006
          33.72941,  35.93997,  37.10258,  35.80232,  38.1003 ,  38.71391,
 
1007
          40.4026 ,  40.04084,  40.1262 ,  39.44919,  40.5153 ,  39.64319,
 
1008
          43.4618 ,  42.36186,  41.89523,  42.1735 ,  42.04974,  41.67128,
 
1009
          43.0919 ,  42.17263,  40.11502,  39.73362,  40.55388,  37.37873,
 
1010
          37.34873,  35.02844,  35.77881,  36.01266,  33.83917,  29.67531,
 
1011
          29.24043,  29.18584,  26.69301,  25.03361,  23.78436,  22.64066,
 
1012
          22.19041,  20.38048,  14.25313,  14.44966,  11.56439,  11.07301,
 
1013
          13.22617,   9.63841,   6.39087,   0.     ,   7.5008 ,   7.8237 ,
 
1014
          10.40305,  10.70596,  11.78864,  17.10573,  14.52165,  18.11827,
 
1015
          20.90729,  23.93647,  25.20954,  26.57818,  28.98693,  31.46102,
 
1016
          31.12039,  35.92599,  36.4427 ,  37.60689,  39.32328,  41.32062,
 
1017
          43.23691,  44.71995,  45.92899,  46.36053,  47.3359 ,  50.52313,
 
1018
          49.48781,  50.80266,  53.15541,  51.87092,  52.39965,  52.58596,
 
1019
          55.23165,  52.76786,  55.52018,  55.73155,  55.94518,  53.73325,
 
1020
          51.74464,  51.99425,  49.21381,  52.79329],
 
1021
        [ 16.26348,  19.0042 ,  20.37644,  21.22304,  20.28434,  21.74171,
 
1022
          23.67883,  24.63125,  24.53975,  26.96615,  30.77296,  28.83607,
 
1023
          31.33676,  33.1206 ,  34.93565,  33.52616,  35.6578 ,  36.21198,
 
1024
          37.91905,  38.03854,  37.85329,  37.48819,  38.42327,  38.13686,
 
1025
          42.34263,  40.86445,  40.82556,  41.17397,  41.08039,  41.61213,
 
1026
          42.45519,  41.48734,  40.44974,  40.26473,  40.93513,  37.77828,
 
1027
          38.05632,  35.98014,  37.02082,  37.14096,  35.09395,  31.04348,
 
1028
          30.87281,  30.1669 ,  29.07142,  26.60748,  26.22532,  24.21162,
 
1029
          24.20944,  22.61928,  17.25268,  17.32829,  15.31776,  13.97117,
 
1030
          14.5959 ,  11.81341,   8.34311,   7.5008 ,   0.     ,   5.83413,
 
1031
          5.46876,   8.07889,   8.10377,  12.28344,  11.70756,  14.58617,
 
1032
          16.50391,  20.31629,  22.0821 ,  22.97453,  25.272  ,  27.72545,
 
1033
          27.36277,  32.25835,  32.61786,  33.89607,  35.73057,  37.77336,
 
1034
          39.95231,  41.07814,  42.85021,  43.44198,  44.85383,  47.6269 ,
 
1035
          47.47827,  48.41191,  50.90451,  49.78713,  50.24847,  51.22179,
 
1036
          53.41837,  51.29034,  54.5929 ,  54.6199 ,  55.51699,  53.60744,
 
1037
          51.63282,  52.1621 ,  49.27814,  52.86302],
 
1038
        [ 17.11013,  19.69926,  20.92257,  21.25266,  20.93006,  23.02809,
 
1039
          25.4293 ,  25.08637,  25.21252,  27.64338,  31.75893,  30.27728,
 
1040
          32.09544,  33.81829,  35.54241,  34.40962,  36.74788,  37.08048,
 
1041
          39.08311,  39.0819 ,  38.93651,  38.87541,  40.1212 ,  39.73796,
 
1042
          43.41177,  42.22587,  42.24267,  42.24356,  42.4485 ,  43.2428 ,
 
1043
          44.1862 ,  42.91311,  41.86014,  41.36942,  42.5099 ,  39.79016,
 
1044
          39.9811 ,  37.25958,  38.04921,  37.87527,  36.84287,  32.13853,
 
1045
          31.9451 ,  31.64604,  29.81017,  27.25091,  26.73652,  25.72832,
 
1046
          25.95339,  23.14501,  17.45389,  17.19026,  16.37099,  14.85007,
 
1047
          14.29243,  10.38626,   9.09498,   7.8237 ,   5.83413,   0.     ,
 
1048
          6.41631,   8.54307,   7.54798,  13.83722,  10.47169,  14.98237,
 
1049
          16.51711,  19.64403,  21.76762,  22.8833 ,  25.40245,  27.78937,
 
1050
          27.30865,  32.95778,  32.79115,  34.89289,  36.70972,  38.8788 ,
 
1051
          41.05635,  42.15574,  44.18684,  44.13238,  45.71765,  48.95971,
 
1052
          48.28665,  49.59359,  52.1083 ,  51.08147,  51.81738,  52.5753 ,
 
1053
          55.01953,  52.46332,  56.32081,  55.78484,  57.09844,  54.71573,
 
1054
          52.72249,  53.32   ,  50.79307,  54.50537],
 
1055
        [ 14.32254,  17.01569,  17.85377,  18.87943,  18.50018,  19.62897,
 
1056
          22.19619,  22.31814,  22.16274,  24.84473,  28.54674,  27.08538,
 
1057
          29.33582,  31.46152,  33.22748,  32.12772,  34.53888,  34.29651,
 
1058
          36.66186,  36.62329,  37.02688,  36.52095,  38.22838,  37.88513,
 
1059
          41.79768,  40.89454,  40.88634,  41.4135 ,  41.31527,  42.36568,
 
1060
          43.47623,  42.56542,  41.7082 ,  41.39021,  42.56349,  39.73051,
 
1061
          40.13104,  38.02517,  39.25933,  38.78613,  37.83474,  33.7628 ,
 
1062
          33.52238,  33.19261,  31.49645,  29.58843,  29.27758,  27.49107,
 
1063
          27.98701,  25.76323,  20.41051,  20.41925,  19.20324,  17.3385 ,
 
1064
          17.74386,  14.34691,  12.01051,  10.40305,   5.46876,   6.41631,
 
1065
          0.     ,   6.56254,   5.82652,   9.42892,   8.76253,  11.01716,
 
1066
          12.97536,  16.14407,  18.65999,  19.26615,  21.70973,  23.98596,
 
1067
          23.83313,  29.46502,  29.31874,  31.04096,  32.71498,  35.20378,
 
1068
          37.43086,  38.47346,  40.74117,  41.15986,  42.72724,  46.03943,
 
1069
          45.7643 ,  46.92375,  49.81399,  49.07544,  49.48923,  50.83285,
 
1070
          53.02921,  51.02381,  54.85708,  54.85699,  56.10978,  54.39723,
 
1071
          52.29678,  53.08869,  50.68305,  54.16762],
 
1072
        [ 17.62265,  17.70308,  20.91217,  21.25316,  19.27925,  22.0497 ,
 
1073
          23.92894,  23.71491,  23.60181,  26.74278,  30.22502,  29.42086,
 
1074
          31.07569,  33.72103,  34.83971,  33.40582,  36.56434,  36.10593,
 
1075
          38.48701,  38.68787,  38.83153,  39.03388,  40.08247,  39.57072,
 
1076
          43.79152,  43.17864,  43.2909 ,  43.87194,  43.35611,  44.39476,
 
1077
          45.37599,  45.03955,  43.69002,  43.28881,  44.52465,  41.74234,
 
1078
          42.11747,  40.01821,  41.2876 ,  41.51105,  39.87093,  36.48198,
 
1079
          36.04839,  35.58516,  33.32921,  32.22904,  31.33041,  29.94017,
 
1080
          29.72961,  27.71115,  22.31093,  22.11879,  20.11261,  18.54959,
 
1081
          20.29587,  16.65127,  14.03886,  10.70596,   8.07889,   8.54307,
 
1082
          6.56254,   0.     ,   4.33833,   8.76183,   7.88595,  10.96004,
 
1083
          13.3731 ,  17.00054,  17.6708 ,  18.90909,  22.24521,  24.80605,
 
1084
          24.44948,  29.94102,  30.21988,  31.68858,  33.75574,  35.95484,
 
1085
          38.6216 ,  39.86389,  41.58399,  42.28369,  44.38077,  47.67845,
 
1086
          47.02336,  48.24653,  51.67294,  50.62617,  51.37421,  52.55434,
 
1087
          55.1481 ,  53.295  ,  56.77537,  57.33105,  58.35886,  56.29047,
 
1088
          54.80877,  55.50578,  53.14199,  56.6705 ],
 
1089
        [ 15.44168,  16.76036,  19.36837,  19.09945,  17.75401,  20.71073,
 
1090
          22.48331,  22.41495,  22.19147,  24.89471,  28.99081,  28.13654,
 
1091
          29.78355,  32.12859,  33.64244,  31.97045,  35.07799,  34.99984,
 
1092
          37.36496,  37.66226,  37.52198,  38.04894,  38.99665,  38.9161 ,
 
1093
          42.99372,  41.97252,  42.33337,  42.72225,  42.53551,  43.77865,
 
1094
          44.76722,  44.26307,  43.19493,  42.72848,  44.12784,  41.66611,
 
1095
          42.08783,  39.69333,  41.02127,  41.02762,  39.81846,  36.14058,
 
1096
          35.83875,  35.3853 ,  33.38918,  31.80973,  31.04823,  30.09775,
 
1097
          30.14266,  27.8258 ,  22.02977,  22.02562,  21.17791,  19.51911,
 
1098
          20.04847,  16.01583,  14.66736,  11.78864,   8.10377,   7.54798,
 
1099
          5.82652,   4.33833,   0.     ,   9.49269,   5.60066,  10.13634,
 
1100
          11.30708,  15.06618,  16.60802,  17.5898 ,  20.66387,  23.36406,
 
1101
          22.74647,  28.44725,  28.42199,  30.43171,  32.53739,  34.61086,
 
1102
          37.28059,  38.61696,  40.54339,  40.91422,  43.13823,  46.37182,
 
1103
          45.76609,  47.10957,  50.41253,  49.41508,  50.26066,  51.50842,
 
1104
          54.21112,  52.03406,  56.08765,  56.26153,  57.72116,  55.39809,
 
1105
          54.07596,  54.94413,  52.52346,  56.22352],
 
1106
        [ 17.37134,  18.85088,  20.86528,  20.88305,  20.49716,  20.89719,
 
1107
          23.70778,  23.87865,  23.8951 ,  26.39705,  29.49656,  28.78396,
 
1108
          30.69899,  33.34453,  34.72378,  34.19075,  36.59537,  35.8496 ,
 
1109
          38.4644 ,  39.09107,  39.07799,  39.2854 ,  41.12947,  40.94059,
 
1110
          45.43309,  44.85097,  45.05862,  46.08496,  45.50379,  46.84558,
 
1111
          47.773  ,  47.54766,  47.14492,  46.85017,  48.09543,  45.21051,
 
1112
          46.05367,  44.39596,  45.92867,  45.8564 ,  44.45979,  41.01457,
 
1113
          40.75469,  40.18287,  38.71385,  37.16025,  37.12763,  34.51412,
 
1114
          35.2683 ,  33.66319,  28.4554 ,  28.80888,  26.23138,  24.47804,
 
1115
          25.72337,  22.86644,  19.35195,  17.10573,  12.28344,  13.83722,
 
1116
          9.42892,   8.76183,   9.49269,   0.     ,  10.77901,  10.05965,
 
1117
          11.4491 ,  14.23453,  15.65154,  15.89031,  19.35493,  21.37071,
 
1118
          21.35245,  26.88469,  27.14093,  28.27884,  30.5466 ,  33.50676,
 
1119
          36.4934 ,  37.19752,  39.64894,  41.31134,  43.32302,  46.1664 ,
 
1120
          46.66713,  48.02232,  51.58657,  50.8496 ,  51.44928,  53.70231,
 
1121
          55.7896 ,  54.36972,  58.30467,  58.85498,  60.2241 ,  59.29777,
 
1122
          57.3284 ,  58.22332,  56.01087,  59.61459],
 
1123
        [ 13.90914,  15.67933,  17.38101,  16.98734,  16.24356,  18.9401 ,
 
1124
          20.61034,  20.79483,  20.57865,  22.80323,  27.01958,  26.43445,
 
1125
          27.88792,  30.4796 ,  32.11209,  30.2786 ,  33.28937,  33.74472,
 
1126
          36.32379,  36.48663,  36.60449,  37.05129,  38.17204,  38.2891 ,
 
1127
          42.39361,  41.45324,  42.17539,  42.30557,  42.54538,  43.53456,
 
1128
          44.99764,  44.95504,  43.81483,  43.10439,  45.13455,  42.9827 ,
 
1129
          43.28691,  40.98925,  42.53998,  42.62709,  41.3634 ,  37.91637,
 
1130
          37.69173,  37.57579,  35.4746 ,  34.28055,  32.98749,  32.6424 ,
 
1131
          32.68231,  30.48156,  24.40348,  24.85666,  24.1575 ,  23.22298,
 
1132
          23.44249,  18.67511,  18.37439,  14.52165,  11.70756,  10.47169,
 
1133
          8.76253,   7.88595,   5.60066,  10.77901,   0.     ,   7.37848,
 
1134
          7.94763,  11.60285,  13.60009,  14.22662,  16.93863,  20.48684,
 
1135
          19.57347,  25.10732,  25.49894,  27.55298,  29.7128 ,  32.13686,
 
1136
          34.70808,  36.23865,  38.20019,  38.77183,  41.07158,  44.37704,
 
1137
          43.59581,  45.48707,  49.01208,  48.08088,  49.19229,  50.28702,
 
1138
          53.56762,  51.16563,  55.41252,  55.96844,  57.4112 ,  55.34975,
 
1139
          54.10888,  55.4712 ,  53.09032,  56.86156],
 
1140
        [ 11.73735,  13.11373,  14.14065,  14.43121,  13.95706,  14.67542,
 
1141
          16.80414,  17.13811,  17.20223,  19.30856,  22.64011,  22.12388,
 
1142
          23.6909 ,  26.68134,  28.69735,  26.83978,  29.56233,  29.52144,
 
1143
          32.42384,  32.61225,  33.43265,  33.33446,  34.9892 ,  35.07866,
 
1144
          39.51926,  38.91288,  39.71804,  40.15065,  40.30517,  41.47749,
 
1145
          42.85482,  43.36693,  42.6301 ,  42.13604,  44.19635,  41.96344,
 
1146
          42.38342,  40.81211,  42.80247,  42.66475,  41.50962,  38.79497,
 
1147
          38.4327 ,  38.53515,  36.61224,  35.884  ,  35.06947,  34.1041 ,
 
1148
          34.49442,  32.98226,  27.41917,  28.34247,  26.74297,  25.99818,
 
1149
          26.57937,  22.78851,  21.53225,  18.11827,  14.58617,  14.98237,
 
1150
          11.01716,  10.96004,  10.13634,  10.05965,   7.37848,   0.     ,
 
1151
          6.85229,   8.33375,  10.64638,  10.34292,  12.47002,  15.48307,
 
1152
          15.00604,  20.17726,  20.87708,  22.2614 ,  24.11224,  27.27657,
 
1153
          29.58244,  31.1899 ,  33.13339,  34.40247,  36.49848,  39.87239,
 
1154
          39.52611,  41.18787,  45.18565,  44.54115,  45.31625,  47.01201,
 
1155
          50.01015,  48.42501,  52.3525 ,  53.37068,  54.80933,  53.68554,
 
1156
          52.36036,  53.92575,  51.51095,  55.33784],
 
1157
        [ 12.23879,  14.57384,  15.49992,  14.87293,  14.68697,  15.87359,
 
1158
          17.54135,  18.05839,  17.67657,  19.43576,  23.11653,  23.17097,
 
1159
          24.95077,  27.47971,  29.37637,  27.6592 ,  30.64956,  30.75883,
 
1160
          33.65172,  34.05121,  34.30145,  34.86519,  36.38785,  36.89862,
 
1161
          41.2064 ,  40.27944,  41.17056,  41.69059,  41.79641,  43.3667 ,
 
1162
          45.0001 ,  45.22628,  44.81877,  43.99537,  46.17291,  44.45906,
 
1163
          45.19904,  43.15676,  45.02922,  44.95803,  44.11761,  40.96397,
 
1164
          40.95094,  40.71094,  39.11164,  38.25288,  37.28719,  36.48373,
 
1165
          36.84283,  34.95939,  29.65847,  30.26402,  29.9642 ,  28.67918,
 
1166
          28.95484,  24.49932,  24.01021,  20.90729,  16.50391,  16.51711,
 
1167
          12.97536,  13.3731 ,  11.30708,  11.4491 ,   7.94763,   6.85229,
 
1168
          0.     ,   7.42181,   9.81149,   8.48963,  11.54921,  15.39613,
 
1169
          14.38347,  19.86861,  19.77106,  22.06307,  24.50788,  26.82158,
 
1170
          29.77616,  30.96037,  33.5255 ,  34.52259,  36.99302,  40.18245,
 
1171
          39.99496,  42.1269 ,  45.88592,  45.21708,  46.21675,  48.21974,
 
1172
          51.36139,  49.18705,  54.05609,  54.84453,  56.72943,  55.20246,
 
1173
          53.91346,  55.78262,  53.64081,  57.31579],
 
1174
        [ 12.84236,  14.49709,  14.33989,  12.60412,  14.86848,  14.84921,
 
1175
          17.64634,  16.67094,  16.61788,  18.22819,  21.4745 ,  21.90119,
 
1176
          22.44497,  25.54979,  27.27617,  26.30551,  29.02811,  28.63502,
 
1177
          31.82761,  32.23   ,  32.81646,  33.37436,  35.95878,  36.20281,
 
1178
          40.11474,  39.6453 ,  40.67256,  41.24556,  41.68827,  43.24129,
 
1179
          44.84355,  45.15693,  45.24839,  44.34038,  46.91914,  45.37185,
 
1180
          46.24403,  44.3192 ,  46.2601 ,  45.70734,  45.79608,  42.64609,
 
1181
          42.4804 ,  42.71524,  40.61639,  39.99024,  39.461  ,  38.65803,
 
1182
          39.96906,  37.85604,  32.03859,  33.37055,  32.63265,  31.37243,
 
1183
          31.3744 ,  27.34599,  26.91727,  23.93647,  20.31629,  19.64403,
 
1184
          16.14407,  17.00054,  15.06618,  14.23453,  11.60285,   8.33375,
 
1185
          7.42181,   0.     ,   9.27097,   6.7636 ,   9.28897,  10.82079,
 
1186
          10.31003,  16.92184,  15.97901,  18.91758,  20.92638,  24.2509 ,
 
1187
          26.79505,  28.28992,  30.96807,  32.00602,  34.44939,  37.75691,
 
1188
          37.62064,  40.16677,  43.88795,  43.79662,  44.82826,  47.13516,
 
1189
          50.10628,  48.05767,  53.25517,  53.82784,  55.9775 ,  54.96514,
 
1190
          53.63403,  55.43629,  53.67147,  57.5573 ],
 
1191
        [ 16.11693,  13.93834,  17.43602,  16.25858,  14.61363,  15.9765 ,
 
1192
          18.13698,  16.67337,  17.05001,  18.64491,  21.88627,  23.31711,
 
1193
          22.73515,  25.74229,  26.28932,  26.20587,  29.40351,  28.32294,
 
1194
          32.1881 ,  32.67538,  32.20425,  33.51843,  35.6227 ,  36.05376,
 
1195
          39.74911,  40.59724,  40.65653,  41.85591,  40.95449,  43.27906,
 
1196
          44.80852,  45.74134,  44.99179,  44.26734,  47.23808,  45.70899,
 
1197
          46.80226,  44.52264,  46.99824,  46.90492,  46.84759,  44.26794,
 
1198
          43.60742,  44.28372,  42.02245,  41.63577,  40.85783,  41.22222,
 
1199
          41.25252,  39.53608,  34.25637,  35.15239,  34.33692,  33.06567,
 
1200
          33.67799,  30.249  ,  28.70851,  25.20954,  22.0821 ,  21.76762,
 
1201
          18.65999,  17.6708 ,  16.60802,  15.65154,  13.60009,  10.64638,
 
1202
          9.81149,   9.27097,   0.     ,   5.4579 ,   8.31392,  11.37399,
 
1203
          10.06637,  15.80099,  16.19604,  17.81404,  20.35224,  22.68455,
 
1204
          26.33321,  27.22424,  29.39485,  31.26857,  33.44303,  36.96176,
 
1205
          36.64784,  38.92403,  43.95773,  42.77504,  44.24492,  46.45457,
 
1206
          49.95585,  48.08682,  53.30444,  53.83046,  55.9695 ,  55.1559 ,
 
1207
          54.03066,  55.76022,  54.37677,  58.38252],
 
1208
        [ 14.78883,  13.97627,  15.89444,  14.52592,  14.13096,  14.6316 ,
 
1209
          16.73796,  15.59013,  15.68349,  17.05169,  19.79573,  21.43302,
 
1210
          21.53386,  24.75989,  25.69016,  25.12388,  28.14274,  27.26777,
 
1211
          30.80285,  31.35308,  31.53711,  32.6792 ,  34.90092,  35.34433,
 
1212
          39.34168,  39.49418,  40.19097,  41.23647,  40.88777,  42.89426,
 
1213
          44.71783,  45.58144,  45.27901,  44.39004,  47.21417,  45.86452,
 
1214
          47.00371,  45.11777,  47.39798,  47.20804,  47.06841,  44.55381,
 
1215
          44.22534,  44.57255,  42.49394,  42.34816,  41.59448,  41.17685,
 
1216
          41.86267,  40.08616,  34.87194,  36.01863,  35.4078 ,  34.08613,
 
1217
          34.68713,  30.89222,  29.95311,  26.57818,  22.97453,  22.8833 ,
 
1218
          19.26615,  18.90909,  17.5898 ,  15.89031,  14.22662,  10.34292,
 
1219
          8.48963,   6.7636 ,   5.4579 ,   0.     ,   6.20725,   9.55298,
 
1220
          8.01646,  13.88004,  13.47562,  15.73658,  18.32946,  21.00988,
 
1221
          24.41039,  25.357  ,  28.05329,  29.56878,  32.10165,  35.5989 ,
 
1222
          35.30488,  37.94608,  42.47888,  41.88941,  43.10642,  45.66534,
 
1223
          48.94918,  47.14171,  52.39688,  53.39353,  55.47101,  54.71155,
 
1224
          53.48973,  55.54874,  54.10548,  57.89195],
 
1225
        [ 14.85241,  15.28133,  14.88863,  14.10743,  14.51717,  13.43337,
 
1226
          15.0992 ,  15.29917,  15.30447,  14.82973,  18.19257,  19.21266,
 
1227
          19.39791,  22.16485,  23.88593,  23.22648,  25.25644,  25.1948 ,
 
1228
          28.93245,  29.36674,  29.60455,  30.40374,  32.5457 ,  33.67934,
 
1229
          37.45432,  37.70761,  38.65435,  39.41798,  39.44077,  41.53307,
 
1230
          43.31817,  44.57787,  44.24326,  43.65807,  46.86937,  45.49593,
 
1231
          46.37995,  44.80329,  47.50405,  47.14969,  46.96281,  44.89301,
 
1232
          44.42682,  45.13821,  43.59005,  43.03802,  42.32162,  42.52243,
 
1233
          43.03579,  41.63043,  36.40332,  37.78748,  37.27436,  36.44189,
 
1234
          36.28302,  32.98648,  32.23778,  28.98693,  25.272  ,  25.40245,
 
1235
          21.70973,  22.24521,  20.66387,  19.35493,  16.93863,  12.47002,
 
1236
          11.54921,   9.28897,   8.31392,   6.20725,   0.     ,   8.05145,
 
1237
          5.69215,   9.9497 ,  11.36293,  12.71091,  14.59198,  18.34641,
 
1238
          21.18762,  22.23008,  25.12185,  26.96778,  29.22174,  32.55304,
 
1239
          32.67088,  35.01998,  40.03592,  39.3736 ,  40.65807,  43.06865,
 
1240
          46.5909 ,  44.99134,  50.2539 ,  51.23541,  53.43403,  53.31284,
 
1241
          52.11044,  54.48838,  52.87226,  56.74007],
 
1242
        [ 16.81082,  15.43603,  15.37154,  13.84321,  15.68778,  14.09887,
 
1243
          16.73965,  14.46026,  14.95815,  15.51568,  16.9958 ,  18.09438,
 
1244
          17.15086,  20.06477,  21.52732,  22.09752,  24.3272 ,  22.50728,
 
1245
          26.4393 ,  27.44256,  27.68888,  28.64096,  31.91806,  32.25061,
 
1246
          35.8801 ,  36.65188,  37.60561,  38.64347,  38.47113,  41.05796,
 
1247
          42.17357,  43.24457,  44.00885,  43.18833,  46.30617,  45.23056,
 
1248
          46.44777,  44.7664 ,  47.43771,  46.86   ,  47.70312,  45.34457,
 
1249
          44.91905,  45.55069,  43.80397,  43.69836,  43.57751,  43.43884,
 
1250
          44.67317,  43.15796,  38.15373,  39.81268,  38.82324,  37.65905,
 
1251
          37.6514 ,  35.07533,  33.96847,  31.46102,  27.72545,  27.78937,
 
1252
          23.98596,  24.80605,  23.36406,  21.37071,  20.48684,  15.48307,
 
1253
          15.39613,  10.82079,  11.37399,   9.55298,   8.05145,   0.     ,
 
1254
          5.15882,  10.42401,   8.2677 ,  10.41686,  12.23247,  15.69246,
 
1255
          18.50621,  19.6109 ,  22.38789,  24.44886,  26.89026,  29.8127 ,
 
1256
          30.67153,  32.99654,  37.56207,  37.45707,  38.73435,  41.86474,
 
1257
          44.60558,  43.27327,  48.91205,  49.33654,  52.18163,  52.20071,
 
1258
          51.11608,  53.03856,  51.85091,  55.85643],
 
1259
        [ 15.84987,  15.38908,  15.57648,  13.02127,  14.51018,  13.393  ,
 
1260
          15.39915,  14.31921,  14.4235 ,  14.01205,  16.94848,  18.37291,
 
1261
          17.26961,  20.06272,  21.55272,  21.38396,  23.56296,  23.05361,
 
1262
          26.65776,  27.60226,  27.2861 ,  28.81112,  31.28384,  32.36628,
 
1263
          35.90349,  36.33936,  37.35235,  38.26693,  38.21591,  40.77052,
 
1264
          42.00564,  43.23535,  43.62399,  42.95227,  46.18952,  45.08133,
 
1265
          46.32251,  44.57585,  47.28364,  46.8637 ,  47.32522,  45.22525,
 
1266
          44.77389,  45.47875,  43.89376,  43.42436,  43.1737 ,  43.36506,
 
1267
          44.36291,  42.86376,  37.65245,  39.32254,  38.79999,  37.7809 ,
 
1268
          37.46012,  34.59757,  33.87564,  31.12039,  27.36277,  27.30865,
 
1269
          23.83313,  24.44948,  22.74647,  21.35245,  19.57347,  15.00604,
 
1270
          14.38347,  10.31003,  10.06637,   8.01646,   5.69215,   5.15882,
 
1271
          0.     ,   7.97303,   7.41391,   9.92165,  12.10268,  15.51953,
 
1272
          18.54691,  19.63637,  22.4477 ,  24.28556,  26.89341,  29.828  ,
 
1273
          30.30008,  32.67363,  37.5192 ,  37.10411,  38.59252,  41.46073,
 
1274
          44.64997,  43.08337,  48.79588,  49.29285,  52.03523,  51.96351,
 
1275
          51.03286,  53.18936,  51.82288,  55.93366],
 
1276
        [ 19.49531,  19.14731,  18.73803,  16.58691,  17.43174,  15.35339,
 
1277
          15.3146 ,  16.68845,  16.70277,  14.33961,  16.33478,  17.67573,
 
1278
          16.50911,  19.02226,  20.82185,  19.8089 ,  20.85461,  22.12662,
 
1279
          25.03495,  26.2458 ,  25.60395,  27.30426,  28.86779,  30.7808 ,
 
1280
          34.72309,  34.78051,  36.34129,  37.14527,  37.33843,  39.41463,
 
1281
          40.73932,  43.03554,  43.42716,  42.93121,  46.3353 ,  45.40294,
 
1282
          46.58154,  45.54288,  48.66654,  48.70376,  48.293  ,  47.30472,
 
1283
          46.85295,  47.62256,  46.64783,  46.41609,  45.94993,  46.36946,
 
1284
          47.1119 ,  46.50258,  41.47684,  43.59766,  42.81333,  42.43773,
 
1285
          42.17949,  39.54874,  38.86784,  35.92599,  32.25835,  32.95778,
 
1286
          29.46502,  29.94102,  28.44725,  26.88469,  25.10732,  20.17726,
 
1287
          19.86861,  16.92184,  15.80099,  13.88004,   9.9497 ,  10.42401,
 
1288
          7.97303,   0.     ,   7.5317 ,   5.31432,   7.67385,  11.29427,
 
1289
          13.88518,  15.65731,  17.41581,  21.03678,  23.50462,  25.23083,
 
1290
          26.39159,  28.81917,  34.13332,  33.45212,  35.14618,  38.06477,
 
1291
          41.77849,  40.61566,  45.83126,  47.30105,  49.72211,  50.48444,
 
1292
          50.07272,  52.69689,  50.98398,  55.16405],
 
1293
        [ 19.10495,  18.0164 ,  17.66276,  15.13994,  16.76305,  15.15473,
 
1294
          16.21818,  14.41634,  14.6234 ,  13.3435 ,  14.10467,  16.69031,
 
1295
          14.97885,  17.40359,  18.79088,  18.83186,  20.80185,  19.74132,
 
1296
          23.12291,  24.4287 ,  24.28611,  26.30338,  28.98518,  30.11484,
 
1297
          33.54021,  33.80123,  35.23204,  36.28322,  36.35944,  39.1773 ,
 
1298
          40.54667,  41.97252,  43.097  ,  42.14583,  45.46555,  45.13354,
 
1299
          46.66496,  45.13382,  47.8922 ,  47.41032,  48.42568,  46.71893,
 
1300
          46.45624,  47.08008,  45.65345,  45.84523,  45.7186 ,  45.84661,
 
1301
          47.23168,  45.86231,  41.28355,  43.22273,  43.14353,  42.01543,
 
1302
          41.8008 ,  39.14111,  38.83989,  36.4427 ,  32.61786,  32.79115,
 
1303
          29.31874,  30.21988,  28.42199,  27.14093,  25.49894,  20.87708,
 
1304
          19.77106,  15.97901,  16.19604,  13.47562,  11.36293,   8.2677 ,
 
1305
          7.41391,   7.5317 ,   0.     ,   6.63347,   8.51215,  10.2156 ,
 
1306
          13.17845,  14.2086 ,  17.41713,  18.82641,  21.82783,  24.56628,
 
1307
          25.20903,  28.13747,  32.64308,  32.72029,  34.13216,  37.76093,
 
1308
          40.74152,  39.28459,  45.54548,  46.22894,  49.39464,  49.45139,
 
1309
          48.79067,  51.31535,  50.31884,  54.28067],
 
1310
        [ 20.82333,  19.25691,  19.14902,  17.45726,  18.13449,  15.57783,
 
1311
          15.90665,  16.10611,  16.24885,  14.52817,  14.58976,  16.42476,
 
1312
          14.84698,  17.54345,  18.59526,  18.86371,  19.89348,  19.63274,
 
1313
          22.70202,  24.17496,  23.68602,  25.2772 ,  27.6702 ,  29.01616,
 
1314
          32.87432,  33.49258,  34.77337,  36.14132,  35.80693,  38.1895 ,
 
1315
          39.4803 ,  41.7482 ,  42.57723,  41.96176,  45.29483,  44.55667,
 
1316
          46.07288,  45.13769,  48.31191,  48.23058,  48.33951,  47.3816 ,
 
1317
          46.96242,  47.68002,  46.63616,  46.92581,  46.70514,  46.8006 ,
 
1318
          47.84897,  47.29211,  42.71965,  44.89829,  44.0194 ,  43.33093,
 
1319
          43.46606,  41.24033,  40.22175,  37.60689,  33.89607,  34.89289,
 
1320
          31.04096,  31.68858,  30.43171,  28.27884,  27.55298,  22.2614 ,
 
1321
          22.06307,  18.91758,  17.81404,  15.73658,  12.71091,  10.41686,
 
1322
          9.92165,   5.31432,   6.63347,   0.     ,   4.70483,   7.62293,
 
1323
          10.77344,  12.04317,  14.09367,  18.36526,  20.64699,  22.23753,
 
1324
          23.95215,  26.43932,  31.57022,  31.17569,  32.66191,  36.26804,
 
1325
          39.40728,  38.57361,  43.9427 ,  45.43841,  47.97621,  49.1094 ,
 
1326
          48.50627,  50.97824,  49.73738,  53.71283],
 
1327
        [ 22.2353 ,  20.79821,  19.51857,  18.68005,  19.68793,  16.38066,
 
1328
          16.80116,  16.76691,  16.87216,  14.70497,  14.07395,  15.74665,
 
1329
          14.0348 ,  16.56831,  17.84671,  18.34015,  18.69289,  17.89876,
 
1330
          21.31299,  22.32386,  22.83922,  23.65439,  26.58669,  27.92706,
 
1331
          31.3026 ,  32.35566,  33.6225 ,  34.9677 ,  34.8564 ,  37.36602,
 
1332
          38.72058,  41.05749,  41.90128,  41.49189,  44.96068,  44.24469,
 
1333
          45.61367,  45.036  ,  48.29145,  47.81376,  48.32094,  47.69802,
 
1334
          47.13319,  48.15121,  47.08335,  47.45754,  47.35142,  47.56391,
 
1335
          48.73064,  48.17182,  43.82151,  46.04871,  45.29074,  44.64622,
 
1336
          44.62028,  42.66911,  41.76582,  39.32328,  35.73057,  36.70972,
 
1337
          32.71498,  33.75574,  32.53739,  30.5466 ,  29.7128 ,  24.11224,
 
1338
          24.50788,  20.92638,  20.35224,  18.32946,  14.59198,  12.23247,
 
1339
          12.10268,   7.67385,   8.51215,   4.70483,   0.     ,   7.52323,
 
1340
          8.61132,   9.93048,  12.5578 ,  16.40777,  18.25766,  20.46284,
 
1341
          22.14114,  24.25493,  29.68935,  29.77053,  30.84631,  34.5401 ,
 
1342
          37.42484,  37.09933,  42.31915,  43.87867,  46.39273,  48.0183 ,
 
1343
          47.23087,  49.8669 ,  48.80525,  52.57763],
 
1344
        [ 24.10629,  21.17772,  21.56308,  20.17601,  19.75357,  18.12999,
 
1345
          17.15962,  16.68857,  16.49137,  14.77414,  12.99207,  15.65608,
 
1346
          13.16584,  15.07742,  15.16618,  15.42575,  17.03854,  15.79792,
 
1347
          18.64901,  20.26882,  19.6321 ,  21.82505,  23.92989,  25.32419,
 
1348
          28.63784,  29.75799,  30.92734,  32.65462,  31.85679,  34.97812,
 
1349
          36.16405,  38.72517,  39.82617,  39.07646,  42.56432,  42.6187 ,
 
1350
          44.385  ,  43.45157,  46.78708,  46.72845,  47.48303,  47.15203,
 
1351
          46.71132,  47.49823,  46.48834,  47.51112,  47.22145,  47.96634,
 
1352
          48.82056,  48.3848 ,  44.61234,  46.77149,  46.65033,  45.80397,
 
1353
          46.06782,  44.16304,  43.56084,  41.32062,  37.77336,  38.8788 ,
 
1354
          35.20378,  35.95484,  34.61086,  33.50676,  32.13686,  27.27657,
 
1355
          26.82158,  24.2509 ,  22.68455,  21.00988,  18.34641,  15.69246,
 
1356
          15.51953,  11.29427,  10.2156 ,   7.62293,   7.52323,   0.     ,
 
1357
          5.61253,   7.21393,   8.09939,  12.2139 ,  14.96738,  16.37581,
 
1358
          17.99627,  20.35805,  25.70473,  25.34467,  26.89611,  30.90733,
 
1359
          34.04257,  33.31594,  39.15504,  40.74492,  43.65432,  44.59624,
 
1360
          44.58934,  47.23448,  46.50554,  50.1937 ],
 
1361
        [ 25.58022,  23.34925,  22.21288,  21.41715,  21.78947,  19.33544,
 
1362
          18.1004 ,  18.02822,  17.85663,  15.56051,  12.74353,  14.72969,
 
1363
          12.28025,  13.83543,  14.82818,  14.24007,  14.62848,  14.13342,
 
1364
          16.46835,  17.63621,  18.43043,  19.44844,  21.86083,  23.29639,
 
1365
          26.36769,  27.30116,  29.00015,  30.32245,  30.32951,  33.00745,
 
1366
          34.29426,  37.14338,  38.47462,  37.79461,  41.36339,  41.59934,
 
1367
          43.10472,  42.69738,  46.0658 ,  45.78045,  46.66074,  46.77432,
 
1368
          46.36086,  47.35146,  46.45531,  47.68894,  47.41203,  48.21386,
 
1369
          49.2878 ,  49.04825,  45.47536,  47.87025,  47.77203,  47.25139,
 
1370
          47.29764,  45.54425,  45.32808,  43.23691,  39.95231,  41.05635,
 
1371
          37.43086,  38.6216 ,  37.28059,  36.4934 ,  34.70808,  29.58244,
 
1372
          29.77616,  26.79505,  26.33321,  24.41039,  21.18762,  18.50621,
 
1373
          18.54691,  13.88518,  13.17845,  10.77344,   8.61132,   5.61253,
 
1374
          0.     ,   6.28487,   5.75247,   9.62946,  11.75449,  13.17307,
 
1375
          14.78111,  17.10354,  22.23733,  22.66218,  23.80291,  27.72151,
 
1376
          30.83746,  30.51189,  35.9164 ,  37.93316,  40.70448,  42.1526 ,
 
1377
          42.22162,  45.16766,  44.28871,  47.87966],
 
1378
        [ 26.94421,  24.69467,  23.47894,  23.0355 ,  23.32496,  20.47957,
 
1379
          20.22697,  19.23566,  19.18505,  16.74031,  13.92433,  16.18704,
 
1380
          14.13143,  14.50581,  14.49505,  16.84456,  16.26612,  14.08034,
 
1381
          16.81846,  18.1981 ,  18.32631,  19.69742,  22.75265,  24.12436,
 
1382
          26.4844 ,  28.38011,  29.40958,  31.15585,  30.47848,  34.10653,
 
1383
          35.27955,  37.61494,  39.17248,  38.59134,  42.23577,  42.40437,
 
1384
          44.24015,  43.68518,  47.00178,  46.55168,  47.9282 ,  47.78838,
 
1385
          47.34189,  48.3686 ,  47.75785,  48.68155,  48.74309,  49.40067,
 
1386
          50.56509,  50.09211,  47.05548,  49.21038,  49.32322,  48.43046,
 
1387
          48.35452,  47.06384,  46.48406,  44.71995,  41.07814,  42.15574,
 
1388
          38.47346,  39.86389,  38.61696,  37.19752,  36.23865,  31.1899 ,
 
1389
          30.96037,  28.28992,  27.22424,  25.357  ,  22.23008,  19.6109 ,
 
1390
          19.63637,  15.65731,  14.2086 ,  12.04317,   9.93048,   7.21393,
 
1391
          6.28487,   0.     ,   7.47856,   9.53171,  11.18018,  13.01788,
 
1392
          15.47366,  17.28446,  22.4102 ,  22.68226,  23.79207,  28.38873,
 
1393
          30.63132,  30.55106,  36.61026,  37.86975,  41.02305,  43.05683,
 
1394
          42.18162,  45.17244,  45.04898,  48.29225],
 
1395
        [ 29.15922,  25.91663,  25.86362,  25.07801,  24.54554,  22.53012,
 
1396
          21.04317,  20.91886,  20.91421,  18.93591,  15.69868,  17.54084,
 
1397
          14.59832,  15.50799,  15.15638,  15.52977,  15.56155,  14.92898,
 
1398
          16.44223,  18.06242,  17.7009 ,  19.3097 ,  21.11808,  22.42396,
 
1399
          25.34082,  27.09472,  28.36382,  30.05495,  29.27892,  32.18818,
 
1400
          33.02234,  36.50124,  37.86386,  37.2521 ,  40.86225,  41.24915,
 
1401
          42.9754 ,  42.70208,  46.27576,  46.44799,  47.12264,  47.81124,
 
1402
          47.27088,  48.33511,  47.61879,  49.1594 ,  48.88315,  49.99774,
 
1403
          50.75426,  50.93521,  47.78609,  50.23529,  49.88537,  49.49756,
 
1404
          49.81537,  48.51593,  47.93843,  45.92899,  42.85021,  44.18684,
 
1405
          40.74117,  41.58399,  40.54339,  39.64894,  38.20019,  33.13339,
 
1406
          33.5255 ,  30.96807,  29.39485,  28.05329,  25.12185,  22.38789,
 
1407
          22.4477 ,  17.41581,  17.41713,  14.09367,  12.5578 ,   8.09939,
 
1408
          5.75247,   7.47856,   0.     ,   9.46928,  10.77391,  10.07175,
 
1409
          12.78621,  14.47174,  20.14208,  19.79391,  21.44302,  25.49215,
 
1410
          28.64581,  28.7825 ,  33.76637,  36.05478,  38.72334,  40.7433 ,
 
1411
          41.16185,  43.95332,  43.33299,  46.9185 ],
 
1412
        [ 29.35633,  26.0043 ,  25.36028,  24.73817,  24.18059,  23.41117,
 
1413
          22.01882,  19.93191,  19.70914,  17.75143,  14.25548,  16.84414,
 
1414
          13.82806,  13.55086,  12.82821,  13.17945,  13.83998,  11.06895,
 
1415
          12.42447,  13.71252,  14.75941,  17.16471,  18.7693 ,  19.7537 ,
 
1416
          21.25983,  23.18208,  25.0391 ,  26.14201,  25.8884 ,  29.92886,
 
1417
          30.89456,  33.46255,  34.99443,  34.09993,  37.9703 ,  39.18714,
 
1418
          40.85532,  40.23943,  43.40774,  43.06789,  45.05578,  45.64705,
 
1419
          45.18382,  46.28713,  45.29908,  47.14392,  46.89426,  48.4731 ,
 
1420
          49.53957,  48.90653,  46.48006,  48.6807 ,  49.61055,  48.83554,
 
1421
          48.72589,  47.55693,  47.98325,  46.36053,  43.44198,  44.13238,
 
1422
          41.15986,  42.28369,  40.91422,  41.31134,  38.77183,  34.40247,
 
1423
          34.52259,  32.00602,  31.26857,  29.56878,  26.96778,  24.44886,
 
1424
          24.28556,  21.03678,  18.82641,  18.36526,  16.40777,  12.2139 ,
 
1425
          9.62946,   9.53171,   9.46928,   0.     ,   7.70034,  11.03984,
 
1426
          9.3173 ,  11.00972,  16.06011,  16.8982 ,  18.3223 ,  22.22843,
 
1427
          24.9604 ,  24.69864,  30.94594,  32.41159,  35.92687,  36.56528,
 
1428
          36.93542,  40.15198,  40.34494,  43.38612],
 
1429
        [ 30.44926,  27.48027,  26.33286,  26.67714,  26.19812,  23.94749,
 
1430
          23.10616,  21.22647,  21.64589,  19.27456,  15.27649,  17.82539,
 
1431
          14.44424,  13.77702,  12.71296,  15.12571,  13.72169,  11.02782,
 
1432
          12.98025,  12.60611,  14.24738,  14.47088,  18.18955,  19.01006,
 
1433
          19.4387 ,  22.41711,  22.59333,  24.6254 ,  23.90214,  27.45379,
 
1434
          29.48465,  32.11582,  33.29005,  32.53784,  36.62617,  37.89513,
 
1435
          39.73088,  39.23902,  42.66151,  41.80521,  44.3409 ,  44.93698,
 
1436
          44.30438,  46.10429,  45.03967,  46.92675,  46.8966 ,  48.58388,
 
1437
          49.65108,  49.34591,  47.17699,  49.53981,  50.40164,  49.72558,
 
1438
          49.68722,  48.77945,  48.86364,  47.3359 ,  44.85383,  45.71765,
 
1439
          42.72724,  44.38077,  43.13823,  43.32302,  41.07158,  36.49848,
 
1440
          36.99302,  34.44939,  33.44303,  32.10165,  29.22174,  26.89026,
 
1441
          26.89341,  23.50462,  21.82783,  20.64699,  18.25766,  14.96738,
 
1442
          11.75449,  11.18018,  10.77391,   7.70034,   0.     ,   9.07328,
 
1443
          6.77896,   9.73201,  14.62719,  15.04701,  15.37031,  19.6617 ,
 
1444
          22.50593,  22.25054,  28.56357,  29.72752,  32.81706,  34.96093,
 
1445
          34.29057,  37.67062,  38.17835,  41.31302],
 
1446
        [ 33.44155,  31.09767,  29.98075,  29.31584,  29.52194,  27.14785,
 
1447
          25.70386,  25.60087,  25.6927 ,  22.94456,  19.74988,  20.46911,
 
1448
          17.8433 ,  16.34443,  15.97897,  17.63489,  14.82471,  15.65033,
 
1449
          14.62265,  16.39878,  14.81143,  16.52024,  18.2176 ,  19.94131,
 
1450
          21.35453,  22.75371,  24.07796,  25.64368,  25.36182,  28.27133,
 
1451
          28.8475 ,  32.19497,  34.59372,  33.99566,  37.63698,  38.80147,
 
1452
          40.79164,  40.71097,  44.23342,  44.2389 ,  45.66062,  46.70672,
 
1453
          46.30564,  47.57535,  47.61192,  49.05016,  49.20629,  50.70632,
 
1454
          51.8766 ,  52.28837,  49.92586,  52.72328,  52.96687,  52.67093,
 
1455
          52.42257,  51.948  ,  51.79319,  50.52313,  47.6269 ,  48.95971,
 
1456
          46.03943,  47.67845,  46.37182,  46.1664 ,  44.37704,  39.87239,
 
1457
          40.18245,  37.75691,  36.96176,  35.5989 ,  32.55304,  29.8127 ,
 
1458
          29.828  ,  25.23083,  24.56628,  22.23753,  20.46284,  16.37581,
 
1459
          13.17307,  13.01788,  10.07175,  11.03984,   9.07328,   0.     ,
 
1460
          8.87214,   9.85187,  12.31734,  12.2625 ,  14.04632,  18.81453,
 
1461
          21.19061,  21.12454,  27.04242,  28.49102,  31.8115 ,  34.8203 ,
 
1462
          35.12966,  38.15204,  38.01118,  41.47549],
 
1463
        [ 33.20634,  29.88905,  29.33639,  29.02044,  28.20267,  27.12172,
 
1464
          25.33855,  24.01222,  24.18448,  21.91537,  18.25877,  20.57828,
 
1465
          16.98162,  16.4955 ,  14.73869,  15.48099,  14.34678,  14.30857,
 
1466
          13.85173,  13.84417,  14.39659,  15.93936,  17.45544,  18.33339,
 
1467
          18.66931,  20.88887,  21.93502,  23.38049,  23.14462,  25.75202,
 
1468
          27.86781,  31.24603,  32.25062,  31.15287,  35.45185,  37.34563,
 
1469
          39.14055,  38.75821,  42.09818,  41.92408,  43.92436,  45.20662,
 
1470
          44.68842,  46.38933,  45.31081,  47.7489 ,  47.28112,  49.48718,
 
1471
          50.44647,  50.39015,  48.24647,  50.9    ,  51.90866,  51.57562,
 
1472
          51.63792,  50.60804,  51.20293,  49.48781,  47.47827,  48.28665,
 
1473
          45.7643 ,  47.02336,  45.76609,  46.66713,  43.59581,  39.52611,
 
1474
          39.99496,  37.62064,  36.64784,  35.30488,  32.67088,  30.67153,
 
1475
          30.30008,  26.39159,  25.20903,  23.95215,  22.14114,  17.99627,
 
1476
          14.78111,  15.47366,  12.78621,   9.3173 ,   6.77896,   8.87214,
 
1477
          0.     ,   8.06218,  11.429  ,  11.46571,  13.13148,  16.10375,
 
1478
          20.41288,  19.36076,  25.3713 ,  27.60118,  30.25563,  31.87386,
 
1479
          32.4665 ,  36.03614,  36.48471,  39.63076],
 
1480
        [ 35.10944,  31.87226,  31.30981,  31.28387,  30.01717,  29.01223,
 
1481
          26.90823,  26.23519,  26.08005,  23.84675,  20.80091,  21.7296 ,
 
1482
          19.04357,  17.40327,  16.7043 ,  16.55105,  15.01213,  14.46629,
 
1483
          13.32047,  13.90252,  14.09233,  15.41702,  15.00264,  16.81857,
 
1484
          16.58331,  19.50611,  20.62995,  21.94394,  21.09032,  25.34647,
 
1485
          25.48297,  29.25163,  30.55199,  30.43379,  34.21791,  35.75256,
 
1486
          37.3534 ,  37.46691,  41.14137,  40.96925,  42.83903,  44.90814,
 
1487
          44.1482 ,  45.72293,  45.41523,  47.3948 ,  47.34997,  49.72993,
 
1488
          50.26925,  50.58997,  49.03127,  51.39158,  52.35132,  52.08085,
 
1489
          51.8305 ,  51.67431,  51.97604,  50.80266,  48.41191,  49.59359,
 
1490
          46.92375,  48.24653,  47.10957,  48.02232,  45.48707,  41.18787,
 
1491
          42.1269 ,  40.16677,  38.92403,  37.94608,  35.01998,  32.99654,
 
1492
          32.67363,  28.81917,  28.13747,  26.43932,  24.25493,  20.35805,
 
1493
          17.10354,  17.28446,  14.47174,  11.00972,   9.73201,   9.85187,
 
1494
          8.06218,   0.     ,   9.67155,   9.04695,  10.17736,  13.59906,
 
1495
          16.54233,  17.9564 ,  22.847  ,  24.60167,  27.9245 ,  29.98479,
 
1496
          31.1793 ,  34.37541,  34.48999,  37.48156],
 
1497
        [ 37.58041,  35.07482,  33.73965,  33.55744,  33.36934,  32.1432 ,
 
1498
          30.27089,  29.55426,  29.35354,  27.42168,  23.91183,  24.02904,
 
1499
          22.24141,  20.09447,  19.42872,  19.58731,  17.11687,  17.74227,
 
1500
          13.81794,  14.58239,  14.84183,  15.60782,  15.51133,  15.99741,
 
1501
          15.29044,  15.96133,  18.16191,  18.90934,  19.56871,  22.44188,
 
1502
          22.56247,  25.58682,  28.63669,  27.85509,  31.08457,  33.50089,
 
1503
          35.4027 ,  35.83383,  38.8066 ,  38.73615,  40.98259,  43.03585,
 
1504
          42.80237,  43.99917,  44.16385,  46.55753,  46.70348,  48.60454,
 
1505
          49.99599,  50.40001,  49.42958,  52.21003,  53.40064,  53.1481 ,
 
1506
          52.84663,  52.94916,  53.74581,  53.15541,  50.90451,  52.1083 ,
 
1507
          49.81399,  51.67294,  50.41253,  51.58657,  49.01208,  45.18565,
 
1508
          45.88592,  43.88795,  43.95773,  42.47888,  40.03592,  37.56207,
 
1509
          37.5192 ,  34.13332,  32.64308,  31.57022,  29.68935,  25.70473,
 
1510
          22.23733,  22.4102 ,  20.14208,  16.06011,  14.62719,  12.31734,
 
1511
          11.429  ,   9.67155,   0.     ,   6.56064,   6.38088,  10.37223,
 
1512
          11.02495,  11.31594,  17.26136,  19.1381 ,  22.65982,  24.77406,
 
1513
          25.9365 ,  29.3083 ,  29.80644,  32.34705],
 
1514
        [ 36.97612,  34.08161,  33.6759 ,  33.39091,  32.26088,  31.53822,
 
1515
          29.34631,  29.01695,  29.00965,  26.76934,  24.08524,  24.20871,
 
1516
          22.05366,  19.53993,  18.50832,  18.96449,  16.34701,  17.97385,
 
1517
          14.45423,  15.61773,  13.11227,  15.3568 ,  13.46033,  15.0617 ,
 
1518
          14.5311 ,  15.86852,  17.02272,  18.07516,  17.40934,  20.82485,
 
1519
          20.68579,  24.49213,  26.61145,  26.08889,  29.69294,  31.99846,
 
1520
          33.98145,  33.96711,  37.42541,  37.92498,  39.58649,  41.8455 ,
 
1521
          41.36941,  42.7842 ,  43.17606,  45.24034,  45.24956,  47.90274,
 
1522
          48.57102,  49.3039 ,  48.33632,  51.04052,  52.18807,  52.11595,
 
1523
          51.78041,  52.10773,  52.60551,  51.87092,  49.78713,  51.08147,
 
1524
          49.07544,  50.62617,  49.41508,  50.8496 ,  48.08088,  44.54115,
 
1525
          45.21708,  43.79662,  42.77504,  41.88941,  39.3736 ,  37.45707,
 
1526
          37.10411,  33.45212,  32.72029,  31.17569,  29.77053,  25.34467,
 
1527
          22.66218,  22.68226,  19.79391,  16.8982 ,  15.04701,  12.2625 ,
 
1528
          11.46571,   9.04695,   6.56064,   0.     ,   5.98419,   8.35946,
 
1529
          11.68013,  10.99161,  17.01812,  18.26248,  21.8055 ,  23.90279,
 
1530
          25.4595 ,  28.64282,  28.83705,  32.02712],
 
1531
        [ 37.4974 ,  34.96767,  34.04663,  34.49413,  33.40864,  31.97442,
 
1532
          29.92087,  29.67471,  29.70327,  27.66108,  24.27307,  24.33682,
 
1533
          22.98183,  20.64083,  20.11721,  20.24747,  17.47794,  18.06633,
 
1534
          14.59398,  14.72379,  14.67681,  14.63636,  13.79958,  14.77595,
 
1535
          14.07159,  14.98222,  15.54819,  17.34202,  16.72036,  19.82573,
 
1536
          20.34994,  23.73966,  26.02174,  25.78955,  28.68309,  30.98915,
 
1537
          32.97956,  33.65132,  36.96229,  36.83463,  38.84249,  41.35057,
 
1538
          40.89437,  42.32976,  42.72795,  45.04445,  45.31637,  47.29044,
 
1539
          48.20799,  49.05992,  48.54484,  51.18106,  52.39054,  52.16829,
 
1540
          52.05071,  52.46879,  52.8835 ,  52.39965,  50.24847,  51.81738,
 
1541
          49.48923,  51.37421,  50.26066,  51.44928,  49.19229,  45.31625,
 
1542
          46.21675,  44.82826,  44.24492,  43.10642,  40.65807,  38.73435,
 
1543
          38.59252,  35.14618,  34.13216,  32.66191,  30.84631,  26.89611,
 
1544
          23.80291,  23.79207,  21.44302,  18.3223 ,  15.37031,  14.04632,
 
1545
          13.13148,  10.17736,   6.38088,   5.98419,   0.     ,   7.87813,
 
1546
          8.5264 ,  10.22297,  15.17486,  17.26896,  20.15363,  23.01967,
 
1547
          23.76411,  27.20938,  27.40981,  30.03519],
 
1548
        [ 39.19126,  36.59085,  35.63369,  36.29427,  34.83176,  34.20046,
 
1549
          31.66778,  31.85062,  31.74665,  29.75946,  27.16596,  26.71437,
 
1550
          25.33998,  23.14301,  22.55747,  21.6386 ,  19.00668,  21.34884,
 
1551
          17.7774 ,  17.00739,  17.10835,  16.4597 ,  13.68436,  14.59106,
 
1552
          12.69685,  13.66391,  14.56199,  14.70928,  15.08113,  16.70077,
 
1553
          17.57016,  21.92186,  22.74625,  22.49509,  26.09517,  28.78806,
 
1554
          30.08218,  30.88072,  34.28354,  34.6773 ,  36.13211,  39.45815,
 
1555
          38.88697,  40.70953,  41.05225,  43.71142,  43.29447,  46.48555,
 
1556
          46.79335,  47.89894,  47.60107,  50.27656,  51.76294,  52.09858,
 
1557
          51.83186,  52.27757,  53.24671,  52.58596,  51.22179,  52.5753 ,
 
1558
          50.83285,  52.55434,  51.50842,  53.70231,  50.28702,  47.01201,
 
1559
          48.21974,  47.13516,  46.45457,  45.66534,  43.06865,  41.86474,
 
1560
          41.46073,  38.06477,  37.76093,  36.26804,  34.5401 ,  30.90733,
 
1561
          27.72151,  28.38873,  25.49215,  22.22843,  19.6617 ,  18.81453,
 
1562
          16.10375,  13.59906,  10.37223,   8.35946,   7.87813,   0.     ,
 
1563
          8.67141,   8.22265,  10.68938,  14.39115,  15.81638,  18.19258,
 
1564
          20.24196,  24.13398,  23.94398,  26.50431],
 
1565
        [ 41.96371,  39.56174,  38.24726,  39.09789,  38.18059,  36.96213,
 
1566
          35.17056,  34.7836 ,  34.68077,  33.0935 ,  30.02343,  29.08875,
 
1567
          28.35413,  25.73473,  25.22857,  25.58849,  22.61177,  22.96009,
 
1568
          18.83897,  18.61744,  19.10648,  17.9459 ,  16.58338,  16.3054 ,
 
1569
          13.75561,  14.86599,  15.3057 ,  16.17006,  16.01239,  18.83691,
 
1570
          17.81885,  20.66609,  23.58481,  23.83891,  26.05857,  28.57053,
 
1571
          30.29887,  31.70992,  34.64723,  34.46336,  36.84814,  40.11168,
 
1572
          39.62182,  41.06713,  42.00461,  44.46337,  44.9994 ,  47.1459 ,
 
1573
          48.1779 ,  49.234  ,  49.68564,  52.28684,  53.60591,  53.53316,
 
1574
          53.22438,  54.53359,  55.09278,  55.23165,  53.41837,  55.01953,
 
1575
          53.02921,  55.1481 ,  54.21112,  55.7896 ,  53.56762,  50.01015,
 
1576
          51.36139,  50.10628,  49.95585,  48.94918,  46.5909 ,  44.60558,
 
1577
          44.64997,  41.77849,  40.74152,  39.40728,  37.42484,  34.04257,
 
1578
          30.83746,  30.63132,  28.64581,  24.9604 ,  22.50593,  21.19061,
 
1579
          20.41288,  16.54233,  11.02495,  11.68013,   8.5264 ,   8.67141,
 
1580
          0.     ,   8.20946,   9.70989,  11.26803,  13.99325,  18.01633,
 
1581
          18.62262,  21.68822,  22.49918,  24.09327],
 
1582
        [ 39.49224,  37.35437,  36.06871,  36.46602,  35.81903,  35.11644,
 
1583
          33.31352,  32.77038,  32.64932,  30.98471,  28.55089,  27.8246 ,
 
1584
          26.6982 ,  23.91935,  23.0396 ,  23.63285,  20.87814,  22.50932,
 
1585
          18.33698,  17.9266 ,  17.05555,  16.78672,  15.70851,  15.56181,
 
1586
          12.45704,  12.41707,  12.64367,  13.04202,  13.78221,  15.85836,
 
1587
          16.39775,  18.42641,  21.28107,  20.37192,  23.59887,  27.01304,
 
1588
          29.00976,  29.12309,  31.85059,  31.84197,  34.73249,  37.08534,
 
1589
          36.88549,  38.47232,  39.14698,  41.62923,  41.76229,  44.6641 ,
 
1590
          45.75658,  46.43048,  46.61442,  49.36971,  51.35824,  51.2622 ,
 
1591
          50.71905,  51.56906,  52.73899,  52.76786,  51.29034,  52.46332,
 
1592
          51.02381,  53.295  ,  52.03406,  54.36972,  51.16563,  48.42501,
 
1593
          49.18705,  48.05767,  48.08682,  47.14171,  44.99134,  43.27327,
 
1594
          43.08337,  40.61566,  39.28459,  38.57361,  37.09933,  33.31594,
 
1595
          30.51189,  30.55106,  28.7825 ,  24.69864,  22.25054,  21.12454,
 
1596
          19.36076,  17.9564 ,  11.31594,  10.99161,  10.22297,   8.22265,
 
1597
          8.20946,   0.     ,  10.97595,  10.25467,  13.79501,  15.37994,
 
1598
          15.98122,  19.6484 ,  20.7999 ,  23.08624],
 
1599
        [ 44.24451,  42.00158,  40.78921,  41.84873,  40.65885,  39.86917,
 
1600
          37.56416,  38.06911,  37.91062,  36.65424,  33.83448,  32.39523,
 
1601
          32.11611,  30.1514 ,  29.71055,  28.70622,  25.97138,  28.30391,
 
1602
          23.71274,  22.92496,  23.72982,  21.70309,  18.99807,  17.98122,
 
1603
          16.48731,  15.52539,  16.45475,  15.86513,  17.09382,  15.60841,
 
1604
          15.34486,  19.3634 ,  21.00584,  20.98593,  22.7285 ,  25.56683,
 
1605
          26.63001,  28.97938,  31.58249,  32.48614,  33.17741,  37.64673,
 
1606
          37.35607,  38.78739,  39.86511,  43.11111,  42.8692 ,  45.39504,
 
1607
          46.03133,  47.85874,  48.6812 ,  51.53462,  52.66349,  53.32599,
 
1608
          53.35513,  54.55259,  55.52021,  55.52018,  54.5929 ,  56.32081,
 
1609
          54.85708,  56.77537,  56.08765,  58.30467,  55.41252,  52.3525 ,
 
1610
          54.05609,  53.25517,  53.30444,  52.39688,  50.2539 ,  48.91205,
 
1611
          48.79588,  45.83126,  45.54548,  43.9427 ,  42.31915,  39.15504,
 
1612
          35.9164 ,  36.61026,  33.76637,  30.94594,  28.56357,  27.04242,
 
1613
          25.3713 ,  22.847  ,  17.26136,  17.01812,  15.17486,  10.68938,
 
1614
          9.70989,  10.97595,   0.     ,  11.45306,   8.11042,  12.83722,
 
1615
          15.11178,  18.41451,  17.69405,  18.89004],
 
1616
        [ 44.49713,  42.65467,  41.34813,  41.95262,  41.40321,  40.59916,
 
1617
          39.27059,  38.63774,  38.78521,  37.30058,  35.47091,  33.86684,
 
1618
          32.88203,  29.62866,  29.41731,  30.21742,  27.04819,  28.4628 ,
 
1619
          24.45456,  24.15302,  22.93954,  21.98327,  20.56008,  20.15022,
 
1620
          16.18279,  16.68747,  15.71403,  15.06125,  15.61569,  17.8028 ,
 
1621
          15.15469,  16.24486,  19.89187,  20.20119,  22.24654,  25.4267 ,
 
1622
          27.03646,  27.45576,  30.04064,  29.86623,  33.3556 ,  36.20666,
 
1623
          35.71787,  37.64475,  39.12616,  40.95347,  41.88106,  45.2002 ,
 
1624
          46.10588,  47.20917,  48.31756,  50.93333,  52.69263,  52.90649,
 
1625
          51.86422,  53.99784,  54.91969,  55.73155,  54.6199 ,  55.78484,
 
1626
          54.85699,  57.33105,  56.26153,  58.85498,  55.96844,  53.37068,
 
1627
          54.84453,  53.82784,  53.83046,  53.39353,  51.23541,  49.33654,
 
1628
          49.29285,  47.30105,  46.22894,  45.43841,  43.87867,  40.74492,
 
1629
          37.93316,  37.86975,  36.05478,  32.41159,  29.72752,  28.49102,
 
1630
          27.60118,  24.60167,  19.1381 ,  18.26248,  17.26896,  14.39115,
 
1631
          11.26803,  10.25467,  11.45306,   0.     ,   9.27356,  12.57009,
 
1632
          12.95849,  14.74353,  15.81852,  18.51871],
 
1633
        [ 46.20998,  44.21824,  43.00012,  44.21519,  43.17206,  42.25278,
 
1634
          40.62456,  40.78472,  40.83826,  39.65202,  37.51809,  35.84499,
 
1635
          35.32819,  33.12758,  32.39176,  32.68447,  29.54295,  31.64773,
 
1636
          27.512  ,  26.40181,  26.36839,  24.07691,  22.44251,  21.20001,
 
1637
          18.19724,  18.30724,  16.86429,  16.67207,  17.24015,  15.28365,
 
1638
          14.83316,  17.24548,  18.45627,  18.99761,  20.53253,  23.23683,
 
1639
          24.48703,  26.55069,  28.92462,  29.37943,  31.06652,  35.37051,
 
1640
          34.81861,  36.9269 ,  38.19473,  40.97874,  41.23793,  44.23507,
 
1641
          44.94675,  46.79585,  48.12534,  50.99637,  52.29538,  52.95174,
 
1642
          52.68216,  54.65517,  55.45876,  55.94518,  55.51699,  57.09844,
 
1643
          56.10978,  58.35886,  57.72116,  60.2241 ,  57.4112 ,  54.80933,
 
1644
          56.72943,  55.9775 ,  55.9695 ,  55.47101,  53.43403,  52.18163,
 
1645
          52.03523,  49.72211,  49.39464,  47.97621,  46.39273,  43.65432,
 
1646
          40.70448,  41.02305,  38.72334,  35.92687,  32.81706,  31.8115 ,
 
1647
          30.25563,  27.9245 ,  22.65982,  21.8055 ,  20.15363,  15.81638,
 
1648
          13.99325,  13.79501,   8.11042,   9.27356,   0.     ,  11.3311 ,
 
1649
          10.74328,  12.86819,  13.30844,  14.52224],
 
1650
        [ 45.17665,  42.7808 ,  42.36618,  43.15904,  41.53149,  42.35218,
 
1651
          40.2062 ,  39.75408,  39.61926,  39.12975,  37.42083,  36.03478,
 
1652
          35.61998,  33.46496,  32.91178,  31.55284,  30.34684,  32.1907 ,
 
1653
          27.97503,  27.03924,  26.99544,  26.11801,  22.97965,  21.39029,
 
1654
          18.82112,  16.95519,  16.85299,  15.02326,  16.33925,  15.19425,
 
1655
          14.19401,  15.15315,  16.11799,  15.27863,  16.26812,  21.19257,
 
1656
          22.05865,  22.69609,  24.27898,  25.34313,  27.70613,  31.85248,
 
1657
          31.64177,  33.11543,  33.86518,  37.50522,  37.14262,  41.08682,
 
1658
          41.40908,  42.67964,  44.56241,  47.03863,  49.4784 ,  49.96028,
 
1659
          49.67751,  51.26881,  53.12569,  53.73325,  53.60744,  54.71573,
 
1660
          54.39723,  56.29047,  55.39809,  59.29777,  55.34975,  53.68554,
 
1661
          55.20246,  54.96514,  55.1559 ,  54.71155,  53.31284,  52.20071,
 
1662
          51.96351,  50.48444,  49.45139,  49.1094 ,  48.0183 ,  44.59624,
 
1663
          42.1526 ,  43.05683,  40.7433 ,  36.56528,  34.96093,  34.8203 ,
 
1664
          31.87386,  29.98479,  24.77406,  23.90279,  23.01967,  18.19258,
 
1665
          18.01633,  15.37994,  12.83722,  12.57009,  11.3311 ,   0.     ,
 
1666
          9.90814,  11.78426,  11.47244,  12.76638],
 
1667
        [ 43.34276,  41.49634,  40.24461,  41.86844,  40.71829,  40.45489,
 
1668
          39.40489,  38.43139,  38.5705 ,  38.02632,  36.17692,  34.76023,
 
1669
          34.74136,  32.47884,  31.62541,  32.34425,  30.10012,  31.04573,
 
1670
          27.44909,  25.82034,  26.43948,  24.12467,  23.45606,  21.13788,
 
1671
          17.69826,  17.37892,  15.00269,  14.43571,  15.18723,  13.84108,
 
1672
          15.20368,  13.59916,  14.52011,  13.7462 ,  15.10008,  19.15064,
 
1673
          20.62081,  21.31464,  22.53438,  22.18623,  26.09503,  29.10527,
 
1674
          28.85684,  30.98764,  31.76617,  35.00647,  35.24283,  38.38866,
 
1675
          39.40758,  40.30443,  42.7187 ,  45.1501 ,  47.59661,  47.72114,
 
1676
          47.40003,  49.40055,  50.8073 ,  51.74464,  51.63282,  52.72249,
 
1677
          52.29678,  54.80877,  54.07596,  57.3284 ,  54.10888,  52.36036,
 
1678
          53.91346,  53.63403,  54.03066,  53.48973,  52.11044,  51.11608,
 
1679
          51.03286,  50.07272,  48.79067,  48.50627,  47.23087,  44.58934,
 
1680
          42.22162,  42.18162,  41.16185,  36.93542,  34.29057,  35.12966,
 
1681
          32.4665 ,  31.1793 ,  25.9365 ,  25.4595 ,  23.76411,  20.24196,
 
1682
          18.62262,  15.98122,  15.11178,  12.95849,  10.74328,   9.90814,
 
1683
          0.     ,   6.63421,  10.22093,   9.98474],
 
1684
        [ 45.20143,  42.89946,  42.30763,  43.70448,  42.49124,  42.53407,
 
1685
          41.81369,  40.51321,  40.69567,  40.69416,  39.05643,  37.39742,
 
1686
          37.0847 ,  35.00942,  33.79263,  35.03969,  33.17501,  33.47638,
 
1687
          29.9473 ,  28.7832 ,  28.60162,  26.69992,  26.30876,  23.4717 ,
 
1688
          20.07196,  20.49274,  17.43522,  17.62774,  17.0286 ,  16.11862,
 
1689
          15.44059,  12.73676,  14.22711,  13.92431,  13.99427,  17.6646 ,
 
1690
          19.57784,  19.94906,  20.85881,  20.58748,  25.22437,  28.10747,
 
1691
          27.61326,  29.72708,  30.50207,  33.76313,  34.57233,  37.70556,
 
1692
          38.86882,  39.8812 ,  42.53511,  44.98107,  47.05231,  47.06461,
 
1693
          46.87143,  49.64106,  50.61611,  51.99425,  52.1621 ,  53.32   ,
 
1694
          53.08869,  55.50578,  54.94413,  58.22332,  55.4712 ,  53.92575,
 
1695
          55.78262,  55.43629,  55.76022,  55.54874,  54.48838,  53.03856,
 
1696
          53.18936,  52.69689,  51.31535,  50.97824,  49.8669 ,  47.23448,
 
1697
          45.16766,  45.17244,  43.95332,  40.15198,  37.67062,  38.15204,
 
1698
          36.03614,  34.37541,  29.3083 ,  28.64282,  27.20938,  24.13398,
 
1699
          21.68822,  19.6484 ,  18.41451,  14.74353,  12.86819,  11.78426,
 
1700
          6.63421,   0.     ,   8.83043,   8.80103],
 
1701
        [ 42.75318,  41.51576,  40.55066,  41.85398,  40.79031,  40.64863,
 
1702
          39.33236,  39.43324,  39.56802,  39.21815,  38.09928,  35.57779,
 
1703
          36.06984,  33.91675,  34.18837,  33.47656,  31.31277,  33.5043 ,
 
1704
          29.47687,  28.60458,  28.39343,  26.15777,  24.09575,  22.23873,
 
1705
          20.9814 ,  18.30611,  17.0517 ,  15.52057,  16.96968,  13.96013,
 
1706
          11.80224,  10.23459,  12.12231,  12.80535,  10.96839,  13.95903,
 
1707
          14.73243,  16.52504,  17.8264 ,  18.68724,  20.37247,  24.43796,
 
1708
          24.23459,  25.83973,  27.94986,  30.48797,  31.19456,  34.12645,
 
1709
          34.90814,  36.95114,  39.36061,  42.0262 ,  43.63606,  44.40938,
 
1710
          43.90372,  46.62981,  47.78862,  49.21381,  49.27814,  50.79307,
 
1711
          50.68305,  53.14199,  52.52346,  56.01087,  53.09032,  51.51095,
 
1712
          53.64081,  53.67147,  54.37677,  54.10548,  52.87226,  51.85091,
 
1713
          51.82288,  50.98398,  50.31884,  49.73738,  48.80525,  46.50554,
 
1714
          44.28871,  45.04898,  43.33299,  40.34494,  38.17835,  38.01118,
 
1715
          36.48471,  34.48999,  29.80644,  28.83705,  27.40981,  23.94398,
 
1716
          22.49918,  20.7999 ,  17.69405,  15.81852,  13.30844,  11.47244,
 
1717
          10.22093,   8.83043,   0.     ,   7.46263],
 
1718
        [ 46.74111,  45.2993 ,  44.09355,  45.9426 ,  44.66045,  44.57547,
 
1719
          43.20546,  43.19846,  43.04025,  43.02089,  41.43184,  39.06011,
 
1720
          40.03816,  38.06303,  37.85652,  37.35049,  35.47796,  36.83706,
 
1721
          32.87905,  31.58328,  32.42605,  29.63547,  27.8713 ,  25.49112,
 
1722
          23.64271,  21.75684,  20.42138,  19.39125,  20.31666,  17.63429,
 
1723
          16.78251,  14.84621,  15.73701,  16.20137,  13.95765,  16.88417,
 
1724
          17.36648,  20.00963,  20.38759,  20.88898,  22.75393,  27.26505,
 
1725
          27.25467,  28.4507 ,  30.43803,  33.78487,  34.11927,  36.59337,
 
1726
          37.3594 ,  39.24277,  42.55081,  44.83658,  46.86818,  47.37281,
 
1727
          47.26843,  49.95592,  51.26349,  52.79329,  52.86302,  54.50537,
 
1728
          54.16762,  56.6705 ,  56.22352,  59.61459,  56.86156,  55.33784,
 
1729
          57.31579,  57.5573 ,  58.38252,  57.89195,  56.74007,  55.85643,
 
1730
          55.93366,  55.16405,  54.28067,  53.71283,  52.57763,  50.1937 ,
 
1731
          47.87966,  48.29225,  46.9185 ,  43.38612,  41.31302,  41.47549,
 
1732
          39.63076,  37.48156,  32.34705,  32.02712,  30.03519,  26.50431,
 
1733
          24.09327,  23.08624,  18.89004,  18.51871,  14.52224,  12.76638,
 
1734
          9.98474,   8.80103,   7.46263,   0.     ]])
 
1735
 
 
1736
 
 
1737
 
 
1738
class FastMetricScmdsScalingTests(TestCase):
 
1739
    """test the functions to do metric scaling"""
 
1740
 
 
1741
 
 
1742
    def setUp(self):
 
1743
        """creates inputs"""
 
1744
 
 
1745
        self.dist_func = lambda x, y: (FULL_SYM_MATRIX[x, y])
 
1746
        self.num_objects =  FULL_SYM_MATRIX.shape[0]
 
1747
 
 
1748
 
 
1749
    def test_scmds_cmds_tzeng(self):
 
1750
        """cmds_tzeng() should return eigenvectors and eigenvalues,
 
1751
        sorted by the eigenvalues
 
1752
        """
 
1753
 
 
1754
        dim = 3
 
1755
        (eigvec, eigval) = cmds_tzeng(FULL_SYM_MATRIX, dim)
 
1756
        self.assertTrue(len(eigval) == dim)
 
1757
        self.assertTrue(eigvec.shape == (FULL_SYM_MATRIX.shape[0], dim))
 
1758
        self.assertTrue(sorted(eigval, reverse=True) == eigval.tolist())
 
1759
 
 
1760
        self.assertFloatEqual(eigval[0], 27336.883436)
 
1761
        self.assertFloatEqual(eigval[-1], 536.736247)
 
1762
        self.assertFloatEqual(eigvec[0, 0], -14.978621)
 
1763
        self.assertFloatEqual(eigvec[-1, -1], 0.673001)
 
1764
 
 
1765
        # full pcoa
 
1766
        dim = FULL_SYM_MATRIX.shape[0]
 
1767
        (eigvec, eigval) = cmds_tzeng(FULL_SYM_MATRIX, dim)
 
1768
        self.assertTrue(len(eigval) == dim)
 
1769
        self.assertTrue(eigvec.shape == (FULL_SYM_MATRIX.shape[0], dim))
 
1770
        self.assertTrue(sorted(eigval, reverse=True) == eigval.tolist())
 
1771
 
 
1772
        self.assertFloatEqual(eigval[0], 27336.883436043929)
 
1773
        self.assertFloatEqual(eigval[-1], 0.000000)
 
1774
        self.assertFloatEqual(eigvec[0, 0], -14.978621)
 
1775
        self.assertFloatEqual(eigvec[-1, -1], 0.000000)
 
1776
 
 
1777
 
 
1778
    def test_scmds_rowmeans(self):
 
1779
        """rowmeans() should return a vector of row-means for a 2d matrix.
 
1780
        """
 
1781
 
 
1782
        rm = rowmeans(FULL_SYM_MATRIX[:10])
 
1783
        self.assertTrue(rm.shape[0] == 10)
 
1784
        self.assertFloatEqual(float(rm[0]),  25.983320)
 
1785
        self.assertFloatEqual(float(rm[-1]), 23.967050)
 
1786
 
 
1787
 
 
1788
 
 
1789
    def test_scmds_recenter(self):
 
1790
        """recenter() should recenter an mds solution
 
1791
        """
 
1792
 
 
1793
        mds_coords = matrix([
 
1794
                [-3.78333558, -2.90925004,  2.75333034],
 
1795
                [ 5.18887751, -1.2130882 , -0.86476508],
 
1796
                [-3.10404298, -0.6620052 , -3.91668873],
 
1797
                [-2.53758526,  3.99102424,  0.86289149],
 
1798
                [ 4.23608631,  0.7933192 ,  1.16523198]])
 
1799
        
 
1800
        centered_coords = recenter(mds_coords)
 
1801
        self.assertTrue(centered_coords.shape == mds_coords.shape)
 
1802
        center_of_gravity = sum([centered_coords[:, x].sum() \
 
1803
                                     for x in range(centered_coords.shape[1])])
 
1804
        self.assertFloatEqual(center_of_gravity, 0.0)
 
1805
 
 
1806
 
 
1807
    def test_scmds_affine_mapping(self):
 
1808
        """affine_mapping() should return a touple of two matrices of
 
1809
        certain shape
 
1810
        """
 
1811
 
 
1812
        matrix_x = matrix([
 
1813
                [-24.03457111,  10.10355666, -23.17039728,  28.48438894,
 
1814
                  22.57322482],
 
1815
                [  0.62716392,  20.84502664,   6.42317521,  -7.66901011,
 
1816
                   14.37923852],
 
1817
                [ -2.60793417,   2.83532649,   2.91024821,   1.37414959,
 
1818
                   -4.22916659]])
 
1819
        matrix_y = matrix([
 
1820
                [-29.81089477,  -2.01312927, -30.5925487 ,  23.05985801,
 
1821
                  11.68581751],
 
1822
                [ -4.68879117,  23.62633294,   1.07934315,   0.57461989,
 
1823
                   20.52800221],
 
1824
                [ -0.51503505,   1.18377044,   0.83671471,   1.81751358,
 
1825
                   -3.28812925]])
 
1826
 
 
1827
        dim = matrix_x.shape[0]
 
1828
 
 
1829
        (tu, tb) = affine_mapping(matrix_x, matrix_y)
 
1830
        self.assertTrue(tu.shape[0] == dim and tb.shape[0] == dim)
 
1831
        self.assertTrue(tu.shape[0] == tu.shape[1])
 
1832
        self.assertFloatEqual(tu[0, 0], 0.966653)
 
1833
        self.assertFloatEqual(tu[-1, -1], 0.994816)
 
1834
        self.assertFloatEqual(tb[0, 0], -6.480975)
 
1835
        self.assertFloatEqual(tb[-1, -1], 0.686521)
 
1836
 
 
1837
 
 
1838
 
 
1839
    def test_scmds_adjust_mds_to_ref(self):
 
1840
        """adjust_mds_to_ref() should return an adjusted mds solutions"""
 
1841
 
 
1842
        overlap = 5
 
1843
        dim = 3
 
1844
        size = 10
 
1845
        fake_mds_coords_ref = FULL_SYM_MATRIX[:size, :dim]
 
1846
        fake_mds_coords_add = FULL_SYM_MATRIX[overlap:size+overlap, :dim]
 
1847
 
 
1848
        mds_adj = adjust_mds_to_ref(fake_mds_coords_ref,
 
1849
                                    fake_mds_coords_add, overlap)
 
1850
        self.assertTrue(mds_adj.shape == fake_mds_coords_add.shape)
 
1851
        self.assertFloatEqual(mds_adj[0, 0],  7.526609)
 
1852
        self.assertFloatEqual(mds_adj[-1, -1], 18.009350)
 
1853
 
 
1854
 
 
1855
        
 
1856
    def test_scmds_combine_mds(self):
 
1857
        """combine_mds() should merge two mds solutions
 
1858
        """
 
1859
 
 
1860
        overlap = 3
 
1861
        dim = 3
 
1862
        mds_coords_1 = matrix([
 
1863
                [-3.78333558, -2.90925004,  2.75333034],
 
1864
                [ 5.18887751, -1.2130882 , -0.86476508],
 
1865
                [-3.10404298, -0.6620052 , -3.91668873],
 
1866
                [-2.53758526,  3.99102424,  0.86289149],
 
1867
                [ 4.23608631,  0.7933192 ,  1.16523198]])
 
1868
        mds_coords_2 = matrix([
 
1869
                [-3.78333558, -2.90925004,  2.75333034],
 
1870
                [ 5.18887751, -1.2130882 , -0.86476508],
 
1871
                [-3.10404298, -0.6620052 , -3.91668873],
 
1872
                [-2.53758526,  3.99102424,  0.86289149],
 
1873
                [ 4.23608631,  0.7933192 ,  1.16523198]])
 
1874
 
 
1875
        comb_mds = combine_mds(mds_coords_1,
 
1876
                               mds_coords_2, overlap)
 
1877
        self.assertTrue(comb_mds.shape == (
 
1878
                mds_coords_1.shape[0]*2-overlap, dim))
 
1879
        self.assertFloatEqual(comb_mds[0, 0], -3.783335)
 
1880
        #self.assertFloatEqual(comb_mds[-1, -1], 0.349951)
 
1881
 
 
1882
 
 
1883
    def test_scmds_class_combinemds(self):
 
1884
        """class CombineMds() should be able to join MDS solutions
 
1885
        """
 
1886
 
 
1887
        # tmp note
 
1888
        # tile1 = FULL_SYM_MATRIX[0:5, 0:5]
 
1889
        # tile2 = FULL_SYM_MATRIX[2:7, 2:7]
 
1890
        # mds_coords_1 = cmds_tzeng(tile1, 3)
 
1891
        # mds_coords_2 = cmds_tzeng(tile2, 3)
 
1892
        overlap = 3
 
1893
        mds_coords_1 = matrix([
 
1894
                [-3.78333558, -2.90925004,  2.75333034],
 
1895
                [ 5.18887751, -1.2130882 , -0.86476508],
 
1896
                [-3.10404298, -0.6620052 , -3.91668873],
 
1897
                [-2.53758526,  3.99102424,  0.86289149],
 
1898
                [ 4.23608631,  0.7933192 ,  1.16523198]])
 
1899
        mds_coords_2 = matrix([
 
1900
                [-3.78333558, -2.90925004,  2.75333034],
 
1901
                [ 5.18887751, -1.2130882 , -0.86476508],
 
1902
                [-3.10404298, -0.6620052 , -3.91668873],
 
1903
                [-2.53758526,  3.99102424,  0.86289149],
 
1904
                [ 4.23608631,  0.7933192 ,  1.16523198]])
 
1905
 
 
1906
        comb_mds = CombineMds()
 
1907
        comb_mds.add(mds_coords_1, overlap)
 
1908
        comb_mds.add(mds_coords_2, overlap)
 
1909
        final_mds = comb_mds.getFinalMDS()
 
1910
 
 
1911
        self.assertTrue(final_mds.shape == (mds_coords_1.shape[0]*2-overlap, 
 
1912
                                            mds_coords_1.shape[1]))
 
1913
        #self.assertFloatEqual(final_mds[0, 0], 0.0393279)
 
1914
        #self.assertFloatEqual(final_mds[-1, -1], -5.322599)
 
1915
 
 
1916
 
 
1917
 
 
1918
 
 
1919
class FastMetricNystromScalingTests(TestCase):
 
1920
    """test the functions to do metric scaling"""
 
1921
 
 
1922
 
 
1923
    def setUp(self):
 
1924
        """creates inputs"""
 
1925
 
 
1926
        self.big_seed_matrix = FULL_SYM_MATRIX[:49]
 
1927
        self.small_seed_matrix = FULL_SYM_MATRIX[:25]
 
1928
 
 
1929
 
 
1930
    def test_calc_matrix_a(self):
 
1931
        """calc_matrix_a should calculate a k x k matrix of
 
1932
        (predefined) association matrix K of certain (predefined)
 
1933
        value"""
 
1934
 
 
1935
        nseeds = self.small_seed_matrix.shape[0]
 
1936
        matrix_e = self.small_seed_matrix[:, 0:nseeds]
 
1937
        matrix_a = calc_matrix_a(matrix_e)
 
1938
        self.assertFloatEqual(matrix_a[0, 0], 250.032270)
 
1939
        self.assertFloatEqual(matrix_a[-1][-1], 316.875461)
 
1940
 
 
1941
 
 
1942
    def test_nystrom_build_seed_matrix(self):
 
1943
        """build_seed_matrix() should return a seedmatrix and an order
 
1944
        """
 
1945
        
 
1946
        seedmat_dim = 10
 
1947
        dist_func = lambda x, y: (FULL_SYM_MATRIX[x, y])
 
1948
        (seedmat, order) = build_seed_matrix(
 
1949
            FULL_SYM_MATRIX.shape[0], seedmat_dim, dist_func)
 
1950
        self.assertTrue(len(order) == FULL_SYM_MATRIX.shape[0])
 
1951
        self.assertTrue(sorted(order) == range(FULL_SYM_MATRIX.shape[0]))
 
1952
        self.assertTrue(seedmat.shape == (
 
1953
                seedmat_dim, FULL_SYM_MATRIX.shape[0]))
 
1954
 
 
1955
        # build_seed_matrix randomises order
 
1956
        ind = argsort(order)
 
1957
        i =  random.randint(0, seedmat.shape[0])
 
1958
        j =  random.randint(0, seedmat.shape[1])
 
1959
        self.assertFloatEqual(seedmat[i, j], FULL_SYM_MATRIX[ind[i], ind[j]])
 
1960
        
 
1961
 
 
1962
    def test_nystrom(self):
 
1963
        """nystrom() should return an MDS approximation"""
 
1964
 
 
1965
        dim = 3
 
1966
        mds_coords = nystrom(self.big_seed_matrix, dim)
 
1967
        self.assertTrue(len(mds_coords.shape) == 2)
 
1968
        self.assertTrue(mds_coords.shape[0] == self.big_seed_matrix.shape[1])
 
1969
        self.assertTrue(mds_coords.shape[1] == dim)
 
1970
        self.assertFloatEqual(mds_coords[0, 0], -10.709626)
 
1971
        self.assertFloatEqual(mds_coords[-1, -1], -1.778160)
 
1972
 
 
1973
 
 
1974
    def test_nystrom_seed_number(self):
 
1975
        """nystrom() should give better MDS approximations the more
 
1976
        seeds were used"""
 
1977
 
 
1978
        dim = 3
 
1979
        mds_coords = nystrom(self.big_seed_matrix, dim)
 
1980
        stress = goodness_of_fit.Stress(FULL_SYM_MATRIX, mds_coords)
 
1981
        kruskal_stress_big_mat = stress.calcKruskalStress()
 
1982
        if PRINT_STRESS:
 
1983
            print("INFO: Kruskal stress for Nystrom MDS (big_seed_matrix, dim=%d) = %f" % \
 
1984
                      (dim, kruskal_stress_big_mat))
 
1985
        self.assertTrue(kruskal_stress_big_mat < 0.04)
 
1986
 
 
1987
 
 
1988
        mds_coords = nystrom(self.small_seed_matrix, dim)
 
1989
        stress = goodness_of_fit.Stress(FULL_SYM_MATRIX, mds_coords)
 
1990
        kruskal_stress_small_mat = stress.calcKruskalStress()
 
1991
        if PRINT_STRESS:
 
1992
            print("INFO: Kruskal stress for Nystrom MDS (small_seed_matrix, dim=%d) = %f" % \
 
1993
                      (dim, kruskal_stress_small_mat))
 
1994
        self.assertTrue(kruskal_stress_small_mat < 0.06)
 
1995
 
 
1996
        self.assertTrue(kruskal_stress_small_mat > kruskal_stress_big_mat)
 
1997
 
 
1998
    def test_calc_matrix_b(self):
 
1999
        """calc_matrix_b should calculate a k x n-k matrix of
 
2000
        association matrix K
 
2001
        """
 
2002
 
 
2003
        nseeds = self.small_seed_matrix.shape[0]
 
2004
        matrix_e = self.small_seed_matrix[:, 0:nseeds]
 
2005
        matrix_f = self.small_seed_matrix[:, nseeds:]        
 
2006
        matrix_b = calc_matrix_b(matrix_e, matrix_f)
 
2007
 
 
2008
        self.assertTrue(matrix_b.shape == matrix_f.shape)
 
2009
        self.assertFloatEqual(matrix_b[0, 0], -272.711227)
 
2010
        self.assertFloatEqual(matrix_b[-1, -1], -64.898372)
 
2011
 
 
2012
 
 
2013
#run if called from the command line
 
2014
if __name__ == '__main__':
 
2015
    main()
 
2016