when_exe 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 69630f5514eefbea95c1ddca1274582e19e337d0
4
- data.tar.gz: 34bdb14391d28c9014e8b9b7229f1b03f52c10da
3
+ metadata.gz: a70f4c1554b425044499c3ed9055af1716bd6583
4
+ data.tar.gz: 494d431688613d512807d12a7cf2d980cc0f8938
5
5
  SHA512:
6
- metadata.gz: c616bb66c59cac0b12cf6fc0305e2c514c021ea9c3cf1e31a37c0cf9cc1d578dc8b7990200972bbcc83b9b8bcf4b8ddbcd7909fd3280e95aa5af7d30b3d5200a
7
- data.tar.gz: 648c7b04e05f2c9759112a6c2dc967a78fd61f3800bc7a3f04bf874539f9b785f4e5cc644904aff3649947a74741096c836eb813e2fba8938e7b6811e66da707
6
+ metadata.gz: dcc18438e7fb48199d6857d38360046ab94983b85bde2830179713d4c493782934181ad84fc88992396c8370100f83364e677a3274eb57bf87195426ca8898b8
7
+ data.tar.gz: 0b6c58602fe5e9f49017e54ead7652b1076cd2e7e7bf7881c0d40e512661f1258df70fb8f0bc36cebcb1e7be820514222e0c5bd35f6440142024e2075c53f441
@@ -0,0 +1,9 @@
1
+ require 'pp'
2
+ require 'date'
3
+ require 'when_exe'
4
+ require 'when_exe/core/extension'
5
+ require 'when_exe/mini_application'
6
+ include When
7
+ Pry.hooks.add_hook :after_read, :hack_encoding do |str, _|
8
+ str.force_encoding STDIN.external_encoding
9
+ end
@@ -61,6 +61,8 @@ module When
61
61
  # @option options [Numeric] :wikipedia_interval Wikipedia の連続的な参照を抑制するための遅延時間/秒
62
62
  # @option options [Array<String>] :order CalendarEra の検索順序 ([ IRI of When::TM::CalendarEra ])
63
63
  # @option options [Hash{String=>Array, String}] :format strftime で用いる記号の定義 ({ 記号=>[ 書式,項目名 ] or 記号列 })
64
+ # @option options [false, nil] :table_off 高精度テーブル使用の指定 - 使用する
65
+ # @option options [true] :table_off 高精度テーブル使用の指定 - 使用しない
64
66
  # @option options [Array<Array>] :leap_seconds 閏秒の挿入記録 ([ [JD, TAI-UTC, (MJD, OFFSET)] ])
65
67
  # @option options [String] :base_uri Base URI for When_exe Resources (Default When::SourceURI)
66
68
  # @option options [Hash<String=>String>] :additional_namespaces User defined namespaces (Default {})
@@ -90,6 +92,7 @@ module When
90
92
  TM::Calendar._setup_
91
93
  TM::Clock._setup_(options[:local])
92
94
  TM::TemporalPosition._setup_(options[:format])
95
+ CalendarNote::LuniSolarPositions._setup_(options[:table_off])
93
96
  V::Event._setup_(options[:until])
94
97
  V::Timezone._setup_
95
98
  Parts::Timezone._setup_
@@ -109,6 +112,7 @@ module When
109
112
  update(TM::CalendarEra._setup_info).
110
113
  update(TM::Clock._setup_info).
111
114
  update(TM::TemporalPosition._setup_info).
115
+ update(CalendarNote::LuniSolarPositions._setup_info).
112
116
  update(V::Event._setup_info).
113
117
  update(TimeStandard._setup_info)
114
118
  end
@@ -386,6 +390,7 @@ module When
386
390
  end
387
391
 
388
392
  class CalendarNote
393
+ autoload :LuniSolarPositions, 'when_exe/ephemeris/notes'
389
394
  autoload :SolarTerms, 'when_exe/ephemeris/notes'
390
395
  autoload :LunarPhases, 'when_exe/ephemeris/notes'
391
396
  autoload :Ephemeris, 'when_exe/ephemeris/notes'
@@ -605,9 +610,9 @@ module When
605
610
  #
606
611
  def strptime(date_time, format, options={})
607
612
  h = When::Locale._to_date_time_hash(date_time, format, options[:locale])
608
- abbr_y, abbr_m, abbr_d, =
609
- options[:abbr].kind_of?(When::TimeValue) ?
610
- ((options[:frame]||When::Gregorian) ^ options[:abbr]).cal_date : options[:abbr]
613
+ frame = options[:frame] ? When.Calendar(options[:frame]) : When::Gregorian
614
+ abbr_y, abbr_m, abbr_d, = options[:abbr].kind_of?(When::TimeValue) ?
615
+ (frame ^ options[:abbr]).cal_date : options[:abbr]
611
616
  args = [h[:year] || abbr_y || ::Date.today.year]
612
617
  args << (h[:mon] || abbr_m || 1) if h[:hour] || h[:mon]
613
618
  args << (h[:mday] || abbr_d || 1) if h[:hour] || (h[:mon] && h[:mday])
@@ -617,8 +622,8 @@ module When
617
622
  args << options.dup
618
623
  args[-1].delete(:locale)
619
624
  args[-1].delete(:abbr)
620
- args[-1].update({:parse=>{:residue=>{2=>When.Residue((h[:wday]-1)%7)}}}) if h[:wday]
621
- args[-1].update({:clock=>When::TM::Clock.to_hms(h[:offset])}) if h[:offset]
625
+ args[-1].update({:parse=>{:residue=>{frame.indices.length=>When.Residue((h[:wday]-1)%7)}}}) if h[:wday]
626
+ args[-1].update({:clock=>When::TM::Clock.to_hms(h[:offset])}) if h[:offset]
622
627
  TM::TemporalPosition._temporal_position(*args)
623
628
  end
624
629
 
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2011-2015 Takashi SUGA
3
+ Copyright (C) 2011-2016 Takashi SUGA
4
4
 
5
5
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
6
  =end
@@ -29,7 +29,7 @@ module When
29
29
  # @option options [Integer] :extra_year_digits ISO8601拡大表記のための年の構成要素拡大桁数(省略時 1桁)
30
30
  # @option options [Integer] :ordinal_date_digits ISO8601拡大表記の年内通日の桁数(省略時 3桁)
31
31
  #
32
- # @return [Array] format, date, time, clock, era
32
+ # @return [Array] format, date, time, clock, era, r
33
33
  #
34
34
  # format (Symbol, nil)
35
35
  # nil 通常形式
@@ -45,6 +45,8 @@ module When
45
45
  #
46
46
  # era (String, Array<String, Integer>) 年号(Integerは0年に対応する通年)
47
47
  #
48
+ # r (Hash<Integer=>When::Coordinates::Residue or String>) 剰余類などの指定
49
+ #
48
50
  def _to_array(date_time, options={})
49
51
  raise TypeError, "Argument is not ISO 8601 String" unless date_time.kind_of?(String)
50
52
  if options[:abbr].kind_of?(When::TimeValue)
@@ -165,7 +167,7 @@ module When
165
167
  parse.each do |item|
166
168
  item[2] ? date_time.gsub!(item[0], item[1]) :
167
169
  item[1] ? date_time.sub!( item[0], item[1]) :
168
- date_time.gsub!(When::Locale::NumRExp3) {|digit| When::Locale.k2a_digits(digit, true)}
170
+ date_time.gsub!(When::Locale.const_get(item[0])) {|digit| When::Locale.k2a_digits(digit, true)}
169
171
  end unless date_time =~ /\{/
170
172
  end
171
173
  date_time
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2011-2015 Takashi SUGA
3
+ Copyright (C) 2011-2016 Takashi SUGA
4
4
 
5
5
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
6
  =end
@@ -73,33 +73,6 @@ module When::CalendarTypes
73
73
  #
74
74
  class LocalTime < UTC
75
75
 
76
- # 128秒単位の実数による参照事象の時刻
77
- #
78
- # Fraction time of the reference event
79
- #
80
- # @param [Integer] sdn 参照事象の通し番号
81
- #
82
- # @return [Numeric]
83
- #
84
- # T00:00:00Z からの参照事象の経過時間 / 128秒
85
- #
86
- def universal_time(sdn=nil)
87
- return super - @time_standard.localtime_difference unless sdn
88
- time = When::TM::JulianDate._d_to_t(sdn-0.5)
89
- @time_standard.to_dynamical_time(time) - When::TimeStandard.to_dynamical_time(time)
90
- end
91
-
92
- # この時法の時刻を128秒単位の実数に変換する
93
- #
94
- # @param [Array<Numeric>] clk_time
95
- # @param [Integer] sdn 参照事象の通し番号(ダミー)
96
- #
97
- # @return [Numeric]
98
- #
99
- def to_local_time(clk_time, sdn=nil)
100
- super - universal_time(sdn)
101
- end
102
-
103
76
  #
104
77
  # Zone 名
105
78
  #
@@ -108,14 +81,6 @@ module When::CalendarTypes
108
81
  def zone
109
82
  iri.split('/')[-1]
110
83
  end
111
-
112
- private
113
-
114
- # オブジェクトの正規化
115
- def _normalize(args=[], options={})
116
- @origin_of_LSC = - @time_standard.localtime_difference / When::TM::Duration::SECOND
117
- super
118
- end
119
84
  end
120
85
 
121
86
  #
@@ -1325,7 +1290,8 @@ module When::CalendarTypes
1325
1290
  #
1326
1291
  def _normalize(args=[], options={})
1327
1292
  @cycle_offset ||= -1.5
1328
- @formula ||= "Formula?formula=#{@months_in_year||12}S"
1293
+ @formula ||= (When::CalendarNote::LuniSolarPositions.table_off ?
1294
+ "Formula?formula=#{@months_in_year||12}S" : 'SolarFormulaWithTable')
1329
1295
  super
1330
1296
  end
1331
1297
  end
@@ -1472,7 +1438,9 @@ module When::CalendarTypes
1472
1438
  # notes = to_a でデフォルトとして用いる暦注
1473
1439
  #
1474
1440
  def _normalize(args=[], options={})
1475
- @formula ||= ['Formula?formula=12S', 'Formula?formula=1L']
1441
+ @formula ||= (When::CalendarNote::LuniSolarPositions.table_off ?
1442
+ ['Formula?formula=12S', 'Formula?formula=1L'] :
1443
+ ['SolarFormulaWithTable','LunarFormulaWithTable'])
1476
1444
  super
1477
1445
  end
1478
1446
  end
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2011-2015 Takashi SUGA
3
+ Copyright (C) 2011-2016 Takashi SUGA
4
4
 
5
5
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
6
  =end
@@ -26,6 +26,9 @@ module When::Ephemeris
26
26
  autoload :V50, 'when_exe/ephemeris/v50'
27
27
  autoload :Hindu, 'when_exe/region/indian'
28
28
 
29
+ autoload :SolarFormulaWithTable, 'when_exe/ephemeris/term_table'
30
+ autoload :LunarFormulaWithTable, 'when_exe/ephemeris/phase_table'
31
+
29
32
  include Math
30
33
 
31
34
  DAY = 86400.0 # 日 / 秒
@@ -1574,7 +1577,7 @@ module When::Ephemeris
1574
1577
  seed[:precision] = nil
1575
1578
  seed[:clock] ||= When::TM::Clock.local_time
1576
1579
  t = When::TM::JulianDate._d_to_t(d)
1577
- seed[:frame].jul_trans(@is_dynamical ? When::TM::JulianDate.dynamical_time(t) :
1580
+ seed[:frame].jul_trans(@is_dynamical ? When::TM::JulianDate.dynamical_time(t, {:time_standard=>seed[:time_standard]}) :
1578
1581
  When::TM::JulianDate.universal_time(t), seed)
1579
1582
  end
1580
1583
 
@@ -1775,6 +1778,43 @@ module When::Ephemeris
1775
1778
  end
1776
1779
  end
1777
1780
 
1781
+ #
1782
+ # 一部表引き
1783
+ #
1784
+ class FormulaWithTable < Formula
1785
+
1786
+ private
1787
+
1788
+ # 周期番号 -> 日時
1789
+ #
1790
+ # @param [Numeric] cn 周期番号
1791
+ # @param [Numeric] time0 日時の初期近似値
1792
+ #
1793
+ # @return [Numeric] ユリウス日
1794
+ #
1795
+ def cn_to_time_(cn, time0=nil)
1796
+ count = ((cn - self.class::CycleBase) * self.class::CycleUnit / 360.0).floor
1797
+ return super unless count >= 0
1798
+ degree = (cn * self.class::CycleUnit) % 360
1799
+ degree = degree.round if (degree - degree.round).abs < 1.5E-8
1800
+ if degree == 360
1801
+ degree = 0
1802
+ count += 1
1803
+ end
1804
+ epoch = self.class::Epoch[degree]
1805
+ return super unless epoch
1806
+ delta = self.class::Delta[degree][count]
1807
+ return super unless delta
1808
+ epoch + count * self.class::CyclePeriod + delta * 1E-9
1809
+ end
1810
+
1811
+ # オブジェクトの正規化
1812
+ def _normalize(args=[], options={})
1813
+ @formula = self.class::FormulaType
1814
+ super
1815
+ end
1816
+ end
1817
+
1778
1818
  #
1779
1819
  # Luni-Solar Calendar Formula for Mean Lunation Type
1780
1820
  #
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2014-2015 Takashi SUGA
3
+ Copyright (C) 2014-2016 Takashi SUGA
4
4
 
5
5
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
6
  =end
@@ -16,14 +16,14 @@ class When::Coordinates::Spatial
16
16
  # 日食の情報
17
17
  #
18
18
  # @param [When::TM::TemporalPosition] date
19
- # @param [Range<When::TM::TemporalPosition>] date
19
+ # @param [::Range<When::TM::TemporalPosition>] date
20
20
  # @param [Block] block
21
21
  #
22
- # @return [Array<String, Numeric, Array<Array<Numeric or When::TM::TemporalPosition, String>>>] 食の情報(のArray(dateRangeの場合))
22
+ # @return [Array<String, Numeric, Array<Array<Numeric or When::TM::TemporalPosition, String>>>] 食の情報(のArray(dateが::Rangeの場合))
23
23
  # @see When::Coordinates::Spatial#eclipse_info
24
24
  #
25
25
  def solar_eclipse(date, &block)
26
- if date.kind_of?(Range)
26
+ if date.kind_of?(::Range)
27
27
  last = date.last.to_i
28
28
  last -= 1 if date.exclude_end?
29
29
  first = date.first.to_i
@@ -51,16 +51,16 @@ class When::Coordinates::Spatial
51
51
  # 月食の情報
52
52
  #
53
53
  # @param [When::TM::TemporalPosition] date
54
- # @param [Range<When::TM::TemporalPosition>] date
55
- # @note Rangeの場合夜半より翌日に向けmargin経過時点より前は前日扱い
54
+ # @param [::Range<When::TM::TemporalPosition>] date
55
+ # @note ::Rangeの場合夜半より翌日に向けmargin経過時点より前は前日扱い
56
56
  # @param [When::TM::Duration] margin
57
57
  # @param [Block] block
58
58
  #
59
- # @return [Array<String, Numeric, Array<Array<Numeric or When::TM::TemporalPosition, String>>>] 食の情報(のArray(dateRangeの場合))
59
+ # @return [Array<String, Numeric, Array<Array<Numeric or When::TM::TemporalPosition, String>>>] 食の情報(のArray(dateが::Rangeの場合))
60
60
  # @see When::Coordinates::Spatial#eclipse_info
61
61
  #
62
62
  def lunar_eclipse(date, margin=When::PT6H, &block)
63
- if date.kind_of?(Range)
63
+ if date.kind_of?(::Range)
64
64
  last = date.last.to_i
65
65
  last -= 1 if date.exclude_end?
66
66
  first = date.first.to_i
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2011-2015 Takashi SUGA
3
+ Copyright (C) 2011-2016 Takashi SUGA
4
4
 
5
5
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
6
  =end
@@ -14,6 +14,32 @@ class When::CalendarNote
14
14
  #
15
15
  class LuniSolarPositions < self
16
16
 
17
+ class << self
18
+
19
+ # 高精度テーブル使用の指定状態
20
+ #
21
+ # @return [Boolean] true - 使用しない, false,nil - 使用する
22
+ #
23
+ attr_accessor :table_off
24
+
25
+ #
26
+ # @param [Boolean] table_off 高精度テーブル使用の指定 true - 使用しない, false,nil - 使用する
27
+ #
28
+ # @return [void]
29
+ #
30
+ def _setup_(table_off=nil)
31
+ @table_off = table_off
32
+ end
33
+
34
+ # 設定情報を取得する
35
+ #
36
+ # @return [Hash] 設定情報
37
+ #
38
+ def _setup_info
39
+ {:table_off => @table_off}
40
+ end
41
+ end
42
+
17
43
  # 座標の分子
18
44
  #
19
45
  # @return [Numeric]
@@ -150,7 +176,7 @@ class When::CalendarNote
150
176
  @event ||= 'term'
151
177
  @num = (num || @num || 0).to_f
152
178
  @den = (den || @den || 360).to_f
153
- @formula = When.Resource(formula || @formula ||'Formula?formula=12S', '_ep:')
179
+ @formula = When.Resource(formula || @formula || (LuniSolarPositions.table_off ? 'Formula?formula=12S' : 'SolarFormulaWithTable'), '_ep:')
154
180
  @delta = When.Duration(delta || @delta || When::TM::IntervalLength.new(@den/360, 'year'))
155
181
  @margin = (margin || @margin || 1E-8).to_f
156
182
  super
@@ -203,7 +229,7 @@ class When::CalendarNote
203
229
  @event ||= 'phase'
204
230
  @num = (num || @num || 0).to_f
205
231
  @den = (den || @den || 30).to_f
206
- @formula = When.Resource(formula || @formula ||'Formula?formula=1L', '_ep:')
232
+ @formula = When.Resource(formula || @formula || (LuniSolarPositions.table_off ? 'Formula?formula=1L' : 'LunarFormulaWithTable'), '_ep:')
207
233
  @delta = When.Duration(delta || @delta || When::TM::IntervalLength.new(@den/30, 'month'))
208
234
  @margin = (margin || @margin || 1E-8).to_f
209
235
  super
@@ -0,0 +1,825 @@
1
+ # -*- coding: utf-8 -*-
2
+ =begin
3
+ Copyright (C) 2016 Takashi SUGA
4
+
5
+ You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
+ =end
7
+
8
+ module When::Ephemeris
9
+
10
+ #
11
+ # 月の位相 → 日時 (1975-2100 の期間を表引き)
12
+ #
13
+ class LunarFormulaWithTable < FormulaWithTable
14
+
15
+ # 計算方式
16
+ FormulaType = '1L'
17
+
18
+ # 一周期の角度
19
+ CycleUnit = 360
20
+
21
+ # 一月の日数
22
+ CyclePeriod = 29.530589
23
+
24
+ # 表の先頭の周期番号
25
+ CycleBase = 36795.75
26
+
27
+ # 元期(ユリウス通日)
28
+ Epoch = {
29
+ 0=>2442425.1462013517,
30
+ 90=>2442432.5308747757,
31
+ 180=>2442439.909708398,
32
+ 270=>2442417.7596480055}
33
+
34
+ # 差分 / 10^-9 日
35
+ Delta = {
36
+ 0=>
37
+ [-215396522, 43772914, 284420537, 456301957, 527027489, 485481281, 344492820, 138380116,
38
+ -85732533, -279801555, -406580273, -447395019, -401594732, -279313919, -98378108, 109343356,
39
+ 295111259, 408473241, 421757808, 341710787, 201286321, 41744293, -103591000, -216821864,
40
+ -291061393, -319344515, -290359540, -198886827, -60870525, 86282752, 202453158, 264765682,
41
+ 272038155, 235734437, 168975641, 81917339, -15785499, -110966546, -187188379, -230122523,
42
+ -233677612, -200686801, -137694066, -51021919, 50619211, 150706678, 225495840, 254547253,
43
+ 232930391, 172103948, 88492292, -7594663, -111615930, -214942351, -297166768, -329517324,
44
+ -288727418, -173617427, -12434022, 148957827, 271556895, 338018844, 346330061, 295944883,
45
+ 185491720, 23207576, -164352723, -335142250, -443956994, -458127760, -370046830, -199634430,
46
+ 14849700, 229062780, 399144860, 486438887, 467809173, 345869491, 148427546, -81791397,
47
+ -298905503, -462232776, -540415250, -512814169, -372524701, -135706494, 147361927, 398674683,
48
+ 546669134, 560784874, 454637390, 265464868, 34495791, -201041286, -406462834, -545233741,
49
+ -579279438, -480845672, -255769795, 39835872, 317611509, 503416227, 566499151, 512836006,
50
+ 365881147, 155413119, -83898440, -310983826, -479987723, -548443614, -492413827, -321756064,
51
+ -80979817, 169303322, 373908231, 493144961, 505993079, 413327467, 238835527, 23715687,
52
+ -183870812, -341184180, -421407993, -417325927, -335648354, -189551779, -693345, 193207065,
53
+ 342591476, 407018816, 375330288, 267773387, 122177984, -24111736, -147034216, -237277398,
54
+ -290606352, -297843407, -247708777, -141789118, -4687038, 124996827, 215542349, 255034577,
55
+ 248498042, 207060359, 139921599, 54106785, -40942866, -130738463, -198742802, -232870205,
56
+ -229552541, -191405777, -122352195, -27459825, 81596639, 182674528, 249070381, 263629768,
57
+ 227746118, 155730828, 61705462, -46612173, -162152378, -268747980, -338737828, -342087168,
58
+ -262990934, -114302283, 63111943, 220770390, 326463911, 369651449, 349295839, 264337845,
59
+ 118492659, -69270479, -262076538, -413311678, -481020374, -442907565, -305209760, -99547106,
60
+ 129323150, 334095652, 470482506, 505427206, 428950231, 258870752, 33603927, -200127730,
61
+ -397587010, -522130097, -547617156, -459916515, -262807752, 10147606, 290657564, 497605974,
62
+ 577285956, 523863058, 367027523, 149014018, -89791515, -313708033, -487969545, -575500946,
63
+ -542064127, -374533014, -104231932, 191611101, 426651804, 548357420, 547632703, 442137676,
64
+ 259766222, 32757896, -201509795, -399965018, -518326257, -522837595, -406520378, -198201864,
65
+ 47744360, 273642024, 433710601, 498644809, 458286643, 324636839, 130326192, -79429188,
66
+ -258865728, -373896080, -409655081, -368403741, -260414481, -100232842, 86184381, 256621568,
67
+ 364844959, 383452503, 316642865, 194121912, 54074891, -73490357, -174527440, -245680067,
68
+ -281759577, -270640928, -203428617, -89778624, 39906020, 150177380, 218891355, 242486598,
69
+ 228405889, 184945211, 117270891, 30858311, -63581347, -149952046, -212078014, -239862062,
70
+ -230576551, -185051035, -105177031, 2409032, 120059395, 219432855, 273361448, 270657694,
71
+ 218836800, 133069801, 24924513, -97811671, -222406806, -324499655, -371607625, -336813163,
72
+ -216246781, -38542242, 145829729, 290897481, 373179271, 387250123, 332410423, 209947233,
73
+ 31958986, -171642346, -356359116, -474796008, -491974776, -398680033, -215450714, 16024163,
74
+ 246265657, 426598636, 515883136, 491716119, 359634714, 150728628, -89689545, -313959564,
75
+ -480284234, -556870173, -523464227, -374460949, -128244274, 162009546, 415884788, 561297162,
76
+ 569105283, 455226619, 259282137, 24503232, -210786453, -412108053, -544321814, -571397151,
77
+ -467758638, -241183672, 51292758, 322276133, 499957230, 555902481, 497826816, 350378842,
78
+ 143856043, -87522803, -304165428, -462564051, -523240240, -465354995, -300658529, -72718595,
79
+ 161725670, 352394610, 463436264, 475510817, 389022682, 225904262, 25263836, -166954549,
80
+ -310821563, -383131530, -380060315, -309575715, -182807383, -16357595, 158667358, 298276031,
81
+ 364074123, 343239087, 252669714, 126834510, -206118, -108127668, -191458490, -248506973,
82
+ -270213201, -242704721, -162287950, -46528972, 72082039, 164400490, 217228933, 231885524,
83
+ 214637923, 169409181, 98437521, 7981618, -88425694, -172961267, -230175732, -251441616,
84
+ -233654994, -175773106, -79794473, 42858582, 166753633, 258887442, 295197093, 272116587,
85
+ 201868491, 99157365, -25547179, -161249796, -287862747, -374246435, -387018875, -307293532,
86
+ -146713553, 51170870, 231650360, 355771148, 408457052, 387319606, 293019984, 132883916,
87
+ -70470091, -277504670, -439595541, -512732267, -472685098, -325196787, -104111197, 141228821,
88
+ 358385096, 499565844, 531276186, 445871532, 264541975, 28637565, -213049137, -414489985,
89
+ -538494773, -559219714, -463697105, -257661121, 22723587, 306651373, 512021674, 586194783,
90
+ 525489775, 361875050, 139598003, -99578889, -319760330, -487345865, -567399434, -528095429,
91
+ -358430163, -90909629, 197904495, 424103589, 537839882, 531887336, 425040605, 245755766,
92
+ 26067729, -197806742, -384885826, -493736832, -493821424, -380725762, -183505257, 46469408,
93
+ 256472646, 405309369, 466329078, 429707221, 305979347, 125591807, -68480905, -233017595,
94
+ -337290300, -370166929, -336250066, -245092710, -107268325, 57486385, 213441749, 318327844,
95
+ 344631991, 293487780, 190814956, 71255734, -38856293, -129437448, -200298226, -247212303,
96
+ -256342307, -214507153, -124894928, -11072171, 95803340, 173831872, 216465344, 226420373,
97
+ 206548726, 156800025, 78850140, -18150106, -117401352, -200059770, -251714157, -264333580,
98
+ -233637804, -157770270, -41830835, 94943193, 219138218, 296605546, 310176590, 264204926,
99
+ 173589407, 51972680, -89262962, -233471588, -352874031, -411927274, -380676806, -253023216,
100
+ -58302405, 148208144, 313637769, 408834674, 425736515, 364293444, 228960431, 35764312,
101
+ -182264567, -378533932, -503889740, -521592993, -421436431, -225081398, 22142722, 265833536,
102
+ 453194788, 541598662, 510198907, 367756107, 148498894, -99972188, -328564564, -494850260,
103
+ -567323779, -526950139, -369986168, -117037383, 176554733, 429275171, 569771322, 570819623,
104
+ 450403417, 249996868, 14293624, -217777495, -412443877, -536519810, -556554246, -449429399,
105
+ -224575465, 61081540, 322429970, 490803411, 540089265, 479255376, 333573899, 133338877,
106
+ -88068960, -292812319, -439996363, -493414908, -435433629, -279310183, -66832261, 149941249,
107
+ 326046331, 429489756, 442371800, 364212006, 214669148, 30294209, -145545619, -276038553,
108
+ -341768767, -342083720, -285524344, -180356885, -37553343, 118629272, 249741002, 319135454,
109
+ 311818558, 240699456, 136241167, 28715369, -65472595, -144341048, -207905093, -246296317,
110
+ -242419046, -187119443, -91186752, 18494417, 114819634, 182912015, 219985422, 226992053,
111
+ 202322464, 143711814, 55049175, -50131613, -152038377, -231662781, -275625168, -275744662,
112
+ -226691822, -127870393, 9334883, 156066669, 272873350, 328834715, 315866562, 244841202,
113
+ 131791815, -9615892, -164457750, -309072298, -409338395, -429052582, -346775958, -173412632,
114
+ 44513880, 246062719, 385874417, 444995927, 420548296, 315658382, 141543365, -75714835,
115
+ -294312695, -464080398, -539565660, -495445787, -337810539, -103056246, 155297469, 380705879,
116
+ 523150987, 549733992, 455481919, 264644765, 20945996, -225304870, -427328386, -548022273,
117
+ -562579524, -459813776, -247530191, 36141464, 319256449, 520168976, 587968286, 520901866,
118
+ 352616459, 128788740, -107944939, -321903479, -481037223, -552955103, -508632959, -339299181,
119
+ -78091739, 200281025, 415459051, 520713101, 510526740, 404409751, 230875706, 21219254,
120
+ -189995383, -364294610, -463482532, -460533676, -353489060, -170880308, 40013410, 232287979,
121
+ 369734822, 428311601, 398080291, 287439653, 123930281, -52372007, -201314988, -295788891,
122
+ -328164401, -304614521, -233013561, -119245536, 23506720, 165966987, 269498544, 305939832,
123
+ 272826108, 191760990, 93335004, -107080, -82267062, -155371109, -215224231, -245651574,
124
+ -229022477, -162302030, -62690219, 42518093, 131410751, 194286933, 228867263, 232228182,
125
+ 198990191, 127364543, 25628603, -88006912, -191628757, -266504043, -299612476, -281993759,
126
+ -208399919, -82682715, 74050731, 223028145, 322943927, 350793956, 308290532, 210804351,
127
+ 74734471, -84645120, -246928040, -381330681, -449750075, -419759773, -283704928, -72180082,
128
+ 154659712, 337514199, 442389842, 459516351, 390259268, 242530761, 36031929, -193615185,
129
+ -398281774, -527626034, -543804539, -436303135, -228297011, 31517697, 284739463, 475703385,
130
+ 561317408, 522628462, 371274037, 144031559, -109746721, -339997021, -504107756, -571312125,
131
+ -524197245, -361114233, -104666247, 188539437, 437172913, 571489376, 566237843, 441029069,
132
+ 238681254, 4880964, -221304046, -407286692, -522299949, -535883197, -427611243, -208240794,
133
+ 66501619, 315180325, 473120259, 516591240, 455386222, 314754806, 124293957, -84145301,
134
+ -275117184, -410845553, -458638500, -403809959, -260218266, -66628901, 130557522, 292094067,
135
+ 389683191, 406270469, 339692371, 206630233, 40500587, -118375468, -236561604, -298228641,
136
+ -305107692, -265271742, -183371795, -64484675, 73867500, 198428284, 273841212, 282458292,
137
+ 232761911, 150778133, 62601441, -19409644, -96375435, -169202331, -226407676, -247207995,
138
+ -216913463, -139730987, -37218286, 65296215, 150874081, 212103914, 244077238, 239294397,
139
+ 191077421, 101555652, -14857802, -135634566, -237827412, -303390181, -319447640, -276833664,
140
+ -172806521, -19286314, 150847326, 291373514, 364706380, 358927263, 284463886, 159500228,
141
+ 1340915, -171239459, -331462006, -442812897, -466854066, -380164119, -193434407, 43551232,
142
+ 263820745, 416292332, 479070476, 449589672, 333804406, 146684112, -82634349, -310520919,
143
+ -485691566, -561697346, -512551397, -345023645, -98171966, 170618696, 401447636, 542984756,
144
+ 563523843, 460796031, 261796335, 12271661, -236261650, -436637599, -552311062, -560016968,
145
+ -450765774, -234570859, 48958739, 327841866, 522070830, 583022413, 510715653, 339990563,
146
+ 117433771, -113938062, -319197449, -468437994, -532316045, -484819454, -319113248, -67991150,
147
+ 197004463, 399973624, 497447482, 485173398, 382664932, 217769498, 20477863, -176721523,
148
+ -338198214, -429157896, -425865962, -328069528, -162742524, 27706479, 202422828, 329976551,
149
+ 388470782, 367259460, 272029167, 126978100, -31023599, -165090605, -251716879, -286340112,
150
+ -275900906, -225836426, -136942210, -15819525, 114533278, 218844667, 267925485, 255157013,
151
+ 197231743, 120211340, 42237739, -33931102, -112188812, -187441210, -240481537, -248968417,
152
+ -203799305, -116197279, -10026655, 92308783, 177294012, 237000765, 262378665, 242946512,
153
+ 174294182, 64915600, -64693986, -189146210, -285523314, -336377988, -328792393, -254761785,
154
+ -117399008, 59859571, 232592568, 352482022, 391367353, 349300971, 242997863, 92058588,
155
+ -84408479, -262646825, -409415671, -484616928, -453879015, -308410673, -80353813, 165181021,
156
+ 362804272, 474413992, 489382447, 411111474, 251135369, 32635318, -206490947, -416933514,
157
+ -547621680, -560215932, -444541031, -225754967, 44063012, 303206270, 494277223, 574792386,
158
+ 528197538, 368890829, 135782473, -120455376, -349217245, -508272388, -568329820, -514304749,
159
+ -346951185, -90480519, 198380333, 439882095, 566775447, 555825891, 427763128, 226093455,
160
+ -3069743, -220973695, -396643743, -502160124, -510346915, -403378280, -192690772, 68268887,
161
+ 302674087, 450150091, 489110872, 429668254, 296475360, 117933548, -75987751, -252483134,
162
+ -377088623, -420688285, -371299479, -242785862, -70163158, 106332967, 253329898, 346153673,
163
+ 368355232, 315664577, 201211771, 54751065, -86811901, -193581660, -253148378, -269037338,
164
+ -248067767, -190672670, -95800756, 25659514, 145409604, 229078850, 255893074, 229231135,
165
+ 170088438, 100105953, 27836284, -50130838, -134557524, -211607018, -256585557, -249527583,
166
+ -188656569, -90848979, 19883840, 124226869, 209819788, 265642066, 278394285, 237621872,
167
+ 144672659, 15652651, -123856395, -247147803, -332010662, -361523770, -323285760, -212815283,
168
+ -42738247, 149977185, 312365858, 400498121, 399286401, 319477156, 181938995, 7732392,
169
+ -180757071, -354046635, -473725951, -499700888, -407181670, -207148483, 47151306, 283025458,
170
+ 444532659, 507845039, 471542021, 344795372, 146195718, -92502519, -326343583, -503465327,
171
+ -577121660, -521535122, -344879281, -88918720, 185973077, 418009014, 555853676, 569627697,
172
+ 459625573, 254983146, 2797192, -244778750, -440699150, -549548198, -550217374, -436263980,
173
+ -219624006, 59621939, 330873930, 516816808, 571282561, 495579943, 325087744, 106712344,
174
+ -116632333, -311176391, -449525905, -505707224, -456863761, -297843339, -60351918, 188322533,
175
+ 377580160, 467417899, 454603910, 358214520, 204885787, 22685841, -158557902, -306496870,
176
+ -389971083, -388466472, -302919576, -157864297, 10029793, 166453878, 284826504, 345189146,
177
+ 335740066, 258776190, 134378136, -4412818, -124293313, -205208351, -244948214, -250207899,
178
+ -223201319, -159366399, -58875666, 61179108, 168481892, 232421828, 241785696, 207883179,
179
+ 151877982, 87656363, 14948345, -70852382, -162925913, -238744719, -271449369, -246309906,
180
+ -169061280, -60483675, 56359800, 164031199, 248734793, 295080178, 287599131, 219822352,
181
+ 101199091, -44977094, -189729996, -306170829, -372821340, -373267313, -297182056, -147287242,
182
+ 50400005, 245625928, 383186722, 430360639, 386330018, 269849971, 104102944, -88013290,
183
+ -279768045, -435985383, -515149476, -481604186, -326122157, -82834775, 178423837, 387123678,
184
+ 502242556, 513179812, 425765770, 255019719, 27077062, -218520680, -431841354, -561608789,
185
+ -569563472, -446411554, -219402422, 56674401, 318022789, 506717445, 581511782, 528125957,
186
+ 363142250, 126971294, -128908190, -353769369, -506174000, -558725171, -498974024, -330051842,
187
+ -77234142, 203638182, 435576349, 554452784, 538893683, 410224674, 212109147, -9417800,
188
+ -216463281, -380228599, -476099225, -480386971, -377688545, -179432979, 64355808, 282563660,
189
+ 419568208, 455698781, 400845066, 278415437, 114892324, -62371455, -223783854, -338442019,
190
+ -380602264, -340240060, -230095953, -80456243, 75023005, 208741455, 299234401, 330073280,
191
+ 294223820, 200635520, 74881855, -49869846, -147253425, -207720174, -235562558, -235412552,
192
+ -203143101, -131745457, -25785849, 91062577, 185076239, 231980343, 229667761, 193715968,
193
+ 141045501, 76519944, -4913329, -103003380, -200968332, -270069552, -285247763, -239043572,
194
+ -143980575, -23081976, 101570438, 212209420, 291275742, 319626890, 283573948, 184566140,
195
+ 41211980, -117388722, -260729803, -362767445, -403064789, -366554469, -247579148, -60035937,
196
+ 154588488, 336629886, 436516814, 437004528, 349978163, 199436619, 10215805, -192056609,
197
+ -375768995, -501200047, -527127801, -427900468, -215189734, 54298820, 302779883, 470432084,
198
+ 532365759, 488735806, 351868827, 143592189, -102185678, -339601291, -516599166, -586549258,
199
+ -524322694, -339777570, -77234083, 200608277, 430971611, 563385344, 570156660, 453929144,
200
+ 245545975, -6934953, -251072067, -440373485, -541092948, -534776234, -417746416, -203600008,
201
+ 67917321, 328735056, 505173101, 553704078, 476493512, 308872626, 97528814, -115259377,
202
+ -297464872, -424728926, -474679684, -427387765, -278632825, -57868488, 172899698, 348721422,
203
+ 432757989, 422171356, 334905615, 195752421, 30342259, -134521137, -269950614, -348293744,
204
+ -351674228, -281246930, -158206853, -13179673, 125855759, 236828757, 301320283, 305908480,
205
+ 249019117, 146219634, 26456702, -80630951, -158186996, -205657111, -228624941, -225551759,
206
+ -186484675, -105404280, 6234435, 118765436, 199739520, 232810045, 223372221, 187334466,
207
+ 134417149, 62013049, -34162266, -144705657, -243390024, -298920913, -291371869, -221576823,
208
+ -107809314, 25650391, 156882167, 265798550, 330694549, 331817544, 261754895, 131867247,
209
+ -31265074, -195065582, -329088829, -408533457, -414221718, -334082563, -170872811, 46513897,
210
+ 262032625, 414170704, 466584649, 418464466, 291092594, 111279617, -94574463, -297235148,
211
+ -460123406, -540840792, -502971021, -337308900, -80192742, 194087249, 410606790, 526304370,
212
+ 531365841, 434391155, 253785412, 18321477, -231160519, -444491073, -570716906, -572358996,
213
+ -441682375, -208287543, 70767334, 330627677, 514025600, 581788500, 522036738, 353128546,
214
+ 116452772, -136160887, -354339772, -498052387, -542484179, -478258345, -310722037, -65360975,
215
+ 204186772, 424802439, 535832314, 517388101, 390712257, 198980480, -12363051, -206710042,
216
+ -357810934, -444621126, -446937221, -351349878, -168423820, 56174064, 257482866, 384562477,
217
+ 419372569, 371162873, 261612604, 114835085, -44774010, -191058042, -296752489, -339318004,
218
+ -310182018, -220262729, -94617927, 39773759, 160988074, 250656147, 292121763, 275130545,
219
+ 203870821, 99237896, -9602797, -99683384, -163702539, -205819633, -227753180, -220552594,
220
+ -171408026, -78964850, 37305984, 143927227, 212646199, 235326843, 221735410, 184116373,
221
+ 124313891, 36719969, -76489800, -195226208, -286849250, -321741479, -287544971, -193096864,
222
+ -60804898, 84302373, 218927102, 319028812, 360096529, 326082785, 219393215, 61562367,
223
+ -114842048, -275888426, -392281592, -440736687, -404094869, -275928761, -71602785, 162941109,
224
+ 361739292, 470278814, 469928760, 374336847, 210888497, 8081050, -205549879, -396699812,
225
+ -524868327, -548370283, -441429050, -216962590, 64915289, 322156536, 492259821, 550297761,
226
+ 498579169, 352585650, 136958712, -112784849, -350393504, -524202337, -588460530, -519499663,
227
+ -329286948, -64226839, 211994130, 437177188, 562705110, 563182457, 443046387, 234081137,
228
+ -15349011, -253017124, -433458420, -525118632, -512646170, -395180025, -187373690, 72544541,
229
+ 320296042, 486432203, 529924109, 453281298, 291190458, 89584114, -110355949, -278746921,
230
+ -394604118, -439350170, -395875029, -260373373, -59189562, 151778770, 313639807, 392723293,
231
+ 386333152, 310825078, 188549692, 42046267, -105478912, -228909757, -304029708],
232
+
233
+ 90=>
234
+ [604604039, 757451669, 745005004, 573135259, 284081234, -59473780, -389781114, -644811733,
235
+ -775858830, -753363532, -571838399, -256357969, 130089173, 492039932, 734427559, 803689886,
236
+ 700554498, 463476135, 147159077, -190346105, -492522249, -705882955, -783118073, -693078615,
237
+ -439673353, -78771328, 292434264, 578943104, 725813120, 721555979, 582389705, 339636213,
238
+ 35554886, -277255303, -538584759, -689527962, -689337228, -535120998, -268648816, 41243552,
239
+ 326389051, 534608427, 632165101, 605020159, 461572019, 232229691, -36061765, -288740914,
240
+ -475064788, -560538280, -534495702, -407832364, -206175590, 32735550, 260570387, 428690447,
241
+ 504859151, 482413553, 375915873, 210693841, 15326951, -180298285, -344777443, -447686347,
242
+ -466255881, -393977718, -246417205, -57695730, 133106257, 295095916, 407865546, 455662441,
243
+ 424793446, 310925260, 129735847, -81998120, -278296795, -419968765, -484403542, -465382795,
244
+ -366739659, -198222023, 20834300, 253895684, 448114261, 551757145, 537337157, 411133951,
245
+ 205012472, -38665112, -278224214, -475969528, -596944541, -610003976, -496369587, -264701862,
246
+ 38597629, 339790449, 566850361, 672959852, 641395217, 481258664, 223101262, -85805874,
247
+ -388024425, -623735552, -740071020, -703462507, -512874515, -205309025, 152887018, 482899634,
248
+ 710176075, 782275345, 684964921, 444846160, 117025662, -231304743, -533642062, -733123814,
249
+ -789489417, -684692082, -428411069, -65389108, 321862788, 632679693, 789934872, 769085159,
250
+ 593076772, 310585092, -21396170, -345723336, -607621277, -756432563, -751717785, -577937699,
251
+ -264449632, 109008011, 441945070, 658732420, 728743787, 656584358, 466350688, 193777302,
252
+ -115022698, -404284027, -613901332, -692472274, -616817014, -406925562, -119898985, 175596124,
253
+ 421372135, 576214620, 616117583, 536784467, 355958601, 111069738, -147821889, -368183504,
254
+ -507307997, -542885419, -475137418, -320738096, -107959630, 123193018, 324758551, 454675532,
255
+ 491565665, 437869896, 311926939, 138558598, -55205074, -239924322, -384163867, -459118793,
256
+ -446673487, -347582200, -184172472, 7516205, 191909148, 342344618, 438803896, 462896970,
257
+ 400956253, 255489242, 52741803, -163514458, -347613494, -465824919, -501344033, -450858426,
258
+ -319024929, -118525684, 122781950, 356604063, 524007386, 579729941, 511461862, 339683090,
259
+ 103892053, -151740221, -385697330, -559661874, -637927856, -592095310, -413945614, -130962852,
260
+ 191696940, 473866790, 651643083, 692413355, 593188608, 375159686, 78976508, -241001875,
261
+ -523899547, -710676942, -755065852, -637608020, -376981082, -28558197, 330680393, 620567929,
262
+ 775202478, 760684817, 584831010, 290961684, -57702171, -392693434, -650831476, -782302280,
263
+ -757361408, -571845616, -253268199, 133222747, 492009413, 730165288, 796726224, 693697002,
264
+ 459370838, 147589608, -184554078, -481375000, -690200295, -764826831, -675728515, -428402513,
265
+ -78668130, 279292280, 555131416, 697425465, 695868512, 565811265, 336340487, 46833515,
266
+ -252903925, -504970129, -652462962, -656574634, -515458371, -269146036, 18653148, 286278006,
267
+ 486694135, 588244775, 575481792, 452885589, 246100665, -2298399, -241371744, -423321014,
268
+ -515643135, -507659935, -407191711, -233856714, -17855260, 199118901, 371397858, 464978013,
269
+ 468203986, 389642922, 248878587, 69622773, -121519797, -294241874, -416884449, -463102343,
270
+ -420542091, -297436286, -121303136, 72055628, 250717659, 389812450, 467065557, 461782156,
271
+ 364126075, 187103875, -32584737, -247207076, -414102500, -505480122, -509102589, -423474275,
272
+ -254980873, -22440679, 234461632, 456195282, 583365547, 583270634, 460476309, 247532185,
273
+ -11161470, -270807904, -489793226, -629015048, -653446458, -541176385, -299656712, 22281590,
274
+ 344835583, 589365723, 705208315, 675170287, 509896547, 242036795, -79134932, -394175982,
275
+ -640988890, -764182151, -728077861, -531238588, -212951668, 156247559, 493779361, 723755102,
276
+ 794895965, 694930010, 451658649, 120532203, -231010910, -535787907, -735986828, -790883047,
277
+ -683199257, -424613167, -61983849, 321574606, 627170134, 780547643, 759009866, 585677124,
278
+ 308335303, -17221438, -334962902, -591100623, -736076020, -730972515, -562033784, -259340998,
279
+ 99514216, 418811654, 627528743, 697325621, 632668536, 455710115, 199176401, -94081261,
280
+ -371128140, -574160754, -653879153, -588727440, -398124647, -134929725, 138941185, 371625086,
281
+ 525527950, 576620892, 517333907, 360423257, 138283499, -103245515, -314944447, -456480403,
282
+ -506288412, -462592496, -337013409, -150691960, 63670959, 262929533, 405302304, 465491722,
283
+ 440000511, 341023400, 187936328, 3742835, -184038282, -343555571, -443348820, -460466503,
284
+ -388963042, -244031357, -56687694, 138497001, 311862575, 437567865, 490028834, 448990397,
285
+ 312964329, 107223859, -123287866, -330149943, -475196351, -535875074, -503091826, -377173283,
286
+ -168960611, 92198983, 352697141, 545882001, 619885655, 559353811, 384818746, 137482455,
287
+ -135799487, -390019064, -582957587, -675092094, -634720054, -451617016, -154055284, 188274908,
288
+ 488744901, 678593335, 723692005, 622058263, 396810255, 90457886, -240949021, -534686195,
289
+ -729519810, -776978510, -656421940, -387583743, -29190519, 337944642, 631548712, 786170484,
290
+ 769762645, 591616896, 295515618, -55338292, -392233613, -651289932, -782028513, -754933806,
291
+ -567405203, -249154431, 133494507, 486135182, 718858453, 783289982, 682225165, 453279824,
292
+ 148947773, -175120839, -464561680, -667958215, -740591668, -654765824, -417321467, -82940753,
293
+ 258678593, 522739427, 661360802, 664918387, 547252037, 334521170, 62533998, -222287005,
294
+ -464775565, -610254474, -621714492, -497601898, -274931322, -11156410, 238979868, 433327632,
295
+ 541653334, 546379782, 447387068, 264992641, 37002988, -189422020, -369252492, -471376556,
296
+ -484181480, -411573337, -266773381, -72573200, 135513016, 314257791, 427436830, 458003928,
297
+ 408158328, 291471696, 126816355, -62074527, -245361962, -389535729, -464274573, -451248263,
298
+ -351507575, -186258718, 11640179, 208852979, 375577400, 482562784, 501903915, 418526636,
299
+ 243412556, 13857534, -220158364, -412252405, -529471698, -553819268, -478860997, -308127889,
300
+ -60567495, 220338246, 468114899, 616130835, 627388238, 505676549, 284822925, 11464875,
301
+ -266641104, -504380524, -659019966, -692180659, -579404290, -327571158, 11648282, 352629575,
302
+ 611120448, 733804782, 703809370, 533495107, 257317537, -73921000, -399265142, -654782388,
303
+ -782960704, -746413589, -543687363, -216537132, 160643119, 502458247, 732782722, 802101887,
304
+ 700054924, 455270112, 123136579, -229068586, -533912441, -733087556, -785853832, -676107176,
305
+ -417668052, -59094783, 317067892, 615007327, 763950028, 742869532, 574539150, 305320357,
306
+ -10725155, -319256992, -568053968, -709130715, -705328802, -544448265, -256398247, 84737073,
307
+ 389027711, 590223238, 661792301, 607349840, 446483291, 208380761, -67823380, -332401288,
308
+ -530046955, -613416051, -561901800, -393288549, -155303607, 97136251, 318184069, 473314613,
309
+ 537915006, 500698749, 369096494, 170210201, -54514881, -259170301, -405474461, -471943710,
310
+ -454073479, -357998673, -197696005, 1194151, 200025563, 356922083, 442211904, 445984981,
311
+ 373959674, 239999997, 63350695, -129836654, -306622743, -432311232, -478820424, -433570156,
312
+ -304977350, -119502705, 88711706, 286339464, 441158643, 520277842, 497367533, 367844603,
313
+ 156853117, -88944098, -318114391, -488149025, -571199628, -553043663, -430337829, -212707376,
314
+ 68442240, 353923987, 569751981, 658501458, 602895333, 424191501, 165444705, -124006134,
315
+ -396096145, -605239086, -708632762, -671763496, -482849524, -171342644, 188432467, 503904090,
316
+ 702511730, 749631485, 644791700, 412998256, 98286508, -242019034, -543768638, -743988134,
317
+ -792529666, -668154392, -392167809, -26707354, 344282354, 637771708, 789981574, 771206628,
318
+ 592009570, 296126824, -53769351, -389223587, -646225272, -774318868, -744902680, -557289358,
319
+ -243038969, 131492326, 474631364, 700495723, 763372632, 666300065, 445523089, 151624918,
320
+ -161689080, -441872979, -639249182, -710899126, -630870293, -406636159, -90601040, 232987119,
321
+ 485176422, 621342376, 632026334, 529047270, 335227313, 82451422, -186554483, -419606462,
322
+ -564347254, -585362696, -480768284, -283789431, -45131965, 187485483, 376677266, 493426219,
323
+ 517657436, 444158821, 287449620, 80250099, -134185608, -313491008, -427529409, -463071262,
324
+ -419466044, -303266637, -129957116, 70850815, 258047913, 392698276, 451757539, 430600719,
325
+ 336725413, 184525023, -4486367, -200208775, -366693956, -469358512, -484059050, -405214511,
326
+ -248388354, -44033061, 172701600, 366751032, 501781565, 543054178, 471112323, 295784696,
327
+ 55483437, -197426151, -413008228, -553614358, -596117108, -529760499, -355661844, -93146354,
328
+ 210407447, 481727942, 647551403, 667509501, 545344342, 316437464, 29574539, -264834003,
329
+ -518597792, -685836563, -725356633, -610732128, -348817869, 5588726, 361405608, 629804703,
330
+ 756080231, 724529034, 549436379, 266782624, -71599983, -403763615, -664472255, -794748426,
331
+ -756334057, -548542652, -215756378, 164678891, 506177761, 733884018, 800712189, 697976585,
332
+ 454436097, 124688029, -224728201, -526650301, -722860849, -773243570, -663267048, -408642083,
333
+ -58512809, 306670679, 595274446, 740161362, 721450131, 560880505, 302801441, -923882,
334
+ -298068082, -538387683, -675838330, -675192997, -525555184, -255808679, 64597309, 352334174,
335
+ 546106111, 620938732, 579172432, 437276848, 220289658, -36927224, -288239027, -481050911,
336
+ -569976042, -534961168, -391297727, -180649225, 49585201, 259629691, 417807385, 498502481,
337
+ 486028214, 381735520, 206892853, -1616671, -201013709, -354573774, -440127201, -449645033,
338
+ -383336169, -248089555, -62896140, 137630048, 311099529, 423015886, 456614687, 410895434,
339
+ 294354430, 123044265, -77511048, -272687269, -424287927, -499197909, -478624093, -364716989,
340
+ -179776418, 42307224, 264434439, 447838798, 552248195, 545554920, 420712832, 203324812,
341
+ -57938220, -308632975, -502121071, -605615173, -600169964, -479196508, -251476774, 49234440,
342
+ 358023680, 593860746, 694521571, 641680358, 457876054, 188172990, -115770394, -403200326,
343
+ -625632122, -737510265, -702145542, -506926531, -182989520, 190928834, 517414422, 721473270,
344
+ 768919084, 661036604, 424439623, 104126113, -241925789, -548702267, -752006748, -800577880,
345
+ -673156646, -392799783, -24373163, 346473860, 637302192, 786591685, 766743098, 588954422,
346
+ 296272139, -49687988, -381166211, -634446092, -759517817, -729031866, -544214784, -237874692,
347
+ 124797294, 456040896, 674543581, 737042834, 646281455, 436600165, 156143468, -143863853,
348
+ -413217064, -604395329, -676496446, -605190339, -397917953, -103621865, 200018312, 440320965,
349
+ 575674495, 596244774, 511195935, 339274168, 107746585, -144850798, -369498902, -516016507,
350
+ -550011288, -468239230, -299031576, -85784434, 130660541, 317145238, 445235875, 491733847,
351
+ 445731708, 315489137, 128454071, -75882028, -257332132, -385951757, -446067365, -432008939,
352
+ -343712880, -189762487, 5681572, 203243508, 360958348, 449446473, 456944020, 384762938,
353
+ 243092963, 51836554, -157994745, -347582291, -477958229, -519293248, -459658921, -309314953,
354
+ -96699067, 140787544, 362366289, 524320971, 585271710, 522091023, 344304364, 92011031,
355
+ -179804115, -417686952, -579539684, -637523168, -577088534, -397573454, -119366999, 205773497,
356
+ 497941284, 678206109, 704001278, 579800868, 342784723, 43753025, -264628721, -531640110,
357
+ -708816817, -752659083, -635297703, -364060128, 3037384, 370162880, 645190482, 773057544,
358
+ 739595903, 560833208, 273827864, -69078074, -405438065, -669137306, -800111814, -759622768,
359
+ -548073340, -212395658, 167802298, 505872266, 729145234, 793278347, 691023071, 450827424,
360
+ 126064674, -217900081, -514644452, -706536219, -754534632, -645928500, -398114531, -60021195,
361
+ 291198997, 569064706, 710289031, 695738736, 545556187, 301543192, 12786515, -271204879,
362
+ -502684621, -637792427, -643064290, -508204323, -259918307, 38079546, 309462195, 497543497,
363
+ 578237062, 551956473, 431507243, 237313649, -385138, -239224070, -429229292, -526521333,
364
+ -510748143, -393775585, -210767816, -1798486, 198944962, 362169101, 460841444, 474524078,
365
+ 398197037, 247113956, 53580552, -142527964, -305524270, -411856039, -449442951, -412466669,
366
+ -300962188, -127627140, 76599074, 268392179, 407964253, 471286918, 450506495, 349058870,
367
+ 180453375, -29666057, -244406849, -421774148, -523644888, -525324252, -423227224, -236124568,
368
+ 1661077, 248620383, 459125038, 585867260, 591981016, 469060766, 243839747, -32793160,
369
+ -303468339, -517776955, -638587878, -642951557, -521668703, -283239718, 35821435, 364987055,
370
+ 617069804, 726350247, 674379889, 485240068, 205829085, -110264102, -410106756, -642866279,
371
+ -760756047, -725384524, -523786206, -189120177, 195681897, 529293546, 735530308, 781483715,
372
+ 670424919, 430340514, 106769132, -242107033, -550862346, -754583559, -801510036, -671005022,
373
+ -388238659, -20458951, 346112179, 631026428, 775948230, 755493886, 581051358, 294406773,
374
+ -44410609, -368889902, -616238854, -737562920, -707212582, -528215373, -233765656, 113455934,
375
+ 430802009, 641938719, 705681592, 623801169, 428119665, 163846503, -120739363, -378215357,
376
+ -563549650, -637905475, -578171071, -390861460, -120471722, 162394276, 391249900, 527139841,
377
+ 559450084, 494284579, 345954201, 136772198, -99177017, -316158444, -466061222, -515089363,
378
+ -457951296, -317523045, -129764838, 71214785, 256295615, 397406709, 467845664, 450534557,
379
+ 347059886, 179433797, -16468221, -202210553, -347398800, -433262033, -448749902, -387248505,
380
+ -250789877, -58531824, 151434146, 333592534, 451706360, 486654202, 433871715, 300098262,
381
+ 104452628, -120536619, -332910226, -489382009, -554866931, -511780424, -365803139, -143831227,
382
+ 114214779, 361741105, 547916512, 625494014, 568662356, 387292545, 123324267, -165801555,
383
+ -423468484, -603665572, -674479105, -618159472, -432685927, -139752380, 204540482, 514157911,
384
+ 705436258, 734605649, 607388678, 362792956, 53371803, -266340784, -543542071, -727687208,
385
+ -773573396, -652574321, -373069674, 3670427, 377910343, 655623457, 782589779, 746680683,
386
+ 565514220, 276724734, -67404889, -404465548, -668040043, -797698624, -755022306, -541989577,
387
+ -207681963, 167448419, 498371329, 715670862, 777832000, 678439969, 444846865, 128542376,
388
+ -206799058, -495986922, -682516760, -728908633, -624357384, -387318242, -65223845, 269351205,
389
+ 535669700, 674132807, 665813697, 528669119, 301432529, 29976528, -239304520, -461505592,
390
+ -595166725, -608518288, -491358860, -267336324, 6392147, 260875773, 444019619, 532376579,
391
+ 524024514, 427536762, 258106840, 40839909, -185903232, -374721264, -482892165, -489073461,
392
+ -400853488, -246315538, -58120431, 134903280, 305486638, 424687698, 466644605, 419307637,
393
+ 291601995, 111435742, -83673271, -258354144, -386965471, -452931969, -444398963, -354950637,
394
+ -191546881, 18068501, 229346519, 396929700, 489305967, 491837893, 403372809, 235598741,
395
+ 14884406, -219342718, -421354506, -548338790, -570196212, -478144126, -287815898, -34128959,
396
+ 236925799, 472879170, 619663229, 636238897, 513548448, 279870383, -11630402, -300840593,
397
+ -533883980, -669671501, -681697850, -558680004, -309336524, 26772935, 373677874, 638803107,
398
+ 753982406, 701421849, 506995518, 219281144, -106576824, -415928595, -656095607, -777625930,
399
+ -741138350, -533997529, -191564168, 199841101, 536553232, 742525243, 786613076, 673829951,
400
+ 432941029, 109361611, -239112814, -547147037, -749598888, -794736800, -662964625, -381399353,
401
+ -18597411, 340181327, 617517517, 758387174, 739126223, 570654743, 292918192, -36106030,
402
+ -351548404, -591924712, -709807058, -681432055, -511378396, -232390315, 96509828, 398633947,
403
+ 602794986, 669545240, 599150496, 420365729, 174911026, -92425192, -337488124, -518008228,
404
+ -597160076, -552522955, -388699480, -144604274, 116923985, 335564001, 474519974, 521750339,
405
+ 479611172, 357260991, 171468745, -48386206, -259701756, -415934729, -483058816, -452774587,
406
+ -341835404, -178710491, 8760415, 194886852, 351394967, 447603577, 459817040, 382692535,
407
+ 232903525, 43150914, -149217324, -312646303, -424783873, -469137735, -432844704, -311865510,
408
+ -120824813, 103089788, 310521034, 458125037, 519332063, 483923326, 355723070, 153749707,
409
+ -87453037, -322601166, -504171754, -592048849, -563313858, -419480658, -186443109, 92797654,
410
+ 365472057, 573727317, 665101370, 612046828, 425534113, 149636180, -155804340, -431270552,
411
+ -627213808, -708121192, -653632435, -461095586, -154132396, 206713276, 530074149, 728953378,
412
+ 759453346, 628889795, 377918501, 60429742, -267703639, -552151067, -740801428, -787236888,
413
+ -662572555, -376588958, 6443771, 383999841, 661527737, 786356576, 748357081, 566344603,
414
+ 278055020, -64761658, -400176445, -661854173, -789348816, -744907185, -532270900, -202348427,
415
+ 164496074, 485927095, 696389619, 757188179, 662384039, 437779861, 132532595, -191840119,
416
+ -471869190, -652665854, -698649314, -600858756, -378132055, -75301372, 240704072, 495396249,
417
+ 632644952, 633123526, 511972126, 304298433, 52217529, -201509635, -415145962, -549564963,
418
+ -574146733, -477806121, -280095119, -31009667, 207779195, 388163818, 486669119, 498480968,
419
+ 427524472, 283432869, 86010183, -130303178, -320301154, -441763406, -471556718, -412440157,
420
+ -285436417, -116243163, 71131205, 251000769, 392151052, 462992649, 444253841, 338573713,
421
+ 169726921, -26679773, -214997915, -366929370, -461132789, -479830200, -410474731, -254687431,
422
+ -37472153, 194827451, 390736710, 511019043, 534519580, 456199174, 286767889, 53994367,
423
+ -199831256, -425260675, -575068156, -614202907, -529290874, -333548376, -63246847, 230680081,
424
+ 489080080, 652063675, 675766217, 551432501, 309155395, 4196366, -300962355, -549489220,
425
+ -696959580, -713968177, -587768598, -327834477, 22999125, 383806413, 657920969, 776095433,
426
+ 721779679, 522540113, 228259449, -104803771, -420772291, -665622395, -788715439, -750134043,
427
+ -538028692, -190179754, 204210571, 540359301, 743531961, 784871604, 671065161, 431296642,
428
+ 110400169, -234694846, -539232576, -738374530, -781029328, -649175272, -371892151],
429
+
430
+ 180=>
431
+ [222369072, 111973862, -28662097, -171140684, -288073472, -357818878, -364623267, -298555651,
432
+ -160572740, 27856056, 221217218, 365092936, 423027879, 389883988, 282539481, 124184316,
433
+ -62451165, -252121414, -411937331, -501826252, -484786981, -346392547, -113664425, 147378302,
434
+ 363904665, 490176649, 513037422, 437772405, 278385688, 58536316, -185135598, -404472746,
435
+ -547685910, -573174967, -466293842, -249617637, 23696488, 289283155, 488431993, 578429910,
436
+ 541567455, 389962949, 160642378, -96116478, -328674374, -493220383, -559622489, -513404067,
437
+ -356129213, -110343630, 172101416, 415729044, 552335503, 553579832, 435778085, 241295655,
438
+ 17540244, -195356985, -367083328, -472869781, -489154039, -398580741, -207569920, 38529870,
439
+ 267801251, 418760409, 466168875, 417880546, 298073558, 134550637, -44994856, -211577969,
440
+ -334544125, -386554774, -353982524, -246186022, -93278082, 68112932, 207429372, 302448297,
441
+ 337401249, 305284979, 213632319, 86327111, -43518858, -147116524, -211407959, -239021006,
442
+ -236265371, -202137571, -131100789, -26478023, 90325026, 186225156, 235124712, 232532300,
443
+ 193708657, 138149162, 74146510, -2487161, -94301053, -188402128, -257879890, -276651044,
444
+ -234954707, -143938998, -27016408, 92997402, 199284908, 277103751, 309645022, 282454262,
445
+ 193467493, 57771266, -97087998, -240295130, -345051210, -390959591, -363583902, -256767049,
446
+ -81039745, 127571256, 312781600, 423016572, 435922887, 359733748, 217560092, 34462648,
447
+ -164445270, -349271040, -482217294, -522365958, -440940775, -243013552, 20987455, 274127189,
448
+ 452390363, 526784160, 495886819, 371255012, 172869301, -68112154, -308119785, -495668972,
449
+ -582130696, -537777861, -367043627, -110915371, 168207204, 406721476, 553056225, 576835831,
450
+ 476290756, 278043449, 27872449, -221672541, -422018319, -536358349, -543625770, -438693148,
451
+ -233602613, 35204861, 302932353, 494718029, 560998649, 497568732, 336612996, 125088311,
452
+ -92559556, -282009429, -417844746, -477914284, -441960065, -302667347, -84416335, 153098749,
453
+ 341495293, 437973322, 435897996, 352743335, 214516454, 47782979, -120794946, -262822056,
454
+ -350018149, -361884410, -296007751, -171897896, -21946502, 122663203, 238153193, 306429479,
455
+ 314687583, 260613763, 157954799, 34629312, -78334534, -160642677, -208918177, -229186708,
456
+ -223100761, -183470452, -104284724, 5298850, 117718508, 200186159, 234046512, 223046277,
457
+ 184216821, 130627846, 62051302, -27123909, -131546846, -228333775, -286628092, -284455098,
458
+ -220218091, -111296441, 17465446, 144076509, 250360676, 317386629, 326086468, 266435065,
459
+ 145904441, -11505732, -173701722, -309520207, -393651065, -407217177, -338292873, -187696399,
460
+ 20471322, 235109648, 395229521, 460112002, 424091849, 306346252, 133698033, -67448255,
461
+ -269063892, -436604341, -528999375, -508446068, -360385956, -113721701, 161280612, 387146534,
462
+ 515607362, 533793894, 449444496, 279906916, 51660547, -197114427, -417812434, -558744435,
463
+ -578777827, -464475084, -240620187, 37135199, 302890456, 498041809, 581507211, 537916054,
464
+ 381415118, 150300324, -104579892, -331686943, -488249744, -546344094, -494479720, -336814831,
465
+ -96756173, 175399047, 407709726, 535628072, 532748302, 415645185, 226365145, 11857865,
466
+ -188842607, -347779864, -443675413, -456574316, -371463837, -194451331, 32953471, 244943178,
467
+ 385104836, 430166497, 387493117, 279640550, 132203479, -29943097, -181176362, -294428487,
468
+ -345579434, -322714579, -233895674, -104451171, 35582163, 161438519, 254163177, 298109053,
469
+ 283516226, 213521971, 107456248, -5584626, -100307537, -166217354, -206369985, -224681321,
470
+ -215574385, -167748088, -78464338, 35510711, 142021259, 211563125, 233846786, 218292804,
471
+ 179499572, 122245684, 41137807, -64864459, -179620767, -272242123, -311992036, -283947829,
472
+ -195119914, -67873637, 72229814, 202894672, 302880493, 349718987, 326041671, 230301338,
473
+ 80412467, -92514422, -254123345, -374222433, -429362136, -402836561, -287581763, -95411119,
474
+ 133464560, 336559666, 457000379, 470525489, 386732622, 231933197, 34856164, -176315885,
475
+ -369770209, -506729276, -545630508, -457307516, -247701280, 29575618, 293067631, 475489597,
476
+ 547240574, 508650939, 374374619, 167489316, -78840116, -320353947, -505743110, -587009857,
477
+ -535591655, -357930830, -97496152, 181645655, 415905604, 555315816, 571915843, 466106705,
478
+ 265847825, 17491300, -226464475, -418321756, -523310209, -523409029, -416496140, -216123689,
479
+ 42247125, 297220887, 478218427, 538558221, 474679795, 318232249, 115483322, -90047296,
480
+ -265937408, -389971261, -443782851, -410100150, -282407482, -82568913, 135394894, 309240589,
481
+ 399654464, 400357758, 327423065, 204718101, 56109889, -95040707, -224036899, -306182174,
482
+ -323509107, -273665630, -172696057, -46738940, 79613517, 187291456, 259896178, 283042829,
483
+ 250317460, 170473407, 66876792, -33278715, -112738830, -169440462, -207959575, -226000714,
484
+ -211030474, -151120454, -49983782, 67655711, 167436338, 225441971, 239113743, 220010096,
485
+ 177130496, 108230314, 8398934, -114173346, -232926639, -312926091, -327506758, -270466751,
486
+ -156597788, -11737565, 137749504, 267450307, 352221000, 368822393, 306467155, 174759658,
487
+ 1067256, -179067627, -331224600, -427074036, -445233949, -372243906, -209034214, 17587645,
488
+ 251076344, 424452925, 493621425, 453125296, 324755643, 138893260, -74693069, -285614576,
489
+ -458160368, -550797281, -525476686, -367991547, -109354677, 176201492, 407552969, 535084621,
490
+ 547024946, 453800406, 275861063, 42025779, -208508250, -427234311, -563219267, -576573763,
491
+ -455729915, -227745575, 50066360, 311733022, 500119085, 576447465, 527532059, 368870749,
492
+ 139271969, -110442806, -329358382, -476321423, -526197677, -470728948, -316235037, -85945008,
493
+ 172678235, 392206790, 511973095, 507041149, 393513347, 212452760, 9845963, -176781998,
494
+ -322220897, -408972688, -420652531, -344109775, -184337167, 21862434, 215411828, 345116976,
495
+ 389455992, 354881359, 261787191, 132949876, -10137267, -145616162, -250164382, -302684687,
496
+ -292358964, -225097049, -120748079, -2456724, 110774904, 203097529, 258651124, 264298321,
497
+ 217954106, 133746645, 36541574, -51605614, -122027045, -177195505, -217847774, -233616311,
498
+ -207697084, -131747038, -18322999, 100964878, 192761564, 240485279, 247407371, 223337037,
499
+ 170175157, 82292828, -39071309, -174305703, -288796610, -347642557, -331317264, -243131083,
500
+ -104615362, 55841123, 210343359, 331048450, 390070461, 367798134, 263919102, 99540596,
501
+ -90674901, -269065707, -402417468, -464703863, -437440292, -313036440, -104813614, 142743897,
502
+ 361132228, 488892464, 500735321, 408233032, 241092684, 31570498, -189425151, -388617585,
503
+ -526803489, -562435831, -466646635, -246697905, 40802482, 310855547, 494213682, 561583910,
504
+ 515348786, 373025645, 160222522, -88512977, -328746373, -509815060, -584902239, -527179385,
505
+ -345251068, -84360943, 191063875, 418668362, 550690426, 561441867, 452854634, 253486990,
506
+ 9686746, -226485522, -408524047, -504041935, -498337217, -392188766, -200004045, 44702940,
507
+ 284874501, 454738574, 510373426, 448353858, 299204130, 107961709, -83282302, -244470844,
508
+ -356928565, -406149643, -377555940, -264749149, -86133818, 110782131, 270247609, 356255929,
509
+ 362441229, 302879432, 198557322, 69855202, -63724783, -181280856, -261290859, -287479677,
510
+ -256505767, -180100960, -77904012, 31805241, 134187578, 214041280, 254848154, 245443952,
511
+ 189002633, 104072677, 14229004, -65561731, -133465068, -191730713, -233873674, -242333198,
512
+ -199776852, -104968915, 19836539, 138435092, 221377212, 259484307, 258664441, 224107953,
513
+ 152328265, 40013380, -101309642, -241400890, -341521444, -370720447, -318668034, -198025744,
514
+ -35978886, 136466643, 288433162, 388596908, 410160033, 342512092, 198143420, 8105440,
515
+ -188662943, -354780755, -459387126, -479234898, -400042588, -223506287, 20485980, 270137249,
516
+ 453335905, 523752919, 476970325, 337721366, 139856375, -83883843, -301291955, -476038218,
517
+ -566678305, -535518616, -369263816, -101134520, 191456855, 425017734, 549596404, 554891749,
518
+ 453853280, 269554752, 32597300, -217261339, -431942989, -561597726, -567995360, -441805444,
519
+ -212286612, 62318178, 316970483, 496845587, 565819907, 512695735, 353855060, 128145491,
520
+ -114050580, -322826767, -459063989, -500818927, -443250115, -294595811, -77203053, 165274808,
521
+ 370769687, 482780699, 477533543, 370114895, 200032010, 11707311, -159458110, -291469209,
522
+ -370681882, -383886070, -319034263, -179058690, 4743964, 180280792, 301289718, 347468015,
523
+ 323790157, 247915697, 139227083, 15362820, -105735722, -204161844, -261061036, -265731427,
524
+ -221176061, -141612093, -43696714, 58832162, 152815348, 221836646, 249045194, 226810402,
525
+ 163808780, 80647809, -3465457, -80866743, -152578340, -215752143, -255372929, -249548571,
526
+ -184766763, -69786890, 63956945, 178908846, 251880167, 279789316, 267788032, 215582726,
527
+ 118334675, -19632626, -174983118, -309560210, -384736004, -376982182, -286606791, -134995440,
528
+ 46097017, 222950681, 361383570, 428935283, 404904188, 291108767, 112204193, -93709408,
529
+ -286103368, -429392706, -495699119, -465453167, -331157658, -108043356, 155273880, 385179551,
530
+ 516887636, 525018660, 423438548, 245105960, 25406315, -202544666, -404543540, -541453677,
531
+ -572225248, -468807777, -240152573, 54369227, 327217683, 508336633, 569525034, 515441330,
532
+ 366253700, 149699733, -98719425, -334826536, -509086872, -576437693, -512371673, -327974706,
533
+ -69925375, 198013302, 415947628, 539195758, 544524499, 435002456, 239216497, 2974370,
534
+ -222637803, -392928821, -478513504, -468320401, -365775200, -185347797, 42504400, 266072887,
535
+ 424826558, 477362402, 419768075, 280794190, 103697447, -71366348, -217173965, -318860670,
536
+ -365607384, -344885182, -249547080, -93793142, 81678826, 227442588, 310508400, 324068475,
537
+ 279810034, 195442158, 87496636, -28653265, -135954462, -215757943, -252844192, -242188187,
538
+ -190850396, -112050639, -18008498, 80490853, 169254365, 229311422, 244306256, 211414959,
539
+ 144137811, 62553443, -20079195, -101275738, -180246899, -246118832, -276541472, -249219577,
540
+ -158425829, -24382755, 114385691, 222442342, 283769455, 298817646, 269644724, 192517701,
541
+ 66550854, -93102476, -252725924, -370298615, -411298808, -361971692, -233354855, -54270507,
542
+ 139553861, 311045877, 423437949, 447353228, 373123079, 216355124, 11584949, -199271302,
543
+ -376425157, -487112081, -506799704, -420821774, -231892453, 27062445, 289521558, 479218270,
544
+ 548505152, 494489476, 344864007, 136686574, -94698601, -315693569, -489859904, -576429899,
545
+ -538682972, -364718996, -89967325, 205759968, 437891233, 557219092, 555388825, 447757726,
546
+ 259552329, 22604797, -223302963, -431112212, -552747436, -552335649, -423116291, -196078633,
547
+ 70871476, 315117866, 485127617, 547579877, 492721226, 336997603, 118575111, -113142217,
548
+ -309750618, -434685934, -469556253, -412780616, -273727980, -72728818, 151398946, 342421833,
549
+ 447838427, 444530779, 345946494, 189477231, 17536045, -136986150, -255637220, -328728825,
550
+ -345907663, -295543436, -177720407, -17654036, 139742552, 253072204, 303050737, 292768920,
551
+ 236577022, 149828963, 45778449, -61809054, -156282699, -220417016, -242738712, -222567767,
552
+ -168151905, -89745488, 3891922, 101977021, 187103507, 238051957, 240942379, 198600277,
553
+ 127497526, 44638832, -42340698, -132126452, -217900595, -280162361, -292430867, -236642025,
554
+ -118218404, 31283318, 169819243, 267340634, 314429742, 312040614, 258512632, 150598406,
555
+ -3944293, -178182352, -330809949, -420010915, -418840530, -325032334, -160024058, 41010289,
556
+ 238578944, 392426367, 466093757, 438481740, 314012954, 120972864, -99275015, -303613216,
557
+ -454460806, -522592439, -487920564, -343509033, -106720140, 169875934, 408241245, 541231242,
558
+ 544131468, 433391440, 245092270, 17398892, -214784128, -416798031, -550171898, -575061334,
559
+ -464829957, -230234895, 67328199, 339183132, 515742437, 570410244, 509930126, 356523990,
560
+ 139344400, -105758430, -335318103, -501349627, -561009272, -492440359, -308976890, -57717764,
561
+ 199573339, 406404603, 521324681, 523104504, 415281876, 225812965, -531190, -213979622,
562
+ -371935950, -448270414, -435598200, -339601005, -174004014, 34692972, 240750751, 389007947,
563
+ 440307589, 389765474, 263765716, 103191609, -54280058, -184698124, -277153996, -324206817,
564
+ -314655637, -239699345, -108535728, 45358419, 178824470, 261492488, 285581378, 259731252,
565
+ 197600449, 111168441, 11356921, -88341698, -171314091, -222318530, -233743464, -207579966,
566
+ -150808366, -70127310, 27108762, 127246667, 208420740, 248579133, 238532834, 186794063,
567
+ 110528962, 22257962, -73939997, -173790350, -262172490, -312434645, -297913954, -208934254,
568
+ -64042286, 95681608, 228600639, 311750180, 340297421, 313739799, 228933504, 88097726,
569
+ -89773251, -267645016, -400535125, -450771316, -401719230, -263391005, -66725987, 147602091,
570
+ 336438168, 458107211, 481545978, 398874045, 229236937, 10640810, -212277752, -397698229,
571
+ -511479237, -528531362, -434593951, -233954657, 37412246, 309020636, 501737562, 567707704,
572
+ 505981042, 347060120, 130779245, -105437209, -327110126, -498178160, -579066996, -534569199,
573
+ -354547407, -76412564, 218709461, 446527778, 559352746, 550757231, 438073340, 248146800,
574
+ 13539617, -226324481, -425685822, -538542179, -531728252, -401244680, -179485862, 76856134,
575
+ 308552183, 467926413, 524490644, 469604178, 319296698, 110551732, -108651240, -291816831,
576
+ -405333862, -434599479, -381119208, -254743730, -72907788, 131210983, 307675298, 407931033,
577
+ 409039563, 322191929, 182039578, 28358945, -109037117, -215501745, -285000866, -309230587,
578
+ -276024782, -181861100, -45526142, 95095863, 202966842, 259217036, 264576323, 229631437,
579
+ 165254023, 80037901, -16261328, -109579312, -183384231, -224631377, -228639158, -197930772,
580
+ -136919493, -49949279, 54163758, 156762139, 231989152, 259471829, 236129287, 174560327,
581
+ 90199306, -8492044, -117210750, -225035384, -308280676, -336333124, -287037813, -162973042,
582
+ 3681235, 165984541, 286854747, 350709660, 354868749, 297201635, 176946470, 5737403,
583
+ -185979629, -354128181, -454213000, -456517791, -357020799, -177951035, 41764558, 257090597,
584
+ 422520492, 498795332, 465464276, 329984848, 124137778, -107869319, -320871447, -475911414,
585
+ -543091080, -502485345, -348261875, -100083936, 186026656, 428858340, 560242499, 556768438,
586
+ 437347657, 240772609, 7536011, -226131258, -425576004, -553433893, -571509281, -455026154,
587
+ -216732957, 80457161, 347897404, 517569846, 564952950, 498778874, 342967627, 127655659,
588
+ -111405401, -331922651, -487966773, -539469013, -467653682, -288011009, -47263358, 196010429,
589
+ 389730160, 496155070, 495909554, 392421874, 212362710, -1124771, -200150664, -344792888,
590
+ -412593619, -399748231, -313468733, -165749770, 21720613, 209686298, 348392253, 400492283,
591
+ 359483853, 248835545, 106595293, -32460082, -147949349, -232865242, -282597026, -286455239,
592
+ -233298493, -127026768, 5985944, 128520394, 212497897, 248866027, 242915901, 203890724,
593
+ 138891719, 54281064, -39777195, -128140914, -194843239, -229154849, -227901375, -192096975,
594
+ -123255291, -25526226, 87710217, 191289933, 257006478, 269031041, 230983706, 157610489,
595
+ 61481779, -50942550, -171517726, -281016476, -348932852, -344752403, -255362951, -98202618,
596
+ 82618947, 239074263, 341476530, 380370836, 353660743, 259695857, 104198738, -90167170,
597
+ -283539700, -428595488, -485203196, -434530201, -286082190, -73102134, 159003257, 361651682,
598
+ 489310781, 510230870, 418737757, 237323852, 7023585, -225265320, -416184810, -530758820,
599
+ -543855854, -442025026, -231319300, 49455127, 326653350, 519437058, 580573825, 511210305,
600
+ 344377676, 122292049, -115943212, -335426281, -501017204, -574938419, -524089815, -340418929,
601
+ -62887991, 227329454, 447659086, 552751450, 538176567, 422792938, 234400917, 5640102,
602
+ -225017318, -413709164, -517122881, -505259039, -376775546, -164522459, 77409348, 294314188,
603
+ 442878939, 495264183, 443229564, 301543755, 105361963, -99221871, -268029630, -370737746,
604
+ -396536779, -349455102, -238879849, -78468486, 104761859, 267258639, 364142362, 372152693,
605
+ 299654802, 178044141, 44014138, -76052276, -171457963, -239588318, -273576884, -259978729,
606
+ -191064727, -78925262, 45552064, 149543000, 214366502, 237934721, 226412641, 185518290,
607
+ 118786597, 32042594, -62686109, -148733589, -210672510, -239359703, -231630707, -186403541,
608
+ -103975368, 8457865, 130465061, 230937158, 282544851, 276311805, 221537573, 133018615,
609
+ 20959958, -106848596, -235456684, -337464560, -378749036, -333662378, -202406942, -18098207,
610
+ 167293195, 309709360, 387772066, 395897746, 332323945, 199250866, 12138721, -195388468,
611
+ -376891141, -485669730, -489754512, -383772491, -190947155, 46043962, 276869866, 451323177,
612
+ 528112615, 488044644, 341751859, 124308222, -117520754, -336823832, -493674559, -558059919,
613
+ -510812161, -347671524, -90664672, 201386082, 445281117, 572920757, 562650503, 435706612,
614
+ 233149655, -2716365, -234833932, -429074061, -549770843, -560994506, -440219391, -201902028,
615
+ 90733290, 350579055, 512109794, 552959031, 483355409, 328147420, 117707269, -112854525,
616
+ -322786756, -468533271, -513073490, -440686131, -268380581, -41369334, 185964934, 366387982,
617
+ 465725216, 465925492, 369625381, 201588694, 2874408, -180840221, -312545772, -373514817,
618
+ -363234678, -289786905, -162616808, 2073554, 171833925, 302268544, 357530783, 328995475,
619
+ 236554688, 114738155, -5167178, -106657508, -186421402, -241963580, -262186126, -232794754,
620
+ -151920955, -38843450, 74823665, 162860661, 214422367, 230732128, 215885770, 171622351,
621
+ 99834048, 8107306, -88780661, -173145823, -230625370, -252962402, -235742437, -175964565,
622
+ -75135394, 53209356, 180199643, 271130707, 303449278, 276270553, 202755350, 96493200,
623
+ -33042817, -173774255, -302710059, -385989748, -389787786, -298057377, -127481613, 74561036,
624
+ 253528367, 373125778, 419738567, 390436514, 285801302, 115402794, -94496815, -301472082,
625
+ -456199558, -516561736, -462146690, -302596481, -73929287, 173716299],
626
+
627
+ 270=>
628
+ [-464648266, -523905491, -473242289, -333635313, -142830382, 61867575, 249815872, 393707736,
629
+ 468111320, 455743392, 356428524, 190400084, -6820462, -195415811, -343017736, -430183582,
630
+ -447111871, -388832384, -257397896, -69940449, 137798626, 320890964, 441972393, 480932499,
631
+ 433304306, 306026147, 117238635, -102653002, -313770012, -473773943, -546887069, -513438113,
632
+ -376746072, -162367010, 90262445, 335800086, 525827577, 614167380, 572282586, 404895829,
633
+ 149838571, -136856291, -397837995, -585525860, -666780701, -623387230, -452636629, -173250532,
634
+ 164460292, 479221599, 686011977, 734451699, 623989172, 390730103, 86927502, -232443390,
635
+ -514621347, -709684928, -772559540, -672292009, -411083857, -42448323, 337138798, 629903489,
636
+ 775374961, 757113607, 590542800, 311744599, -28594791, -369486571, -645040818, -793440653,
637
+ -772024214, -576392670, -250455234, 126478225, 467583855, 700903881, 781715199, 699530172,
638
+ 477893479, 165947558, -173216224, -473348599, -675410877, -738478642, -648548434, -421689331,
639
+ -103028640, 237032872, 517264596, 673487112, 680876850, 553657325, 329806438, 56299453,
640
+ -218935587, -449968180, -594824156, -620705974, -514632544, -296000746, -19192686, 245118083,
641
+ 439849427, 537437038, 534866357, 441760043, 274337955, 57309160, -172379597, -367992182,
642
+ -485166030, -498966250, -414028525, -258575921, -67871092, 127088618, 299096558, 420700009,
643
+ 466807997, 424318407, 300187485, 121064999, -75165716, -251549675, -381277382, -448353614,
644
+ -442618325, -358422167, -201295400, 3818461, 214151802, 383832905, 479925261, 487346762,
645
+ 405345980, 245279881, 31694539, -198454998, -401254356, -534201458, -565747180, -484493897,
646
+ -303745672, -57370443, 209394487, 446048989, 600664770, 631414354, 524745948, 303766620,
647
+ 18676190, -270798252, -509641884, -655289809, -680193766, -572264745, -338187625, -12799092,
648
+ 333725592, 610485272, 744472029, 710762292, 530631310, 251302895, -71824825, -383839448,
649
+ -632424815, -768579885, -751851143, -565084492, -235972112, 155067029, 503328891, 726763727,
650
+ 788901119, 692010586, 463337705, 146744932, -201648771, -517702672, -736032973, -802065635,
651
+ -690413323, -421767479, -61551691, 303941923, 594742939, 753123403, 751982796, 598303469,
652
+ 328870689, 110090, -322955081, -577043520, -711521019, -698939618, -540958211, -268261627,
653
+ 62057048, 374105604, 594115457, 677276115, 619099490, 446317205, 201068886, -70366647,
654
+ -322509089, -512441958, -602790575, -569419460, -413465968, -170282286, 97695354, 326513162,
655
+ 474835746, 528429491, 490141422, 370484258, 186501274, -33707356, -249049673, -412766260,
656
+ -488144172, -463324966, -353570294, -189001246, -89006, 186572950, 344042921, 443314084,
657
+ 460614630, 388690163, 242143103, 52998065, -140375764, -304858226, -417744467, -463881972,
658
+ -431976100, -317835204, -133702814, 86177806, 293564280, 444167215, 510333702, 481701382,
659
+ 361949471, 168684527, -66012849, -299139366, -484267156, -580741687, -563549218, -431444242,
660
+ -208223024, 64332313, 335069317, 548448432, 652555682, 616433109, 445417046, 179300561,
661
+ -123534307, -402871694, -607566758, -700676602, -660960680, -484518077, -191468856, 163645807,
662
+ 493834340, 709905970, 760759971, 647348404, 407569420, 95164890, -233412897, -523733682,
663
+ -724180204, -788343355, -684836127, -417010034, -41279808, 342761643, 636261613, 780035559,
664
+ 759700291, 592044562, 313405865, -25979639, -365579796, -639604125, -786194768, -763201450,
665
+ -567748788, -245508367, 124016909, 456257895, 682853425, 761942273, 683723243, 470383035,
666
+ 168837166, -159879697, -451107325, -647238734, -709103163, -624577651, -410471548, -109937797,
667
+ 211667737, 479276031, 632688887, 647268367, 534731468, 329570506, 75146141, -184104064,
668
+ -405400620, -549298158, -584532749, -497813473, -305049275, -53732425, 193111506, 383130188,
669
+ 489276133, 505900215, 438063825, 296431006, 100308113, -117481856, -312641359, -441616943,
670
+ -478099145, -422242823, -295216647, -125015466, 62556855, 242236438, 384694538, 459392379,
671
+ 446021657, 345069084, 178830686, -16939284, -205335923, -357284345, -452288339, -474337676,
672
+ -411659215, -264297781, -53939237, 175669984, 373136727, 497841354, 527836463, 457995869,
673
+ 298193051, 73955427, -175138912, -401540507, -558326099, -608905133, -536958430, -352747966,
674
+ -90772080, 199189501, 459788198, 632635869, 672287845, 565047845, 335818050, 37018756,
675
+ -269167313, -524674091, -683399554, -714595520, -604411483, -360037958, -19409927, 342265483,
676
+ 629497362, 767601831, 732714626, 547911918, 261842438, -68932584, -388224239, -642278050,
677
+ -780785964, -762604088, -571131676, -236217356, 158824008, 507730072, 729260842, 789008423,
678
+ 690944385, 462874239, 148227115, -197632083, -511028598, -726697997, -790399727, -678025519,
679
+ -412245672, -59452733, 295675963, 576881236, 730218083, 730481629, 584058830, 325536380,
680
+ 8825738, -303151287, -548825881, -679343977, -669291142, -521767608, -266633644, 43187993,
681
+ 338299348, 550533551, 637003419, 591524794, 437352519, 212693840, -40056831, -278985966,
682
+ -464074701, -559845016, -542540477, -411080318, -195117443, 50747891, 268911956, 420341707,
683
+ 489331622, 474824048, 381975838, 222043703, 18233219, -191515734, -361829935, -455532398,
684
+ -457657172, -377452749, -237704225, -62672019, 124577315, 297129653, 422175131, 469234820,
685
+ 423830042, 295050367, 111855629, -88216385, -270698753, -409290094, -483546870, -476195221,
686
+ -377266736, -194570827, 38754533, 270838996, 450240888, 541720810, 529410206, 414473859,
687
+ 214784135, -35411973, -289882321, -498277023, -615392192, -611383401, -481140502, -247477621,
688
+ 44859020, 338737654, 572003874, 688145564, 654978647, 479135179, 202446829, -114617923,
689
+ -409404281, -627753873, -729577619, -691329297, -508624341, -203470437, 165548448, 506838713,
690
+ 728597852, 780010762, 663687721, 418985343, 100637209, -233982778, -529332415, -732597688,
691
+ -796501749, -689732320, -417206437, -38017627, 346249613, 637092370, 777452557, 755108064,
692
+ 587897912, 311936298, -23499845, -358836093, -628852803, -772136134, -747572774, -554183139,
693
+ -239138352, 118946116, 439114538, 657510474, 735291795, 662974096, 460805477, 172870063,
694
+ -142475134, -422774253, -612412412, -674286813, -597998974, -400336118, -121298450, 179882528,
695
+ 434760971, 586868539, 611145235, 516175176, 332403664, 99043411, -143420545, -355601420,
696
+ -500444070, -547673197, -482861900, -317636668, -92246269, 137779960, 324422371, 440797536,
697
+ 478316542, 437173316, 322139697, 146850688, -60023611, -256356379, -398892566, -459353190,
698
+ -433031917, -334060952, -183419023, -1978896, 186727388, 351235877, 455232416, 470871440,
699
+ 392023057, 236862549, 39521168, -162514993, -337382474, -459885358, -508318945, -465131858,
700
+ -325329370, -107844329, 142062846, 367053772, 518753374, 568775558, 508439317, 346966757,
701
+ 111397768, -155940811, -404064307, -582067510, -648909478, -584028965, -395245608, -118115900,
702
+ 192926444, 474165842, 661789624, 707873586, 599193839, 362438622, 51914174, -268196234,
703
+ -537320958, -706421803, -742109486, -629206349, -375704744, -22644838, 350365577, 644448733,
704
+ 784354893, 747681248, 559137062, 268408553, -67221001, -390763691, -647535700, -786443327,
705
+ -766190568, -571197446, -233551291, 161278013, 506906379, 724162136, 781163519, 683350442,
706
+ 458555550, 149186324, -190729921, -498597823, -709924760, -771450008, -660688538, -401900015,
707
+ -61159342, 280059850, 550262648, 699404917, 703579705, 567759919, 323626933, 22024576,
708
+ -276737521, -513304960, -640968017, -636258902, -502977724, -268959258, 18120361, 295814454,
709
+ 501382587, 593306885, 563107450, 430049174, 228006967, -4878355, -230573832, -412065773,
710
+ -515519858, -516930480, -412196741, -224679570, -979817, 207532234, 363864942, 450461539,
711
+ 461848836, 397296393, 261853663, 73665428, -132306677, -311620058, -425962074, -456558692,
712
+ -406237721, -290468835, -127551875, 62608729, 252630019, 405226307, 482575233, 462768672,
713
+ 349740640, 170077252, -38790366, -240435912, -404635801, -505726186, -520871466, -434880626,
714
+ -251678379, -3737362, 253068853, 459961586, 574412660, 575804863, 463659033, 256678638,
715
+ -8585894, -282866486, -512283857, -647603018, -654698570, -525047496, -280754633, 30338783,
716
+ 345191611, 595507834, 720992909, 689046146, 507938677, 221456317, -108125725, -416061021,
717
+ -645581926, -753919105, -715720303, -526580698, -210693287, 169432779, 518374379, 742893270,
718
+ 793343726, 674207333, 426044960, 104172380, -233568246, -531027728, -734792980, -797387995,
719
+ -688168881, -413770032, -35283218, 345192176, 630900827, 767463378, 744560593, 580448761,
720
+ 310352286, -17982173, -346430595, -610829177, -750713412, -726368879, -538492045, -234709490,
721
+ 108689362, 415320012, 625920028, 704194061, 640303364, 451963368, 179978200, -120307389,
722
+ -388955940, -572640409, -636439679, -571314894, -393151520, -137824190, 142124333, 384896959,
723
+ 537452613, 573833783, 498960043, 338714886, 127720772, -97841430, -302135996, -450345019,
724
+ -512634833, -472569501, -336616899, -137313635, 77227319, 262915723, 392467028, 453665520,
725
+ 441100721, 353092354, 197489182, -817250, -201209693, -359959360, -446034318, -449357929,
726
+ -377066859, -243654014, -65708159, 134382405, 322504422, 456076766, 499519432, 440447686,
727
+ 293657294, 92452907, -124485399, -322196023, -470853263, -543457592, -517252000, -382775757,
728
+ -156653218, 114042553, 365802191, 542512564, 609817502, 556254682, 391168682, 143527947,
729
+ -141565131, -409905202, -606909053, -687465006, -627252351, -432234981, -139574851, 191339923,
730
+ 490585801, 689689700, 739347778, 627642832, 383290078, 62293515, -269500860, -549392058,
731
+ -725870621, -763542977, -646702037, -384810850, -22099047, 358220210, 655351858, 794732228,
732
+ 755842758, 564780765, 271771697, -65718318, -390426721, -647250395, -784840598, -762303458,
733
+ -565487015, -228494116, 162180138, 501493711, 713147705, 767737321, 671737268, 452487359,
734
+ 150881459, -180816034, -481433429, -687565421, -747245600, -639803681, -390788690, -65058179,
735
+ 260102185, 518469102, 663897338, 673511765, 550458593, 323046453, 38590890, -245614579,
736
+ -472793083, -598628523, -601557091, -485508773, -275356117, -12668889, 247463919, 447621809,
737
+ 547243645, 534993106, 425538269, 247829741, 35298363, -178073014, -358061512, -471896594,
738
+ -494494256, -417922833, -258823060, -55951286, 144982938, 308448825, 414559335, 453029897,
739
+ 416883626, 304832005, 130245520, -74297541, -264603497, -400606641, -459374311, -437436715,
740
+ -343479714, -190486018, 4313278, 212769681, 392941346, 499559359, 503415552, 403743681,
741
+ 225359780, 6172741, -215053341, -404098048, -530305763, -565668955, -490246041, -304587479,
742
+ -41019704, 240187651, 472847085, 607533105, 619659615, 507979332, 292649580, 12696229,
743
+ -279751678, -527628460, -678084895, -693280922, -562063615, -306681910, 21461426, 353742263,
744
+ 616848159, 748159274, 715654214, 529444719, 234932426, -104309950, -421979461, -659258119,
745
+ -771319662, -731707288, -536643972, -212748458, 174180686, 526396003, 750750605, 799347972,
746
+ 678268248, 428748407, 106155295, -231708421, -528571090, -730854146, -791297652, -680352377,
747
+ -406582026, -32555788, 340409135, 618539466, 750600091, 728014225, 569062983, 307592962,
748
+ -10706901, -329687234, -586717981, -722747664, -699861956, -520476414, -231909284, 93188675,
749
+ 384124062, 586690407, 666950417, 614166585, 442856321, 189890685, -92992283, -348887488,
750
+ -527108040, -594903943, -544048357, -388528281, -159110179, 98913054, 330389539, 485246052,
751
+ 536063491, 483568870, 348630529, 160867536, -48107353, -245953144, -399646885, -479100641,
752
+ -465182340, -358819456, -184914398, 15454763, 201724710, 345922042, 431967521, 448590698,
753
+ 387415575, 250470191, 59129356, -147059473, -323394998, -435689395, -468364418, -421752414,
754
+ -304163005, -128186657, 84653063, 297241232, 460375411, 530595160, 489500350, 349047692,
755
+ 142322232, -90293853, -310490163, -483905302, -578596843, -567044946, -435834362, -199877333,
756
+ 91368116, 368056590, 566798072, 648201239, 599035592, 429409486, 170357781, -130500965,
757
+ -416209914, -629071414, -720519957, -663121097, -461573148, -154974672, 192548740, 505799070,
758
+ 712978089, 764431495, 649756077, 399314102, 70296871, -270277806, -558090062, -739689586,
759
+ -778170869, -657677945, -389341991, -20367255, 363360963, 660480209, 797991620, 757292038,
760
+ 565458463, 272800433, -63494747, -386400653, -640946093, -776070926, -751785341, -555647633,
761
+ -223447094, 158569160, 488272514, 693136599, 746227805, 654521834, 444195401, 153970295,
762
+ -166278500, -457405108, -657660163, -716809704, -615962600, -381091021, -74342658, 232449094,
763
+ 478829357, 622276778, 640190666, 533104680, 325326487, 60175152, -208483227, -426769623,
764
+ -552805603, -566444040, -470784629, -286744215, -49235246, 194013313, 390529833, 500185952,
765
+ 508277892, 424424467, 272281864, 80279827, -121753511, -302191416, -428840387, -474896680,
766
+ -427996818, -297749727, -115089561, 79766971, 252468830, 380344749, 447677890, 440683799,
767
+ 351502407, 188933756, -16326754, -219732056, -378862727, -466200709, -471913544, -398168667,
768
+ -252995166, -51389744, 177164928, 385417266, 520304851, 545610246, 456653524, 277333810,
769
+ 46653227, -193989479, -406453620, -555487616, -608465472, -541257094, -351557235, -71986479,
770
+ 232528933, 488534528, 640405886, 660591470, 547875128, 324115019, 30622925, -278009991,
771
+ -541978655, -705294858, -726872854, -593325491, -327308286, 16141800, 363103220, 636014258,
772
+ 770908628, 736957621, 546130428, 245141717, -101501087, -426316012, -668878680, -782819030,
773
+ -741100993, -541019319, -211732156, 178210072, 529993100, 751815475, 798064967, 676234154,
774
+ 427739837, 107474857, -227319220, -520806580, -719855022, -778024148, -667243349, -397771577,
775
+ -32527081, 329552903, 598705439, 726925160, 706828071, 555953623, 306113718, 425428,
776
+ -307346307, -556489467, -689681892, -670821093, -503404833, -233257335, 71676692, 346778987,
777
+ 542654696, 627171706, 588081209, 436191651, 204048484, -60510490, -303848429, -478034456,
778
+ -552319327, -518672744, -388342369, -186286226, 49720224, 271056294, 430320831, 498152809,
779
+ 470478630, 362550404, 198549490, 5366161, -187970668, -349745769, -448916703, -462899243,
780
+ -386556707, -237104661, -48918503, 140504458, 301919613, 414692881, 461040070, 425633995,
781
+ 305018437, 117807110, -96709364, -292182828, -430817919, -491494965, -468160683, -363604558,
782
+ -187053274, 40313735, 277924697, 469653990, 564314466, 538213196, 401405259, 187480528,
783
+ -61155978, -302897846, -499178716, -613570349, -614306026, -484511966, -237795096, 73725933,
784
+ 373767967, 591954588, 684609013, 637612665, 462417567, 192230585, -123028168, -423971579,
785
+ -650126234, -749892193, -693284196, -484393605, -164768159, 196721386, 520293329, 732037775,
786
+ 783044888, 664893526, 409445986, 74657147, -271740587, -564266032, -748072362, -785439423,
787
+ -661107017, -388296552, -16790716, 366138911, 660104298, 794517245, 752648101, 562029431,
788
+ 272429932, -59789961, -378320613, -628769538, -760801901, -735692730, -542751717, -218794602,
789
+ 151423706, 469744490, 667692511, 720498556, 635141386, 436136065, 159593737, -147380716,
790
+ -427983589, -622390078, -682269729, -590407420, -372587427, -87358560, 199614166, 433868624,
791
+ 576380086, 604531394, 515790013, 329917303, 85722441, -166734050, -376681321, -504638890,
792
+ -531462282, -458661335, -302407240, -90500101, 136682258, 331316721, 453290081, 483972356,
793
+ 427335792, 301235898, 128894315, -63808702, -247258840, -389056598, -459919812, -442602168,
794
+ -339754382, -175036486, 16146286, 200092692, 350969655, 447333928, 468424878, 399993035,
795
+ 246875226, 38642520, -179184626, -361492613, -476204658, -507536049, -451717783, -312389937,
796
+ -102710842, 146259356, 381829667, 543186197, 587483857, 506804766, 324809009, 82023783,
797
+ -177413395, -411628141, -581133872, -649108875, -587758570, -392533967, -96944766, 229130383,
798
+ 505301295, 670668438, 695825858, 580405028, 348261827, 42812532, -279312745, -556052413,
799
+ -728794565, -753872374, -616523625, -340581177, 15157298, 372357229, 650763114, 786467954,
800
+ 750405692, 556186840, 251251189, -99585964, -428235654, -673203611, -787138432, -743017255,
801
+ -539617327, -208470984, 180166183, 527964798, 745558048, 789723068, 668879453, 424042327,
802
+ 109103211, -219749325, -507584457, -702136366, -758152607, -649286951, -387354429, -34758035,
803
+ 313199301, 571693282, 696128880, 680033204, 539773043, 304586513, 14421410, -279918140,
804
+ -520107199, -650883597, -638053944, -485802574, -237489196, 44743022, 303023313, 492853328,
805
+ 583587808, 560927388, 431285206, 222231371, -22829144, -253847936, -425660582, -509075483,
806
+ -495404135, -392227334, -218159422, -3458954, 209410756, 375219316, 462188257, 461014014,
807
+ 380969509, 240542042, 61891051, -128912399, -300818147, -421161264, -463502239, -416666181,
808
+ -290531783, -113165201, 80704180, 260368697, 400441695, 476403000, 465853063, 360038104,
809
+ 175281582, -48855020, -263975883, -428532099, -516011767, -514312425, -421052834, -242447428,
810
+ 292446, 262748842, 481668839, 598406254, 584682812, 449428978, 227288839, -37056421,
811
+ -298780293, -515468399, -646716211, -657060001, -526780758, -268852185, 61487430, 381742997,
812
+ 615577461, 716293476, 669787314, 489130632, 209478648, -117454386, -430453429, -666886813,
813
+ -772708584, -715961955, -500603372, -170706456, 200752910, 530708576, 744446846, 794409697,
814
+ 673948361, 415853865, 78277458, -270838712, -565349859, -749522713, -785308908, -658383811,
815
+ -384054881, -14116817, 364013437, 652216156, 782905194, 740996603, 553954677, 270504636,
816
+ -54328647, -365526010, -609885730, -738357314, -713856183, -527392387, -216027116, 138423270,
817
+ 443089596, 634017232, 688279549, 612215490, 427989975, 168403625, -122853409, -391861233,
818
+ -581095153, -644200930, -565106115, -368206220, -107132246, 159304330, 382572532, 526607023,
819
+ 568055377, 500628330, 338988593, 117047198, -119215294, -322228407, -454656349, -497635302,
820
+ -450146921, -322972171, -136690978, 75449545, 269957517, 406344182, 461609328, 433630963,
821
+ 334111569, 180884924, -3999795, -192506014, -351423048, -448436062, -461111534, -385148228,
822
+ -237120811, -47843003, 149312315, 324859499, 451009943, 499621508, 450184413]}
823
+ end
824
+ end
825
+